aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-03-03 18:02:13 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-03-12 11:31:08 +0000
commitf776c54cee81b4297b59ffe87a0f154e3924ee7f (patch)
tree8819fcee4a090ebfd4ad03c06e260584e8488ab9 /sys
parentd7e5e374167fe98e998b80691824750f44bb050d (diff)
downloadsrc-f776c54cee81b4297b59ffe87a0f154e3924ee7f.tar.gz
src-f776c54cee81b4297b59ffe87a0f154e3924ee7f.zip
ffs_mount: when remounting ro->rw and sbupdate failed, cleanup softdeps
Reviewed by: mckusick Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D29178
Diffstat (limited to 'sys')
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 273d6e497955..584a20adb54d 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -645,6 +645,8 @@ ffs_mount(struct mount *mp)
fs->fs_clean = 0;
if ((error = ffs_sbupdate(ump, MNT_WAIT, 0)) != 0) {
fs->fs_ronly = 1;
+ if ((fs->fs_flags & FS_DOSOFTDEP) != 0)
+ softdep_unmount(mp);
MNT_ILOCK(mp);
mp->mnt_flag |= saved_mnt_flag;
MNT_IUNLOCK(mp);