On Thu, Sep 22, 2016 at 5:49 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > On Thu, Sep 22, 2016 at 10:49 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: >> Guys, I just hit a lockdep warning on nesting an mnt_want_write() with >> this patch >> because overlay already holds the write lock when getting to ovl_copy_up_data() >> I don't know how I missed it before. >> >> Is it really a problem to nest this lock? >> Should I factor our another set of _locked helpers from the >> vfs_{copy,clone}_file_range helpers? >> > > vfs_{copy,clone}_file_range should call sb_start_write() instead of > mnt_want_write_file(), the checks against FMODE_WRITE + S_ISREG ensure > that the __mnt_want_write() part is already held on the file. Wait a minute, I think you got the solution but mixed it up a bit. IIUC, vfs_{clone,copy} should call __mnt_want_write_file() instead of mnt_want_write_file(), which will skip sb_start_write() because file is already open for write and no lockdep warning and no problem. Am I missing something? > > That still leaves the lockdep warning. We could do > __vfs_{copy,clone}_file_range() variants without the > sb_start_write()/sb_end_write() and add the non-underscore variants as > static inline to fs.h that do call the sb_start/end_write. > > Thanks, > Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html