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

Reply via email to