2016-08-18 14:42:53

by Eric Whitney

[permalink] [raw]
Subject: [PATCH] common/rc: improve _require_metadata_journaling() for ext4

The code in _require_metadata_journaling() currently rejects ext4 file
systems that have been created without a journal. However, an ext4
file system with a journal should also be rejected if the journal is
not loaded and made available for use at mount time.

Signed-off-by: Eric Whitney <[email protected]>
---
common/rc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/common/rc b/common/rc
index 3fb0600..9a3c9bd 100644
--- a/common/rc
+++ b/common/rc
@@ -3057,6 +3057,9 @@ _require_metadata_journaling()
_require_dumpe2fs
$DUMPE2FS_PROG -h $DEV 2>&1 | grep -q has_journal || \
_notrun "$FSTYP on $DEV not configured with metadata journaling"
+ # ext4 may not have loaded a journal
+ echo $MOUNT_OPTIONS | grep -q noload && \
+ _notrun "$FSTYP on $DEV not mounted with metadata journaling"
;;
*)
# by default we pass; if you need to, add your fs above!
--
2.1.4


2016-08-18 15:26:20

by Eryu Guan

[permalink] [raw]
Subject: Re: [PATCH] common/rc: improve _require_metadata_journaling() for ext4

On Thu, Aug 18, 2016 at 10:42:53AM -0400, Eric Whitney wrote:
> The code in _require_metadata_journaling() currently rejects ext4 file
> systems that have been created without a journal. However, an ext4
> file system with a journal should also be rejected if the journal is
> not loaded and made available for use at mount time.
>
> Signed-off-by: Eric Whitney <[email protected]>
> ---
> common/rc | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/common/rc b/common/rc
> index 3fb0600..9a3c9bd 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -3057,6 +3057,9 @@ _require_metadata_journaling()
> _require_dumpe2fs
> $DUMPE2FS_PROG -h $DEV 2>&1 | grep -q has_journal || \
> _notrun "$FSTYP on $DEV not configured with metadata journaling"
> + # ext4 may not have loaded a journal
> + echo $MOUNT_OPTIONS | grep -q noload && \
> + _notrun "$FSTYP on $DEV not mounted with metadata journaling"

I think this can be done by the new helper _exclude_scratch_mount_option
which was introduced recently, e.g.

_exclude_scratch_mount_option "noload"

Thanks,
Eryu

> ;;
> *)
> # by default we pass; if you need to, add your fs above!
> --
> 2.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2016-08-19 16:56:04

by Eric Whitney

[permalink] [raw]
Subject: Re: [PATCH] common/rc: improve _require_metadata_journaling() for ext4

>
> I think this can be done by the new helper _exclude_scratch_mount_option
> which was introduced recently, e.g.
>
_exclude_scratch_mount_option "noload"

This function would be better named if it didn't include "_scratch", since
it isn't scratch-specific. That would make it easier for the occasional
contributor/reader to recognize it for what it is at a glance.

Also, its header comment references MKFS_OPTIONS rather than MOUNT_OPTIONS.

Thanks,
Eric

>
> Thanks,
> Eryu