On Mon, 15 May 2000, Petr Vandrovec wrote:
> I took ramfs as example (*) - and I found that double
> dget() way does not work now (2.3.99-pre9.1) - if I create file
> (== inode == connection), instead of getting -EBUSY from umount it
> unmounts with 'VFS: Busy inodes...'. Inspection of do_umount/may_umount
> revealed, that only usage count on vfsmnt counts - but vfsmnt is not
> available from ->create and ->unlink, so I cannot play with it.
well, if your filesystem allows only one vfsmnt per sb then you can follow
d_sb->s_mounts list which contains only one element.
also, (a truly horrible!) way to mntget the mountpoint could be to redo
the lookup (path_init/path_walk) without releasing it by path_release
since you know the correct name in d_name.
However, looks like you found a VFS bug that breaks ramfs - let's fix that
one
first..
Regards,
Tigran
>
> (*) I hoped that ramfs works. It probably does not :-(
>
indeed, it does not and imho it is the great value of your message.
Regards,
Tigran