diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-02-14 12:42:12 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-02-14 12:42:12 +0000 |
commit | e03b00aae34389d3a65f6d21cfc3651e621bcb31 (patch) | |
tree | eef8156eb71cbe56158c72378c7a55115e8a8ae4 /sys/ufs/ffs | |
parent | 61f2fad5f6478d562e655ea494d160e372785f58 (diff) |
if updating supablock fails w/ EROFS just procede w/ unmount thus allowing unmounting rw mounts on top of ro devices; pedro@ ok and comments
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 29bfbb20cf3..81a97968223 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_vfsops.c,v 1.79 2006/01/03 12:20:54 pedro Exp $ */ +/* $OpenBSD: ffs_vfsops.c,v 1.80 2006/02/14 12:42:11 mickey Exp $ */ /* $NetBSD: ffs_vfsops.c,v 1.19 1996/02/09 22:22:26 christos Exp $ */ /* @@ -921,7 +921,8 @@ ffs_unmount(struct mount *mp, int mntflags, struct proc *p) if (fs->fs_ronly == 0) { fs->fs_clean = (fs->fs_flags & FS_UNCLEAN) ? 0 : 1; error = ffs_sbupdate(ump, MNT_WAIT); - if (error) { + /* ignore write errors if mounted RW on read-only device */ + if (error && error != EROFS) { fs->fs_clean = 0; return (error); } |