[LU-17423] Upstream dir_data feature Created: 13/Jan/24  Updated: 30/Jan/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Minor
Reporter: Andreas Dilger Assignee: Dongyang Li
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-6220 push ext4/ldiskfs patches upstream if... Open
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

The data-in-dirent patch was being discussed for upstream inclusion for 64-but inode support, but eventually that was not accepted because the 64-bit inode patch was only partially tested (ie. it built and didn't break 32-bit inodes, but had code and testing gaps for actual 64-bit inode numbers).

Landing the dirdata patch has now become more complex because the "fscrypt+case-insensitive" features are now storing extra information after the name in the dirent. This would have been a perfect case to use dirdata and get it included, except Google had already started using this in Android and didn't want to update the format, so there needs to be additional compatibility added for this case.

An agreed-upon proposal to get dirdata accepted without the Lustre kernel dependency is to add a dedicated test ioctl interface to store dirdata in directory entries, and confirm that it is being handled properly (eg. across rename, with e2fsck, etc). For compatibility with Lustre, this could store the "inode|generation" into the Lustre FID slot, since this is equivalent to an IGIF FID, and is also easy to verify later.


Generated at Sat Feb 10 03:35:19 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.