Hi Miklos, I went for the less intrusive approach of holding mnt_writers only throughout copy up instead of a long lived elevated refcount. We could reconsider the long lived reference in the future. Thanks, Amir. Changes since v2: - Separate mnt_writers and sb_writers locks during copy up - Fixs error handling bugs found by Miklos Changes since v1: - Breakup the large ovl_want_write() transaction in copy up - Add fix to possible deadlock with encode lower ovl fh Amir Goldstein (4): ovl: reorder ovl_want_write() after ovl_inode_lock() ovl: split ovl_want_write() into two helpers ovl: do not open/llseek lower file with upper sb_writers held ovl: do not encode lower fh with upper sb_writers held fs/overlayfs/copy_up.c | 141 +++++++++++++++++++++++++-------------- fs/overlayfs/dir.c | 60 ++++++++--------- fs/overlayfs/export.c | 7 +- fs/overlayfs/inode.c | 57 ++++++++-------- fs/overlayfs/namei.c | 37 +++++++--- fs/overlayfs/overlayfs.h | 30 +++++++-- fs/overlayfs/super.c | 20 ++++-- fs/overlayfs/util.c | 73 ++++++++++++++++++-- 8 files changed, 275 insertions(+), 150 deletions(-) -- 2.34.1