On Mon, 2007-05-14 at 14:31 -0600, Andreas Dilger wrote: > On May 14, 2007 14:21 -0600, Andreas Dilger wrote: > > On May 14, 2007 13:05 +0200, Cordenner jean noel wrote: > > > @@ -331,12 +331,13 @@ > > > } osd2; /* OS dependent 2 */ > > > __le16 i_extra_isize; > > > __le16 i_pad1; > > > + __le32 i_disk_version_hi; > > > > No, this is not correct. There are already several other fields here > > (nanosecond ctime, mtime, atime, crtime (creation time)) so you need > > to use the correct reserved field for this. > > > > __u16 i_extra_isize; > > __u16 i_pad1; > > __u32 i_ctime_extra; /* extra Change time (nsec << 2 | epoch) */ > > __u32 i_mtime_extra; /* extra Modification time (nsec << 2 | epoch)*/ > > __u32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */ > > __u32 i_crtime; /* File creation time */ > > __u32 i_crtime_extra; /* extra File creation time (nsec << 2 |epoch)*/ > > Sorry, I meant to add (before hitting send :-) that the field after > i_crtime_extra is supposed to be "i_disk_version_hi". > > See the patch from Kalpak Shah "[RFC] 64-bit inode version" which also handles > the case for expanding i_extra_isize to cover the needed extra fields if > i_extra_isize is not large enough. That patch didn't include the 64-bit > i_version_hi yet, because there wasn't yet agreement at that time if > the iversion_hi should be allocated separately, but that was since decided. > Kalpak already sent a patch [PATCH] Add i_version_hi for 64-bit version, which added i_version_hi after i_crtime. His patch has in ext4 git tree for a while. ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/2.6.21- ext4-1 Regards, Mingming > Without that patch, your patch will possibly corrupt the extended attributes > by just overwriting i_disk_version_hi while ignoring the actual value of > i_extra_isize. This would clobber the EA magic and result in loss of all > EAs in that inode. > > Cheers, Andreas > -- > Andreas Dilger > Principal Software Engineer > Cluster File Systems, Inc. > > - > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html