On May 4, 2018, at 1:09 AM, c17828 <artem.blagodarenko@xxxxxxxxx> wrote: > > From: Artem Blagodarenko <artem.blagodarenko@xxxxxxxxx> > > 64-bit inodes counter uses extra fields to store hight part. > Let's incapsulate inode number reading and writing to extend > counter in next commits. > > Lustre-bug: https://jira.hpdd.intel.com/browse/LU-9309 > Signed-off-by: Artem Blagodarenko <artem.blagodarenko@xxxxxxxxx> > --- So this patch appears fine by itself, but I don't see in the 6/7 patch where all of the interfaces in lib/ext2fs/ext2fs.h that use ext2fs_ino_t are updated to add a new "version 2" interface that takes ext2fs_ino64_t instead? This would otherwise break ABI compatibility, and likely also apps that are using the old interfaces with a 32-bit inode number. It seems to me that you have fixed the places where there can be a 64-bit *count* of inodes, but you haven't fixed all of the places that have a 64-bit inode *number* (i.e. passed as a parameter to a function). I think one good option would be to introduce a new "ext2fs_ino32_t" and *not* add "ext2fs_ino64_t". Then change the ext2fs_ino_t to be 64-bit and make the old interfaces use ext2fs_ino32_t. That way newly compiled applications using libext2fs will use the new 64-bit interfaces and the old ones would just need the old interfaces for compatibility. I'm not sure what Ted thinks about that, however. I believe there is also a "library ABI checker" tool somewhere in the build system, but I don't know how to activate it. Cheers, Andreas
Attachment:
signature.asc
Description: Message signed with OpenPGP