summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1994-08-21 08:47:10 +0000
committerdg <dg@FreeBSD.org>1994-08-21 08:47:10 +0000
commit85171386d8fd62db23adb9abf59da50de6da54da (patch)
tree07f485650c701e0a6ff5fbc8643da1f8a2731d68 /sbin
parentd8d07f969e93bb43feefef9582472462ae939153 (diff)
downloadFreeBSD-src-85171386d8fd62db23adb9abf59da50de6da54da.zip
FreeBSD-src-85171386d8fd62db23adb9abf59da50de6da54da.tar.gz
Better support for clean bit: prompt the user to fix it if it's wrong
when not preening, and indicate if it was fixed when preening.
Diffstat (limited to 'sbin')
-rw-r--r--sbin/fsck/main.c3
-rw-r--r--sbin/fsck/pass5.c9
-rw-r--r--sbin/fsck_ffs/main.c3
-rw-r--r--sbin/fsck_ffs/pass5.c9
-rw-r--r--sbin/fsck_ifs/main.c3
-rw-r--r--sbin/fsck_ifs/pass5.c9
6 files changed, 30 insertions, 6 deletions
diff --git a/sbin/fsck/main.c b/sbin/fsck/main.c
index f2dba1c..5ff6918 100644
--- a/sbin/fsck/main.c
+++ b/sbin/fsck/main.c
@@ -285,8 +285,7 @@ checkfilesys(filesys, mntpt, auxdata, child)
duplist = (struct dups *)0;
muldup = (struct dups *)0;
inocleanup();
- if (fsmodified || (!sblock.fs_clean && preen && !nflag && !hotroot)) {
- sblock.fs_clean = 1;
+ if (fsmodified) {
(void)time(&sblock.fs_time);
sbdirty();
}
diff --git a/sbin/fsck/pass5.c b/sbin/fsck/pass5.c
index 2e98f96..84e4ba7 100644
--- a/sbin/fsck/pass5.c
+++ b/sbin/fsck/pass5.c
@@ -316,4 +316,13 @@ pass5()
fs->fs_fmod = 0;
sbdirty();
}
+ if (fs->fs_clean == 0) {
+ pwarn("CLEAN FLAG IS WRONG IN SUPERBLOCK");
+ if (preen)
+ printf(" (FIXED)\n");
+ if (preen || reply("FIX") == 1) {
+ fs->fs_clean = 1;
+ sbdirty();
+ }
+ }
}
diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c
index f2dba1c..5ff6918 100644
--- a/sbin/fsck_ffs/main.c
+++ b/sbin/fsck_ffs/main.c
@@ -285,8 +285,7 @@ checkfilesys(filesys, mntpt, auxdata, child)
duplist = (struct dups *)0;
muldup = (struct dups *)0;
inocleanup();
- if (fsmodified || (!sblock.fs_clean && preen && !nflag && !hotroot)) {
- sblock.fs_clean = 1;
+ if (fsmodified) {
(void)time(&sblock.fs_time);
sbdirty();
}
diff --git a/sbin/fsck_ffs/pass5.c b/sbin/fsck_ffs/pass5.c
index 2e98f96..84e4ba7 100644
--- a/sbin/fsck_ffs/pass5.c
+++ b/sbin/fsck_ffs/pass5.c
@@ -316,4 +316,13 @@ pass5()
fs->fs_fmod = 0;
sbdirty();
}
+ if (fs->fs_clean == 0) {
+ pwarn("CLEAN FLAG IS WRONG IN SUPERBLOCK");
+ if (preen)
+ printf(" (FIXED)\n");
+ if (preen || reply("FIX") == 1) {
+ fs->fs_clean = 1;
+ sbdirty();
+ }
+ }
}
diff --git a/sbin/fsck_ifs/main.c b/sbin/fsck_ifs/main.c
index f2dba1c..5ff6918 100644
--- a/sbin/fsck_ifs/main.c
+++ b/sbin/fsck_ifs/main.c
@@ -285,8 +285,7 @@ checkfilesys(filesys, mntpt, auxdata, child)
duplist = (struct dups *)0;
muldup = (struct dups *)0;
inocleanup();
- if (fsmodified || (!sblock.fs_clean && preen && !nflag && !hotroot)) {
- sblock.fs_clean = 1;
+ if (fsmodified) {
(void)time(&sblock.fs_time);
sbdirty();
}
diff --git a/sbin/fsck_ifs/pass5.c b/sbin/fsck_ifs/pass5.c
index 2e98f96..84e4ba7 100644
--- a/sbin/fsck_ifs/pass5.c
+++ b/sbin/fsck_ifs/pass5.c
@@ -316,4 +316,13 @@ pass5()
fs->fs_fmod = 0;
sbdirty();
}
+ if (fs->fs_clean == 0) {
+ pwarn("CLEAN FLAG IS WRONG IN SUPERBLOCK");
+ if (preen)
+ printf(" (FIXED)\n");
+ if (preen || reply("FIX") == 1) {
+ fs->fs_clean = 1;
+ sbdirty();
+ }
+ }
}
OpenPOWER on IntegriCloud