diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-06-22 18:46:02 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-06-22 18:46:02 +0000 |
commit | d3dd2d5466a520f7ca866b478faecd1afd3de1f5 (patch) | |
tree | 4b26642d6057813ce5d3a18b37db1022207a91b6 /kernel/inode.c | |
parent | 2778f6cf5d27e40337f163f476fac8f0ffec1130 (diff) | |
download | libfuse-d3dd2d5466a520f7ca866b478faecd1afd3de1f5.tar.gz |
request allocation improvements
Diffstat (limited to 'kernel/inode.c')
-rw-r--r-- | kernel/inode.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/inode.c b/kernel/inode.c index 83ac407..afee16d 100644 --- a/kernel/inode.c +++ b/kernel/inode.c @@ -60,13 +60,15 @@ void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, ino_t ino, static void fuse_clear_inode(struct inode *inode) { struct fuse_conn *fc = INO_FC(inode); - struct fuse_req *req; + struct fuse_req *req = inode->u.generic_ip; - if (fc == NULL) + if (fc == NULL) { + if (req) + fuse_request_free(req); return; - - req = fuse_get_request_nonint(fc); - fuse_send_forget(fc, req, inode->i_ino, inode->i_version); + } + if (req != NULL) + fuse_send_forget(fc, req, inode->i_ino, inode->i_version); } static void fuse_put_super(struct super_block *sb) |