Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
None
-
9223372036854775807
Description
In theory it should be possible to relax renaming rules and allow parallel renaming of regular (or non-directory) files.
- the easiest and most common case would be rename of files within the same parent directory, like "mv foo foo.old" where we would only need to lock the DLM resources of the source and target name hashes
- the next case would be to allow rename of files between directories
Probably the easiest is to order such locks by DLM resource (FID+hash) to avoid deadlocks between multiple threads doing renames. For directory renames, they still need to be serialized by the BFL and also take the name hash locks in the source and target dirs to avoid conflict with regular file renames. In theory it would also be possible to allow concurrent rename of directories within the same parent, but that could be done in a separate step.
For renames across shards within a single DNE striped directory they would be treated as renames across directories.