diff options
author | truckman <truckman@FreeBSD.org> | 2003-12-07 05:16:52 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2003-12-07 05:16:52 +0000 |
commit | 69d4790f00041bb553cd7c30273079d6b730a068 (patch) | |
tree | b0cebeda7c022a1357472aa6ff99a066d9686e7c /sys/ufs | |
parent | 9ef7fe6cd5d612d74126425a017ce6d424fb4949 (diff) | |
download | FreeBSD-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.c | 2 |
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); |