It is rather specific filesystem, that uses msdosfs as underlaying layer.
It needs to use msdos file named '--linux-.---' at many places. To do
that (using msdos_lookup and other functions) it uses following code to
create dentry:
struct dentry *ret, *parent=NULL;
struct qstr qname;
qname.name = name; /* this is passed */
qname.len = len; /* this is passed */
qname.hash = 0;
ret = d_alloc (parent,&qname); /* create new dentry */
d_add (ret, inode); /* inode is passed */
the question is next:
after the dentry has been used and is no longer needed, what do I need to do
get rid of it ? d_invalidate ?
Also question about iput() and dput() - when those should be called and what
exactly do they do ?
problem is that I had messages like
iput: device 02:00 inode 309 still has aliases !
(some of old not-yet-converted-code calls iput on dentry that still exists)
and
VFS: busy inodes after unmount. self-destruct in 5 seconds. Bye-bye.
on umount.
And then strange problems if I try to mount something other at that
mountpoint, usually followed by kernel panic.
I would appreciate any input or pointer (to something other than 'read the
source' - I'm getting lost in it :) anyone can give me.
TIA,
Matija
-- Opinions above are GNU-copylefted.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu