Details
-
Improvement
-
Resolution: Fixed
-
Major
-
None
-
9223372036854775807
Description
One problem that exists today is that default directory layouts are inherited by all new subdirectories created in the filesystem. That makes it difficult to set e.g. "lfs setdirstripe -D -c 1 -i -1" on the root directory and maybe a second level of directories without having it inherited by all of the subdirectories for the whole filesystem.
It would be useful to add a option like "lfs setdirstripe --max-inherit" that stores "lmv_max_inherit" on the default directory layout so that it is only copied down that many levels of subdirectories before it is not copied. The lmv_max_inherit would be decremented each time it is copied down to a new subdirectory, so there is no need to track the parent layout.
For compatibility, "lmv_max_inherit=0" would mean "copy forever", so "lmv_max_inherit=1" would mean "do not copy default layout". We don't need huge values here (e.g. "lmv_max_inherit=255" would be totally fine).
I don't think we need to do anything incompatible for older MDS nodes (e.g. we don't need to use a different LMV magic), since at worst the old MDS will copy this layout forever (ignoring lmv_max_inherit) and have the same behaviour as before this feature existed. Probably the easiest would be to split a __u8 field out of lum_padding1 and leave an unused __u8 and __u16 for future use.
Attachments
Issue Links
- is related to
-
LU-14762 qos subdirectory creation stay on parent MDT if less full than average doesn't work as expected
- Resolved
-
LU-14868 sanity: all subtests pass but test suite fails with TIMEOUT
- Resolved
-
LU-15314 set default max-inherit to 3 for default dir stripe policy if stripe count is not 0 or 1
- Resolved
-
LU-15850 MDT QOS should always be used for round-robin directories.
- Resolved
- is related to
-
LU-13439 DNE3: MDT QOS tuning to avoid full MDTs completely
- Resolved
-
LU-10329 DNE3: REMOTE_PARENT_DIR scalability
- Open
-
LU-13417 DNE3: mkdir() automatically create remote directory on MDS which has more space
- Resolved