| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | [PATCH 1/2] iomap: fiemap should honor the FIEMAP_FLAG_SYNC flag |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Mon, 8 Aug 2016 16:22:30 +1000 |
| Cc: | linux-fsdevel@xxxxxxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1470637351-27933-1-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1470637351-27933-1-git-send-email-david@xxxxxxxxxxxxx> |
From: Dave Chinner <dchinner@xxxxxxxxxx>
The flag is checked as supported, but then we do an unconditional
sync of the file, regardless of whether the flag is set or not. Make
the sync conditional on having the FIEMAP_FLAG_SYNC flag set.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
fs/iomap.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/fs/iomap.c b/fs/iomap.c
index 48141b8..189742b 100644
--- a/fs/iomap.c
+++ b/fs/iomap.c
@@ -470,9 +470,11 @@ int iomap_fiemap(struct inode *inode, struct
fiemap_extent_info *fi,
if (ret)
return ret;
- ret = filemap_write_and_wait(inode->i_mapping);
- if (ret)
- return ret;
+ if (fi->fi_flags & FIEMAP_FLAG_SYNC) {
+ ret = filemap_write_and_wait(inode->i_mapping);
+ if (ret)
+ return ret;
+ }
while (len > 0) {
ret = iomap_apply(inode, start, len, 0, ops, &ctx,
--
2.8.0.rc3
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Luxury bag for your checking, angelbervogue@xxxxxxxx |
|---|---|
| Next by Date: | [PATCH 0/2] iomap: fixes for fiemap interface, Dave Chinner |
| Previous by Thread: | [PATCH 0/2] iomap: fixes for fiemap interface, Dave Chinner |
| Next by Thread: | Re: [PATCH 1/2] iomap: fiemap should honor the FIEMAP_FLAG_SYNC flag, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |