+2004-06-30 Miklos Szeredi <mszeredi@inf.bme.hu>
+
+ * Acquire inode->i_sem before open and release methods to prevent
+ concurrent rename or unlink operations.
+
2004-06-27 Miklos Szeredi <mszeredi@inf.bme.hu>
* Fix file offset wrap around at 4G when doing large reads
req->in.numargs = 1;
req->in.args[0].size = sizeof(inarg);
req->in.args[0].value = &inarg;
+ down(&inode->i_sem);
request_send(fc, req);
+ up(&inode->i_sem);
err = req->out.h.error;
if (!err && !(fc->flags & FUSE_KERNEL_CACHE)) {
#ifdef KERNEL_2_6
req->in.numargs = 1;
req->in.args[0].size = sizeof(struct fuse_open_in);
req->in.args[0].value = inarg;
- request_send_noreply(fc, req);
+ down(&inode->i_sem);
+ request_send(fc, req);
+ up(&inode->i_sem);
+ fuse_put_request(fc, req);
/* Return value is ignored by VFS */
return 0;
free(path);
}
+ send_reply(f, in, 0, NULL, 0);
}
static void do_read(struct fuse *f, struct fuse_in_header *in,