ovl: concurrent copy up of regular files
authorAmir Goldstein <amir73il@gmail.com>
Tue, 17 Jan 2017 04:34:57 +0000 (06:34 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 7 Feb 2017 14:47:14 +0000 (15:47 +0100)
commit01ad3eb8a07385bc8849f0ee7c800e7c8bd7287e
treedd56100b213de1a7983f2f1a2597ed169dd31d62
parent39d3d60a54df05a1a32fa71159d7a26a530dee6c
ovl: concurrent copy up of regular files

Now that copy up of regular file is done using O_TMPFILE,
we don't need to hold rename_lock throughout copy up.

Use the copy up waitqueue to synchronize concurrent copy up
of the same file. Different regular files can be copied up
concurrently.

The upper dir inode_lock is taken instead of rename_lock,
because it is needed for lookup and later for linking the
temp file, but it is released while copying up data.

Suggested-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/copy_up.c