Messages in this thread | | | Date | Mon, 11 Mar 2013 17:35:20 -0400 | From | Theodore Ts'o <> | Subject | Re: ext4 change in v3.3-rc2 broke user space |
| |
On Mon, Mar 11, 2013 at 02:03:51PM -0700, Bryan Whitehead wrote: > > The change is about a year old now but it is finally making its way > into distribution binaries. As a user it sucks because "ext4" the > "stable" fs basically breaks. Fortunately for myself I've used xfs as > suggested by GlusterFS (older versions stated ext4/ext3 was fine). > However, there are many installs (particularly older installs) that > used ext4 and are finding they must now run outdated old kernels until > they can completely reinstall their gluster cluster with non-ext4 > underlying filesystems.
GlusterFS is doing something fundamentally buggy; it is assuming that high bits of the value returned "telldir" are zero. This is inherently non-portable. This change was used to avoid hash collision causing problems for applications using telldir/seekdir() on very large file systems.
So the question was whether it was important to fix a bug for well behaved, non-buggy applications, or to not fix this bug to accomodate a buggy application (namely, Gluster).
There were some questions going back and forth about whether Gluster could work around this non-potable, buggy use of telldir()/seekdir(), and that's why nothing had been done for a while.
What we'll probably do to accomodate Gluster is to create a new ext4-specifical ioctl(), which allows the process to get the old telldir cookie format (i.e., EXT4_IOC_IM_A_BUGGY_APPLICATION :-).
- Ted
| |