Skip the allocation of the root hold token if the mount already happened.

This commit is contained in:
Andrew Thompson 2009-03-27 03:52:08 +00:00
parent 393cf853a7
commit d24d45d9a9

View File

@ -1357,6 +1357,9 @@ root_mount_hold(const char *identifier)
{
struct root_hold_token *h;
if (root_mounted())
return (NULL);
h = malloc(sizeof *h, M_DEVBUF, M_ZERO | M_WAITOK);
h->who = identifier;
mtx_lock(&mountlist_mtx);
@ -1372,6 +1375,8 @@ void
root_mount_rel(struct root_hold_token *h)
{
if (h == NULL)
return;
mtx_lock(&mountlist_mtx);
LIST_REMOVE(h, list);
wakeup(&root_holds);