Skip to contentSkip to conversation

ext4_inode difference between e2fsprogs and ext4

DISCUSSION Aneesh Kumar K.V 2 participants 2 messages Oct 11, 2007

lore
Share & tools
lore
#0 lore raw

in e2fsprogs we have

union { 
               struct {
                       __u16   l_i_blocks_hi;
                       __u16   i_pad1;
                       __u16   l_i_uid_high;   /* these 2 fields    */
                       __u16   l_i_gid_high;   /* were reserved2[0] */
                       __u32   l_i_reserved2;
               } linux2;

In ext4 we have

 union { 
               struct {
                       __le16  l_i_reserved1;  /* Obsoleted fragment number/size which are removed in ext4 */
                       __le16  l_i_file_acl_high;
                       __le16  l_i_uid_high;   /* these 2 fields */
                       __le16  l_i_gid_high;   /* were reserved2[0] */
                       __u32   l_i_reserved2;
               } linux2;

Last week we were discussing about taking that l_i_reserved1 and using that for making file_acl 64 bit and using the lower l_i_reserved2 for 64 bit dir_acl.

Now where will i put l_i_blocks_hi ?

-aneesh

#1 lore raw
Quoted 13 lines · Aneesh Kumar K.V

In ext4 we have

 union { 
               struct {
                       __le16  l_i_reserved1;  /* Obsoleted fragment 
                       number/size which are removed in ext4 */
                       __le16  l_i_file_acl_high;
                       __le16  l_i_uid_high;   /* these 2 fields */
                       __le16  l_i_gid_high;   /* were reserved2[0] */
                       __u32   l_i_reserved2;
               } linux2;
Quoted 2 lines

Last week we were discussing about taking that l_i_reserved1 and using that for making file_acl 64 bit and using the lower l_i_reserved2 for 64 bit dir_acl.

We have l_i_file_acl_high already to give us 48-bit i_file_acl, which is sufficient, IMHO. There is no need to have a larger i_dir_acl since this field is only really used for i_size_high and should be renamed as such instead of just being a macro.

Quoted 1 line

Now where will i put l_i_blocks_hi ?

Just where it is now - in l_i_reserved1...

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