From 59d371c50a25062ef64ad636ab14e7fe4bd22b76 Mon Sep 17 00:00:00 2001 From: Latchesar Ionkov Date: Mon, 15 May 2006 09:44:18 -0700 Subject: [PATCH] --- yaml --- r: 26715 b: refs/heads/master c: 343f1fe6f2e3fb4912db241e639b0721c2e14f2e h: refs/heads/master i: 26713: f17697c90451381c76ea08869e109e396197698b 26711: 71eb071054295a7392def510b13a85944b3a1764 v: v3 --- [refs] | 2 +- trunk/fs/9p/fcall.c | 21 +++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index e70758395940..8a88403e20db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3dc7b82ea7649356bf027fba50c16ca50cec31e2 +refs/heads/master: 343f1fe6f2e3fb4912db241e639b0721c2e14f2e diff --git a/trunk/fs/9p/fcall.c b/trunk/fs/9p/fcall.c index 71742ba150c4..6f2617820a4e 100644 --- a/trunk/fs/9p/fcall.c +++ b/trunk/fs/9p/fcall.c @@ -98,23 +98,20 @@ v9fs_t_attach(struct v9fs_session_info *v9ses, char *uname, char *aname, static void v9fs_t_clunk_cb(void *a, struct v9fs_fcall *tc, struct v9fs_fcall *rc, int err) { - int fid; + int fid, id; struct v9fs_session_info *v9ses; - if (err) - return; - + id = 0; fid = tc->params.tclunk.fid; - kfree(tc); - - if (!rc) - return; - - v9ses = a; - if (rc->id == RCLUNK) - v9fs_put_idpool(fid, &v9ses->fidpool); + if (rc) + id = rc->id; + kfree(tc); kfree(rc); + if (id == RCLUNK) { + v9ses = a; + v9fs_put_idpool(fid, &v9ses->fidpool); + } } /**