Thread (18 messages) 18 messages, 6 authors, 2017-02-07

Re: [RFC][PATCH v2 4/4] vfs: wrap write f_ops with file_{start,end}_write()

From: Amir Goldstein <amir73il@gmail.com>
Date: 2017-01-31 07:12:28
Also in: linux-fsdevel

On Fri, Jan 27, 2017 at 1:09 PM, Miklos Szeredi [off-list ref] wrote:
On Mon, Jan 23, 2017 at 8:43 PM, Amir Goldstein [off-list ref] wrote:
quoted
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??

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help