locking questions (regarding file systems)
Eric Anderson
anderson at centtech.com
Tue Aug 1 04:26:54 UTC 2006
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.
------------------------------------------------------------------------
More information about the freebsd-geom
mailing list