Details
-
Technical task
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
For ID-mapped users in a nodemap, the trash can should have a top-level directory that is the nodemap name, which holds the per-user subdirectories. This will separate the subdirectory trees as .lustre/Trash/MDTxxxx/nodemap for each tenant, to isolate quota usage,
The nodemap configuration should allow specifying the Trash Can UID/GID/PROJID separately for each tenant using per-nodemap trash_can_uid, trash_can_gid, and trash_can_projid parameters on the nodemap. By default, if the nodemap is using an ID offset range, these IDs could be the last ID in the nodemap (e.g. 199999) to minimize the risk of conflict with other IDs.
When creating the per-user subdirectory, the directory name created in the .../nodemap/directory should be based on the client/tenant UID (e.g. "1000/") so that the nodemap user sees the directory name they expect, while the inode->i_uid should be the filesystem/global UID (e.g. 101000) so that the UID is correct for permission checks when the nodemap client is accessing it.