@@ -292,7 +292,8 @@ int v9fs_dir_release(struct inode *inode, struct file *filp)
fid = filp->private_data;
P9_DPRINTK(P9_DEBUG_VFS,
- "inode: %p filp: %p fid: %d\n", inode, filp, fid->fid);
+ "JV: inode: %p filp: %p fid: %d\n", inode, filp,
+ fid ? fid->fid : -1);
filemap_write_and_wait(inode->i_mapping);
p9_client_clunk(fid);
return 0;
@@ -1201,6 +1201,9 @@ int p9_client_clunk(struct p9_fid *fid)
struct p9_client *clnt;
struct p9_req_t *req;
+ if (!fid)
+ return 0;
+
P9_DPRINTK(P9_DEBUG_9P, ">>> TCLUNK fid %d\n", fid->fid);
err = 0;
clnt = fid->clnt;