Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1445133
| From | Adam Borowski <kilobyte@angband.pl> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] vfs: allow FILE_EXTENT_SAME (dedupe_file_range) on a file opened ro |
| Date | 2016-07-18 00:40 +0200 |
| Message-ID | <rW2T7-6rT-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Instead of checking the mode of the file descriptor, let's check whether it
could have been opened rw. This allows fixing intermittent exec failures
when deduping a live system: anyone trying to exec a file currently being
deduped gets ETXTBSY.
Issuing this ioctl on a ro file was already allowed for root/cap.
Tested on btrfs and not-yet-merged xfs, as only them implement this ioctl.
Signed-off-by: Adam Borowski <kilobyte@angband.pl>
---
fs/read_write.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/read_write.c b/fs/read_write.c
index 933b53a..df59dc6 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -1723,7 +1723,7 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same)
if (info->reserved) {
info->status = -EINVAL;
- } else if (!(is_admin || (dst_file->f_mode & FMODE_WRITE))) {
+ } else if (!(is_admin || !inode_permission(dst, MAY_WRITE))) {
info->status = -EINVAL;
} else if (file->f_path.mnt != dst_file->f_path.mnt) {
info->status = -EXDEV;
--
2.8.1
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] vfs: allow FILE_EXTENT_SAME (dedupe_file_range) on a file opened ro Adam Borowski <kilobyte@angband.pl> - 2016-07-18 00:40 +0200 Re: [PATCH] vfs: allow FILE_EXTENT_SAME (dedupe_file_range) on a file opened ro Adam Borowski <kilobyte@angband.pl> - 2016-07-18 00:40 +0200 Re: [PATCH] vfs: allow FILE_EXTENT_SAME (dedupe_file_range) on a file opened ro Mark Fasheh <mfasheh@suse.de> - 2016-07-18 22:00 +0200 Re: [PATCH] vfs: allow FILE_EXTENT_SAME (dedupe_file_range) on a file opened ro "Darrick J. Wong" <darrick.wong@oracle.com> - 2016-07-19 04:50 +0200
csiph-web