summaryrefslogtreecommitdiff
path: root/misc/fsck.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>1997-04-26 14:48:50 +0000
committerTheodore Ts'o <tytso@mit.edu>1997-04-26 14:48:50 +0000
commit7f88b04341d88c5df0360d930832c38040303b61 (patch)
tree21ca0d2bd71091fa77579937e38c1c3471ebfdcb /misc/fsck.c
parent126cf2f79e91807602159b5a7bb1d6c87ab6937d (diff)
downloade2fsprogs-7f88b04341d88c5df0360d930832c38040303b61.tar.gz
Many files:
Checkin of e2fsprogs 1.03.
Diffstat (limited to 'misc/fsck.c')
-rw-r--r--misc/fsck.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/misc/fsck.c b/misc/fsck.c
index 1d92c54c..5228b917 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -123,6 +123,7 @@ int serialize = 0;
int skip_root = 0;
int like_mount = 0;
int notitle = 0;
+int parallel_root = 0;
char *progname;
char *fstype = NULL;
struct fs_info *filesys_info;
@@ -555,16 +556,18 @@ static int check_all(NOARGS)
/*
* Find and check the root filesystem first.
*/
- for (fs = filesys_info; fs; fs = fs->next) {
- if (!strcmp(fs->mountpt, "/"))
- break;
- }
- if (fs && !skip_root && !ignore(fs)) {
- fsck_device(fs->device);
- fs->flags |= FLAG_DONE;
- status |= wait_all();
- if (status > EXIT_NONDESTRUCT)
- return status;
+ if (!parallel_root) {
+ for (fs = filesys_info; fs; fs = fs->next) {
+ if (!strcmp(fs->mountpt, "/"))
+ break;
+ }
+ if (fs && !skip_root && !ignore(fs)) {
+ fsck_device(fs->device);
+ fs->flags |= FLAG_DONE;
+ status |= wait_all();
+ if (status > EXIT_NONDESTRUCT)
+ return status;
+ }
}
if (fs) fs->flags |= FLAG_DONE;
@@ -699,6 +702,9 @@ static void PRS(int argc, char *argv[])
case 'M':
like_mount++;
break;
+ case 'P':
+ parallel_root++;
+ break;
case 's':
serialize++;
break;