lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 28 Aug 2009 11:19:46 +0530
From:	pravin shelar <Pravin.Shelar@....COM>
To:	Andreas Dilger <adilger@....COM>
Cc:	"Theodore Ts'o" <tytso@....edu>, linux-ext4@...r.kernel.org
Subject: Re: [RFC] new INCOMPAT flag for extended directory data

Hi
Here is code for ext4 extended dirent data feature.

these RFC patches adds facility in ext4 to have user data in every ext4 dirent.
lustre assigns cluserwide unique id to every inode in system, so we have added 
user data field in ext4 dirent to map filename to id efficiently.

i would like to get feedback on this as it might have some conflict with 64 bit 
inode work (which is in discussion phase).

patch[1] removes dx_root struct so that "." and ".." dirent can have extra data.
patch[2] add user data field to ext4 dirent.
patch[3] e2fs package changes for dirdata feature.

Thanks,
Pravin.

Andreas Dilger wrote:
> On May 05, 2009  14:25 -0600, Andreas Dilger wrote:
>> we're looking to store some extended data in each directory entry
>> for Lustre, to hold a 128-bit filesystem-unique file identifier
>> in the dirent.  If we ever wanted to look at 64-bit or larger
>> inode numbers we would need to do the same.
>>
>> In order to detect the presence of this extra data in the dirent, we
>> would want to use the high bits in d_type (say bits 0xf0).  This part
>> of d_type could be a flag for the presence of 4 different types of
>> data (which limits the number of different kinds of data).  The d_type
>> would mask off the high bits in get_dtype() so as not to confuse filldir.
> 
> Ted,
> could we at least reserve the INCOMPAT_DIRDATA flag to avoid conflicts:
> 
> #define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000
> 
> reserve the high 4 bits of d_type:
> 
> #define EXT4_DIRENT_LUFID 0x10	/* Lustre 128-bit unique file identifier */
> 
> 0x20, 0x40, and 0x80 would be available for future expansion (e.g. high
> 32 bits of inode number).  If needed, type 0x80 can be extended by adding
> a 1-byte subtype after the length byte, though I doubt this would be needed.
> 
> Cheers, Andreas
> --
> Andreas Dilger
> Sr. Staff Engineer, Lustre Group
> Sun Microsystems of Canada, Inc.
> 


View attachment "ext4-kill-dx_root.patch" of type "text/x-diff" (7582 bytes)

Powered by blists - more mailing lists