[Grml-devel] [PATCH] added -F option to run fsck before mounting a filesystem

Michael Prokop mika at grml.org
Mon May 31 04:01:28 CEST 2010


Hi,

* Thomas Koehler <jean-luc at picard.franken.de> [Fri May 28, 2010 at 11:14:33AM +0200]:
> ---
>  TODO             |    1 -
>  grml-crypt       |    8 +++++++-
>  grml-crypt.8.txt |    4 ++++
>  3 files changed, 11 insertions(+), 2 deletions(-)

> diff --git a/TODO b/TODO
> index db4e0cb..b6e8fde 100644
> --- a/TODO
> +++ b/TODO
> @@ -1,7 +1,6 @@
>   - better cipher choosing (xts,essiv,plain)
>   - rename?
>   - add optimized ext3 fs profile for crypto (deactivated journal, activated dir_index and filetype)
> - - add --fsck for start (execute "sleep 3 && fsck -C $DM_PATH_" || die "fsck failed on $DM_PATH_") (request thokoeh)

>  Cleanup:
>  hook_pre_initialize_=""
> diff --git a/grml-crypt b/grml-crypt
> index 0aef76d..fade32e 100755
> --- a/grml-crypt
> +++ b/grml-crypt
> @@ -35,6 +35,7 @@ DM_PATH_=""
>  ACTION_=""
>  DM_PREFIX_="grml-crypt_"
>  FORCE_='false'
> +FSCK_='false'
>  ENTROPY_SOURCE_='/dev/urandom'
>  OPTIMIZED_MODE_SET_='false'
>  OPTIMIZING_LEVEL_=0
> @@ -65,6 +66,7 @@ OPTIONS:
>     -o         optimised initialisation mode (should be as secure as the default but faster)
>     -y         verifies the passphrase by asking for it twice
>     -f         force file overwriting in format mode and/or disable confirmation dialog
> +   -F         only for action start: run fsck before mounting the filesystem
>     -m         additional arguments to mount
>     -v         verbose (show what is going on, v++)
>     -h         this help text
> @@ -184,6 +186,9 @@ function actionStart
>    $READONLY_SET_ && cargs_='--readonly'
>    execute "$CRYPTSETUP_ $cargs_ luksOpen $TARGET_ $DM_NAME_" warn || execute "losetup -d $TARGET_" || \
>      die "could not luksOpen $TARGET_"
> +  if [[ "$FSCK_" == "true" ]] ; then
> +    execute "fsck -C $DM_NAME_" || die "fsck failed on $DM_NAME_"
> +  fi
>    margs_=""
>    $READONLY_SET_ && margs_='-r'
>    execute "mount $margs_ $ADDITIONAL_MOUNT_ARGS_ $DM_PATH_ $MOUNT_POINT_" die
> @@ -334,7 +339,7 @@ function actionFormat
>  ### __MAIN
>  ###

> -while getopts "s:t:rzoyfm:hvS:C:I:A:" opt; do
> +while getopts "s:t:rzoyfFm:hvS:C:I:A:" opt; do
>    case "$opt" in
>      s) SIZE_="$OPTARG"; SIZE_SET_='true' ;;
>      t) FSTYPE_="$OPTARG" ;;
> @@ -346,6 +351,7 @@ while getopts "s:t:rzoyfm:hvS:C:I:A:" opt; do
>          OPTIMIZED_MODE_SET_='true' ;;
>      y) VERIFY_PW_="--verify-passphrase" ;;
>      f) FORCE_='true' ;;
> +    F) FSCK_='true' ;;
>      m) ADDITIONAL_MOUNT_ARGS_="$OPTARG" ;;
>      h) printUsage; exit ;;
>      v) let verbose_=$verbose_+1 ;;
> diff --git a/grml-crypt.8.txt b/grml-crypt.8.txt
> index 4fb3045..07bb54e 100644
> --- a/grml-crypt.8.txt
> +++ b/grml-crypt.8.txt
> @@ -80,6 +80,10 @@ Shows what is going on (more v => more out).
>      be bigger than 2MB for LUKS only + the constraints from the filesystems
>      itself (eg. xfs needs a minimum of 4096 blocks).

> +*-F*::
> +    Only for action start: Run fsck on the filesystem before mounting it to
> +    the given mountpoint.
> +
>  *-m*::
>      Additional arguments passed through to mount. Could be like "'-o noatime'".

ACK, looks fine for me and if Gebi doesn't object I'll apply it.

Thanks!

regards,
-mika-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://ml.grml.org/pipermail/grml-devel/attachments/20100531/d314d6f3/attachment.pgp>


More information about the Grml-devel mailing list