On Mon, Nov 7, 2016 at 1:04 PM, Miklos Szeredi <mik...@szeredi.hu> wrote: > On Mon, Nov 7, 2016 at 10:58 AM, Konstantin Khlebnikov <koc...@gmail.com> > wrote: > >> I've stumbled on somehow related problem - concurrent copy-ups are >> strictly serialized by rename locks. >> Obviously, file copying could be done in parallel: locks are required >> only for final rename. >> Because of that overlay slower that aufs for some workloads. > > Easy to fix: for each copy up create a separate subdir of "work". > Then the contention is only for the time of creating the subdir, which > is very short.
Yeah, but lock_rename() also takes per-sb s_vfs_rename_mutex (kludge by Al Viro) I think proper synchronization for concurrent copy-up (for example round flag on ovl_entry) and locking rename only for rename could be better.