Re: [PATCH 0/3] fuse: fixes for writepages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux