locking questions (regarding file systems)
Stanislav Sedov
ssedov at mbsd.msk.ru
Wed Aug 2 20:03:42 UTC 2006
On Wed, 02 Aug 2006 14:02:59 -0500
Eric Anderson <anderson at centtech.com> mentioned:
> Hello everyone,
> (resend from a post to the -geom list, which I received no replies)
>
> I'm writing a file system (read-only), and I need to do some GEOM
> related locking. I can mount/unmount the filesystem on a vnode backed
> md disk, but I can't re-mount on that device nor can I get rid (mdconfig
> -d) of it. It appears to be wedged in some kind of locking.
>
> Here's basically what I do:
> in the mount function for the FS, I do something like this:
>
> DROP_GIANT();
> g_topology_lock();
> error = g_vfs_open(devvp, &cp, "fsname", 0);
> g_topology_unlock();
> PICKUP_GIANT();
>
>
> What is needed in my unmount function to release those locks? I've
> tried some combinations of things, like:
>
>
> DROP_GIANT();
> g_topology_lock();
> # wedges here
> g_vfs_close(cp, td);
> g_topology_unlock();
> PICKUP_GIANT();
> vrele(devvp);
>
> How can I debug this and find out what is blocking it?
>
> Any help would be greatly appreciated!
>
> Eric
>
>
>
It seems that device or geom isn't unlocked. Do you call VOP_UNLOCK(devvp)
after g_vfs_open()?
You can enable geom locks debugging by manipulation sys.kern.geom.debug
values.
--
Stanislav Sedov MBSD labs, Inc. <ssedov at mbsd.msk.ru>
Россия, Москва http://mbsd.msk.ru
--------------------------------------------------------------------
If the facts don't fit the theory, change the facts. -- A. Einstein
--------------------------------------------------------------------
PGP fingerprint: F21E D6CC 5626 9609 6CE2 A385 2BF5 5993 EB26 9581
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20060802/8de6cb96/signature.pgp
More information about the freebsd-fs
mailing list