diff options
Diffstat (limited to 'init/do_mounts.c')
-rw-r--r-- | init/do_mounts.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 9b3565c41502..eb410083e8e0 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c | |||
@@ -395,8 +395,6 @@ retry: | |||
395 | case 0: | 395 | case 0: |
396 | goto out; | 396 | goto out; |
397 | case -EACCES: | 397 | case -EACCES: |
398 | flags |= MS_RDONLY; | ||
399 | goto retry; | ||
400 | case -EINVAL: | 398 | case -EINVAL: |
401 | continue; | 399 | continue; |
402 | } | 400 | } |
@@ -419,6 +417,10 @@ retry: | |||
419 | #endif | 417 | #endif |
420 | panic("VFS: Unable to mount root fs on %s", b); | 418 | panic("VFS: Unable to mount root fs on %s", b); |
421 | } | 419 | } |
420 | if (!(flags & MS_RDONLY)) { | ||
421 | flags |= MS_RDONLY; | ||
422 | goto retry; | ||
423 | } | ||
422 | 424 | ||
423 | printk("List of all partitions:\n"); | 425 | printk("List of all partitions:\n"); |
424 | printk_all_partitions(); | 426 | printk_all_partitions(); |