On Apr 11, 2007 18:47 +0530, Kalpak Shah wrote:
> This patch adds 64-bit inode version support to ext4. The lower 32 bits
> are stored in the osd1.linux1.l_i_version field while the high 32 bits
> are stored in the i_version_hi field newly created in the ext4_inode.
Note that this is NOT a duplicate of the Bull "change attribute" patches,
rather this implements only the on-disk storage of the 64-bit version
number, and the ability to resize i_extra_isize to allow inodes in the
filesystem which weren't created with a big enough i_extra_isize to add
new fields. That would basically be needed by all ext4 filesystems that
did not yet have the nanosecond timestamp patches applied when they were
created.
> + if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi))
> + ei->i_fs_version |=
> (__u64)(le32_to_cpu(raw_inode->i_version_hi))
> + << 32;
Minor nit - can the wrapping here be fixed when it is added to the git tree:
ei->i_fs_version |=
(__u64)le32_to_cpu(raw_inode->i_version_hi)<<32;
> + if (EXT4_FITS_IN_INODE(raw_inode, ei, i_version_hi)) {
> + raw_inode->i_version_hi = cpu_to_le32(ei->i_fs_version
> + >> 32);
And here:
raw_inode->i_version_hi =
cpu_to_le32(ei->i_fs_version >> 32);
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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html