git: a0c3799828e5 - stable/13 - fsck_ffs: don't try to write in read-only mode
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Feb 2022 05:38:43 UTC
The branch stable/13 has been updated by mckusick:
URL: https://cgit.FreeBSD.org/src/commit/?id=a0c3799828e52151560e37855f14ee39a3e8aca0
commit a0c3799828e52151560e37855f14ee39a3e8aca0
Author: Chuck Silvers <chs@FreeBSD.org>
AuthorDate: 2021-06-29 21:29:15 +0000
Commit: Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2022-02-28 05:36:06 +0000
fsck_ffs: don't try to write in read-only mode
(cherry picked from commit ed1a156b038dee0e7a02c2935186ad5d8f4c36c1)
Sponsored by: Netflix
---
sbin/fsck_ffs/main.c | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c
index 45bb279ce374..2724893a5b9a 100644
--- a/sbin/fsck_ffs/main.c
+++ b/sbin/fsck_ffs/main.c
@@ -364,17 +364,19 @@ checkfilesys(char *filesys)
sujrecovery = 0;
printf("** Skipping journal, falling through to full fsck\n\n");
}
- /*
- * Write the superblock so we don't try to recover the
- * journal on another pass. If this is the only change
- * to the filesystem, we do not want it to be called
- * out as modified.
- */
- sblock.fs_mtime = time(NULL);
- sbdirty();
- ofsmodified = fsmodified;
- flush(fswritefd, &sblk);
- fsmodified = ofsmodified;
+ if (fswritefd != -1) {
+ /*
+ * Write the superblock so we don't try to recover the
+ * journal on another pass. If this is the only change
+ * to the filesystem, we do not want it to be called
+ * out as modified.
+ */
+ sblock.fs_mtime = time(NULL);
+ sbdirty();
+ ofsmodified = fsmodified;
+ flush(fswritefd, &sblk);
+ fsmodified = ofsmodified;
+ }
}
/*
* If the filesystem was run on an old kernel that did not