Miklos,
On 09/19/2013 08:11 PM, Miklos Szeredi wrote:
Maxim,
Please review and test these. I've appended them to writepages.v2 and for-next.
Thanks a lot for efforts. I'll start to work on it now and send you
feedback as soon as I get a progress.
Btw, adding fuse-devel to cc.
Thanks,
Maxim
Here's a test patch for the rewrites stuff. It simply disables the waiting in
fuse_page_mkwrite() and is quite effective in generating rewrites in my
testcase.
Thanks,
Miklos
---
fs/fuse/file.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1498,6 +1498,7 @@ static void fuse_writepage_end(struct fu
mapping_set_error(inode->i_mapping, req->out.h.error);
spin_lock(&fc->lock);
+ int count = 0;
while (req->misc.write.next) {
struct fuse_req *next = req->misc.write.next;
req->misc.write.next = next->misc.write.next;
@@ -1505,7 +1506,10 @@ static void fuse_writepage_end(struct fu
list_add(&next->writepages_entry, &fi->writepages);
list_add_tail(&next->list, &fi->queued_writes);
fuse_flush_writepages(inode);
+ count++;
}
+ if (count)
+ printk("rewrite: %i\n", count);
fi->writectr--;
fuse_writepage_finish(fc, req);
spin_unlock(&fc->lock);
@@ -1884,7 +1888,7 @@ static int fuse_page_mkwrite(struct vm_a
return VM_FAULT_NOPAGE;
}
- fuse_wait_on_page_writeback(inode, page->index);
+ //fuse_wait_on_page_writeback(inode, page->index);
return VM_FAULT_LOCKED;
}
--
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