locking questions (regarding file systems)

Eric Anderson anderson at centtech.com
Wed Aug 2 19:02:48 UTC 2006


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



-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------
_______________________________________________
freebsd-geom at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-geom
To unsubscribe, send any mail to "freebsd-geom-unsubscribe at freebsd.org"

-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------


More information about the freebsd-fs mailing list