On Tue, Jan 31, 2017 at 9:11 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > On Fri, Jan 27, 2017 at 1:09 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: >> On Mon, Jan 23, 2017 at 8:43 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: >>> Before calling write f_ops, call file_start_write() instead >>> of sb_start_write(). >>> >>> This ensures freeze protection for both overlay and upper fs >>> when file is open from an overlayfs mount. >>> >>> Replace {sb,file}_start_write() for {copy,clone}_file_range() and >>> for fallocate(). >>> >>> For dedup_file_range() there is no need for mnt_want_write_file(). >>> File is already open for write, so we already have mnt_want_write() >>> and we only need file_start_write(). >> >> Being opened for write is not verified if capable(CAP_SYS_ADMIN). >> Ugly special case, don't ask me why it's done... >> > > > Miklos, > > Your comment was correct, but you applied the patch as is with the > dedup_file_range() > change to overlayfs-next regardless. mistake?? > Ping. overlayfs-next still hold a wrong patch. Already posted v3 with some more vfs fixes. > I was preparing to re-send without the dedup_file_range() bits, but then > I realized that it is possible to get to fallocate() and copy_file_range() with > non regular file, so I did not re-send. > > I'll re-post with another patch to limit fallocate() and copy_file_range() to > regular file in vfs helper.