Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jul 2006 23:27:03 -0500
From:      Eric Anderson <anderson@centtech.com>
To:        freebsd-geom@freebsd.org
Subject:   locking questions (regarding file systems)
Message-ID:  <44CED817.1080905@centtech.com>

next in thread | raw e-mail | index | archive | help
Hi GEOMers,

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);

Any help would be greatly appreciated!

Eric



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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44CED817.1080905>