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