chattr +T not implemented?

Andreas Dilger adilger at
Mon Jul 10 18:37:02 UTC 2006

On Jul 10, 2006  12:29 +0200, Herta Van den Eynde wrote:
> We run a third party application that creates an inordinate amount of 
> subdirectories in a single directory.  To speed up I/O, I wanted to set 
> the T attribute on the directory that will hold the subdirectories.  The 
> "chattr +T /usr/local/lepus-bb/a-0607" command returns status 0, but 
> when I verify the setting, the attribute isn't there:
>   # lsattr -d /usr/local/lepus-bb/a-0607
>   ------------- /usr/local/lepus-bb/a-0607
> Is this attribute implemented?  The manual pages entry for chattr 
> suggests it is, but when I check the chattr usage, "T" isn't listed:
>   #chattr -v
>   usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...

man chattr(1) reports:
	A  directory  with  the  ’T’ attribute will be deemed to be the top of
	directory hierarchies for the purposes of the  Orlov  block allocator
	(which is used in on systems with Linux 2.5.46 or later).`

You can also check with "debugfs -c -R 'stat lepus-bb/a-0607' /dev/XXXX"
(assuming /usr/local/ is the mountpoint).  It may be that the kernel is
not allowing the T attribute in the EXT3_FL_USER_VISIBLE mask, though it
does show correctly in my kernel.

#define EXT3_TOPDIR_FL                  0x00020000 /* Top of directory hierarchies*/
#define EXT3_FL_USER_VISIBLE            0x0003DFFF /* User visible flags */

Cheers, Andreas
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

More information about the Ext3-users mailing list