New: chattr sticky behaviour and Orlov block allocator
Quoted 70 lines · On Fri, 1 Feb 2008 07:25:09 -0800 (PST) [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=9866
Summary: chattr sticky behaviour and Orlov block allocator
Product: File System
Version: 2.5
KernelVersion: 2.6.22
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: ext3
AssignedTo: [email protected]
ReportedBy: [email protected]Latest working kernel version: 2.6.22
Earliest failing kernel version: 2.6.18 (oldest tested)
Distribution: Ubuntu Gutsy
Hardware Environment: Fujitsu Siemens C1110 laptop
Software Environment: chattr 1.40.2 (12-Jul-2007), mke2fs 1.40.2 (12-Jul-2007) Problem Description:
Some file attributes have sticky behaviour in ext2/3 whereas I believe it should not. Namely, a directory marked with chattr +T serves "to be the top of directory hierarchies for the purposes of the Orlov block allocator", as the manpage says.It seems wrong that subdirectories stickily inherit the +T flag: they are obviously not top-level! Even files get the T attribute this way, even though the chattr manpages only documents it for directories.
References:
http://lwn.net/Articles/14633/
http://lwn.net/Articles/14447/ Theodore Ts'o ext3 patch
http://en.wikipedia.org/wiki/Orlov_block_allocatorSteps to reproduce:
The following shows the sticky behaviour:$ mkdir tests chattr -V +T tests chattr 1.40.2 (12-Jul-2007) Flags von tests wie folgt gesetzt: ----------------T- $ mkdir tests/src $ cp -dp /etc/fstab tests/src $ lsattr . tests tests/src ----------------T- ./tests ----------------T- tests/src ----------------T- tests/src/fstabI verified (using cp -dpr and ls -lifR) that indeed, the inherited T attribute causes all subdirectories to be created in inodes far apart (like with mount -o remount,oldalloc), whereas the Orlov allocator normally would put the directories next to each other. My expectation is that only e.g.
/home/user{1,2,3,4,5,6}should be created spread out, whereas each user home's contents would be next each other (/home/user1/{foo,bar,etc}).The effect of this bug makes chattr +T unusable, because Orlov optimization is de facto eliminated.
Regards,
Jörg HöhleSignature · 3 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.