lkml.org 
[lkml]   [2013]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 0/3] fuse: fixes for writepages
Date
Maxim,

Please review and test these. I've appended them to writepages.v2 and for-next.

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;
}




\
 
 \ /
  Last update: 2013-09-19 18:21    [W:0.031 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site