diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index e0d34e4e9076..85161f0bb749 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c @@ -218,7 +218,12 @@ int v9fs_dir_release(struct inode *inode, struct file *filp) if ((S_ISREG(inode->i_mode)) && (filp->f_mode & FMODE_WRITE)) retval = filemap_fdatawrite(inode->i_mapping); + printk("fid: %p, fidnum: %d, ino: %lx, ino is freeing:%d, will free: %d, dirty: %d, %s\n", fid, fid->fid, inode->i_ino, + inode->i_state & I_FREEING, + inode->i_state & I_WILL_FREE, + inode->i_state & I_DIRTY, __func__); spin_lock(&inode->i_lock); + inode->i_state |= I_FREEING; hlist_del(&fid->ilist); spin_unlock(&inode->i_lock); put_err = p9_fid_put(fid);