Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18647
b: refs/heads/master
c: f43b155
h: refs/heads/master
i:
  18645: a6994ce
  18643: 4c064fd
  18639: cb4b3b4
v: v3
  • Loading branch information
Miklos Szeredi authored and Linus Torvalds committed Jan 17, 2006
1 parent 35ef1c2 commit 00cd8fe
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 222f1d69183f10d70a37de5785698fe0aa363c12
refs/heads/master: f43b155a5a8a95b06bc0b4474fbb7311c7e9709a
18 changes: 7 additions & 11 deletions trunk/fs/fuse/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,19 +171,17 @@ static void process_init_reply(struct fuse_conn *fc, struct fuse_req *req)
/*
* This function is called when a request is finished. Either a reply
* has arrived or it was interrupted (and not yet sent) or some error
* occurred during communication with userspace, or the device file was
* closed. It decreases the reference count for the request. In case
* of a background request the reference to the stored objects are
* released. The requester thread is woken up (if still waiting), and
* finally the request is either freed or put on the unused_list
* occurred during communication with userspace, or the device file
* was closed. In case of a background request the reference to the
* stored objects are released. The requester thread is woken up (if
* still waiting), and finally the reference to the request is
* released
*
* Called with fuse_lock, unlocks it
*/
static void request_end(struct fuse_conn *fc, struct fuse_req *req)
{
int putback;
req->finished = 1;
putback = atomic_dec_and_test(&req->count);
spin_unlock(&fuse_lock);
if (req->background) {
down_read(&fc->sbput_sem);
Expand All @@ -197,13 +195,11 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req)
else if (req->in.h.opcode == FUSE_RELEASE && req->inode == NULL) {
/* Special case for failed iget in CREATE */
u64 nodeid = req->in.h.nodeid;
__fuse_get_request(req);
fuse_reset_request(req);
fuse_send_forget(fc, req, nodeid, 1);
putback = 0;
return;
}
if (putback)
fuse_putback_request(fc, req);
fuse_put_request(fc, req);
}

/*
Expand Down

0 comments on commit 00cd8fe

Please sign in to comment.