calls to d_active_refs() from do_umount() and multiple mounts.

From: Tigran Aivazian (tigran@veritas.com)
Date: Thu May 04 2000 - 11:44:33 EST


Hi Alexander,

I have a question about your design of multiple mounts. If a filesystem is
mounted on /mnt1 and then on /mnt2 and some process opens files (or chdirs
to or chroots to etc etc) in /mnt2 and we wish to umount /mnt2 should it
fail as busy or not? Since you do the
d_active_refs() and root->d_inode->i_state checks *after* the code:

        if (mnt->mnt_instances.next != mnt->mnt_instances.prev) {
                mntput(mnt);
                remove_vfsmnt(mnt);
                return 0;
        }

it would seem that the /mnt2 is easily umounted because of the existence
of /mnt1 instance (unless mnt->mnt_count plays some role here - at the
moment I ignore it because it is always 1 anyway).

Thanks,
Tigran

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:15 EST