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

Michael Gebetsroither gebi at sbox.tugraz.at
Mon May 31 08:47:42 CEST 2010


Michael Prokop wrote:
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.

ACK, looks fine!

michael


More information about the Grml-devel mailing list