Page MenuHomeFreeBSD

ext2fs: add support for e2di_uid_high and e2di_gid_high.
ClosedPublic

Authored by pfg on Jun 25 2017, 4:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Apr 3 2024, 1:11 AM
Unknown Object (File)
Jan 27 2024, 4:21 AM
Unknown Object (File)
Dec 20 2023, 5:15 AM
Unknown Object (File)
Dec 5 2023, 6:45 PM
Unknown Object (File)
Nov 24 2023, 9:17 AM
Unknown Object (File)
Nov 11 2023, 4:07 AM
Unknown Object (File)
Nov 10 2023, 5:06 AM
Unknown Object (File)
Oct 10 2023, 3:10 AM
Subscribers

Details

Summary

It is unclear to me exactly when they were introudced: it appears the are
part of ext3 but only officially available when a bigger inode is
supported ... basically when the extended timestamps are there.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10123
Build 10546: arc lint + arc unit

Event Timeline

Fix the shifts.
Move the extended inode changes to one unique if block.
Support both RW on ext3.

Update (again) the shifts: e2di_uid and e2di_gid are just uint16_t.

As, I learned linux sources you can use uid/gid high without E2DI_HAS_XTIME(ip) check, because it depends only from mount option on linux side, not from inode size.
So, seems like

ip->i_uid |= (uint32_t)ei->e2di_uid_high << 16;
ip->i_gid |= (uint32_t)ei->e2di_gid_high << 16;

could be moved out from if (E2DI_HAS_XTIME(ip)).

Applying feedback from Fedor.

This revision is now accepted and ready to land.Jun 27 2017, 6:08 AM
This revision was automatically updated to reflect the committed changes.