Messages in this thread | | | Subject | Re: debugfs_remove() vs. anything that is dynamic | From | Johannes Berg <> | Date | Fri, 04 Apr 2008 23:20:12 +0200 |
| |
> I think, however, it's not correct when you have a hard-link, and the > NULLing out of i_private must be done depending on (inode->i_nlink == 1) > instead of unconditionally. I will have to test that once I figure out > if (and if yes, how) you can even create inodes with nlink>1 with simple > attributes. > > --- everything.orig/fs/libfs.c 2008-04-04 22:37:18.000000000 +0200 > +++ everything/fs/libfs.c 2008-04-04 22:37:37.000000000 +0200 > @@ -287,6 +287,7 @@ int simple_unlink(struct inode *dir, str > { > struct inode *inode = dentry->d_inode; > > + inode->i_private = NULL;
Hm, no, this is likely to conflict with other users of simple_unlink that use i_private afterwards and don't expect it to have been NULL'ed out. I haven't found a solution yet.
johannes [unhandled content-type:application/pgp-signature]
| |