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)
Jan 3 2025, 6:46 AM
Unknown Object (File)
Dec 26 2024, 4:21 PM
Unknown Object (File)
Dec 14 2024, 1:45 PM
Unknown Object (File)
Nov 22 2024, 10:00 AM
Unknown Object (File)
Sep 19 2024, 11:13 PM
Unknown Object (File)
Sep 9 2024, 1:54 AM
Unknown Object (File)
Sep 9 2024, 12:10 AM
Unknown Object (File)
Sep 9 2024, 12:05 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 10124
Build 10547: 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.