Currenly large_fs check compare $SCRATCH_DEV_EMPTY_SPACE and $fs_size which is not correct because total empty size required is $SCRATCH_DEV_EMPTY_SPACE + 50Gb This path fix space detection, so check becomes valid for all situations. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> --- common/rc | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/common/rc b/common/rc index fe6bbfc..c44acea 100644 --- a/common/rc +++ b/common/rc @@ -306,16 +306,17 @@ _setup_large_xfs_fs() { fs_size=$1 local tmp_dir=/tmp/ + # Default free space in the FS is 50GB, but you can specify more via + # SCRATCH_DEV_EMPTY_SPACE + fs_empty_space=$((50*1024*1024*1024)) [ "$LARGE_SCRATCH_DEV" != yes ] && return 0 - [ -z "$SCRATCH_DEV_EMPTY_SPACE" ] && SCRATCH_DEV_EMPTY_SPACE=0 - [ $SCRATCH_DEV_EMPTY_SPACE -ge $fs_size ] && return 0 + [ -z "$SCRATCH_DEV_EMPTY_SPACE" ] && SCRATCH_DEV_EMPTY_SPACE=0 + fs_empty_space=$((fs_empty_space + $SCRATCH_DEV_EMPTY_SPACE)) + [ $fs_empty_space -ge $fs_size ] && return 0 # calculate the size of the file we need to allocate. - # Default free space in the FS is 50GB, but you can specify more via - # SCRATCH_DEV_EMPTY_SPACE - file_size=$(($fs_size - 50*1024*1024*1024)) - file_size=$(($file_size - $SCRATCH_DEV_EMPTY_SPACE)) + file_size=$(($fs_size - $fs_empty_space)) # mount the filesystem, create the file, unmount it _scratch_mount 2>&1 >$tmp_dir/mnt.err @@ -434,15 +435,17 @@ _setup_large_ext4_fs() { fs_size=$1 local tmp_dir=/tmp/ - - [ "$LARGE_SCRATCH_DEV" != yes ] && return 0 - [ -z "$SCRATCH_DEV_EMPTY_SPACE" ] && SCRATCH_DEV_EMPTY_SPACE=0 - [ $SCRATCH_DEV_EMPTY_SPACE -ge $fs_size ] && return 0 - # Default free space in the FS is 50GB, but you can specify more via # SCRATCH_DEV_EMPTY_SPACE - space_to_consume=$(($fs_size - 50*1024*1024*1024 - $SCRATCH_DEV_EMPTY_SPACE)) + fs_empty_space=$((50*1024*1024*1024)) + [ "$LARGE_SCRATCH_DEV" != yes ] && return 0 + [ -z "$SCRATCH_DEV_EMPTY_SPACE" ] && SCRATCH_DEV_EMPTY_SPACE=0 + fs_empty_space=$((fs_empty_space + $SCRATCH_DEV_EMPTY_SPACE)) + [ $fs_empty_space -ge $fs_size ] && return 0 + + # calculate the size of the file we need to allocate. + space_to_consume=$(($fs_size - $fs_empty_space)) # mount the filesystem and create 16TB - 4KB files until we consume # all the necessary space. _scratch_mount 2>&1 >$tmp_dir/mnt.err -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html