Bug 662666 - Cannot find the extended attribute of #11 inode after remount
Summary: Cannot find the extended attribute of #11 inode after remount
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.0
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Eric Sandeen
QA Contact: Petr Beňas
URL:
Whiteboard:
Depends On:
Blocks: GSS_6_2_PROPOSED 712413
TreeView+ depends on / blocked
 
Reported: 2010-12-13 14:53 UTC by Debbie Johnson
Modified: 2018-11-14 16:13 UTC (History)
10 users (show)

Fixed In Version: kernel-2.6.32-157.el6
Doc Type: Bug Fix
Doc Text:
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.
Clone Of:
Environment:
Last Closed: 2011-12-06 12:36:04 UTC
Target Upstream Version:


Attachments (Terms of Use)
patch for RHEL 6 (880 bytes, patch)
2010-12-13 14:53 UTC, Debbie Johnson
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:1530 normal SHIPPED_LIVE Moderate: Red Hat Enterprise Linux 6 kernel security, bug fix and enhancement update 2011-12-06 01:45:35 UTC

Description Debbie Johnson 2010-12-13 14:53:35 UTC
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.

Condition:
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.

Comment 1 Ondrej Vasik 2010-12-13 15:14:37 UTC
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.

Comment 12 Aristeu Rozanski 2011-06-14 14:59:15 UTC
Patch(es) available on kernel-2.6.32-157.el6

Comment 16 Martin Prpič 2011-07-12 11:34:35 UTC
    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.
    
    New Contents:
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.

Comment 18 Petr Beňas 2011-07-25 07:09:42 UTC
Repdoruced in 2.6.32-156.el6 and verified in 2.6.32-157.el6.

Comment 19 errata-xmlrpc 2011-12-06 12:36:04 UTC
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.

http://rhn.redhat.com/errata/RHSA-2011-1530.html


Note You need to log in before you can comment on or make changes to this bug.