summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2003-12-07 05:16:52 +0000
committertruckman <truckman@FreeBSD.org>2003-12-07 05:16:52 +0000
commit69d4790f00041bb553cd7c30273079d6b730a068 (patch)
treeb0cebeda7c022a1357472aa6ff99a066d9686e7c /sys/ufs
parent9ef7fe6cd5d612d74126425a017ce6d424fb4949 (diff)
downloadFreeBSD-src-69d4790f00041bb553cd7c30273079d6b730a068.zip
FreeBSD-src-69d4790f00041bb553cd7c30273079d6b730a068.tar.gz
Set fs_ronly to the correct value in ffs_reload() when reloading the file
system super block after fsck has repaired the file system. The value of fs_ronly was getting overwritten, which caused ffs_update() to attempt to update inode timestamps even though the file system was still mounted read-only. This fixes the "giving up on N buffers" error that is triggered by running fsck on the root file system and then rebooting without mounting the file system read-write.
Diffstat (limited to 'sys/ufs')
-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 e188ed4..9e27c2c 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -455,6 +455,8 @@ ffs_reload(mp, cred, td)
newfs->fs_maxcluster = fs->fs_maxcluster;
newfs->fs_contigdirs = fs->fs_contigdirs;
newfs->fs_active = fs->fs_active;
+ /* The file system is still read-only. */
+ newfs->fs_ronly = 1;
sblockloc = fs->fs_sblockloc;
bcopy(newfs, fs, (u_int)fs->fs_sbsize);
brelse(bp);
OpenPOWER on IntegriCloud