aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2002-01-13 11:58:06 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2002-01-13 11:58:06 +0000
commit426da3bcfb40b0b0733f0be4dea9e7659f442368 (patch)
tree598e20df363e602313c7ad93de8f8c4b4240d61d /sys/ufs
parent12076922ff2c1b5b1f22d92fa4a924ab2757e46d (diff)
Notes
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_alloc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c
index e2fb3abe837d1..321bf5ac59d7b 100644
--- a/sys/ufs/ffs/ffs_alloc.c
+++ b/sys/ufs/ffs/ffs_alloc.c
@@ -1906,10 +1906,12 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS)
vn_start_write((struct vnode *)fp->f_data, &mp, V_WAIT);
if (mp == 0 || strncmp(mp->mnt_stat.f_fstypename, "ufs", MFSNAMELEN)) {
vn_finished_write(mp);
+ fdrop(fp, curthread);
return (EINVAL);
}
if (mp->mnt_flag & MNT_RDONLY) {
vn_finished_write(mp);
+ fdrop(fp, curthread);
return (EROFS);
}
ump = VFSTOUFS(mp);
@@ -2041,6 +2043,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS)
break;
}
+ fdrop(fp, curthread);
vn_finished_write(mp);
return (error);
}