will allow non root user to specify the 'allow_other' mount option
('-x' option of fusermount)
+ * Fix deadlock between page writeback completion and truncate
+ (bug found by Valient Gough with the fsx-linux utility)
+
2004-07-01 Miklos Szeredi <mszeredi@inf.bme.hu>
* Change passing fuse include dir to 2.6 kernel make system more
req->out.h.error = -EPROTO;
}
- lock_page(page);
if (req->out.h.error) {
SetPageError(page);
if (req->out.h.error == -ENOSPC)
}
end_page_writeback(page);
kunmap(page);
- unlock_page(page);
fuse_put_request(fc, req);
}
/* FIXME: check sync_mode, and wait for previous writes (or
signal userspace to do this) */
if (wbc->nonblocking) {
+ SetPageWriteback(page);
err = write_buffer_nonblock(inode, page, 0, count);
- if (!err)
- SetPageWriteback(page);
- else if (err == -EWOULDBLOCK) {
+ if (err)
+ ClearPageWriteback(page);
+ if (err == -EWOULDBLOCK) {
__set_page_dirty_nobuffers(page);
err = 0;
}