Created attachment 468399 [details]
patch for RHEL 6
Description of problem:
In ext3 filesystem, if following conditions 1., 2., 3. and 4. are satisfied,
we cannot find the extended attribute (EA) after remount.
1. the inode size is over 128 bytes
2. "lost+found" whose inode number is 11 was removed
3. the #11 inode is created as a file.
4. the EA of #11 inode locates in-inode
This happens because of the following logic:
i_extra_isize (member of ext3_inode structure) is set to over 0 by ext3_new_inode()
when we create a file whose inode number is 11 after removing "lost+found".
Therefore setfattr creates the EA of #11 inode in-inode.
After remount, i_extra_isize of #11 inode is set to 0 by ext3_iget()
when we lookup the file, so getfattr tries to search the EA only out-inode.
However, the EA locates in-inode, so getfattr can't find the EA.
This problem is fixed in the upstream kernel. The patch is http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=beb37b85b0b727e68e16a39a1e5a2140f87fa201.
Patch for RHEL6.0 is attached.
Filesystem is just package with basic directory layout. It has nothing to do with filesystem. It's not the first time you have reported such issue against filesystem package (you did so in the case of https://bugzilla.redhat.com/show_bug.cgi?id=643390 and https://bugzilla.redhat.com/show_bug.cgi?id=645824 ) , please, try to remember that such issues should be reported against kernel package.
Patch(es) available on kernel-2.6.32-157.el6
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Deleting the lost+found directory on a file system with inodes of size greater than 128 bytes and reusing inode 11 for a different file caused the extended attributes for inode 11 (which were set before a umount operation) to not be saved after a file system remount. As a result, the extended attributes were lost after the remount. With this update, inodes store their extended attributes under all circumstances.
Repdoruced in 2.6.32-156.el6 and verified in 2.6.32-157.el6.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.