From 27dc8f159c58f744092db58aa7e46b972243c7e4 Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Fri, 19 Feb 2016 10:44:11 +1100 Subject: [PATCH] common: _scratch_mkfs_sized() for tmpfs Enable _scratch_mkfs_sized() for use with tmpfs, so that tests which use this helper can now run. Signed-off-by: Hugh Dickins Signed-off-by: Junho Ryu Signed-off-by: Theodore Ts'o Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- common/rc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/common/rc b/common/rc index 52c4a36e..582a32c8 100644 --- a/common/rc +++ b/common/rc @@ -783,6 +783,12 @@ _scratch_pool_mkfs() esac } +# Return the amount of free memory available on the system +_free_memory_bytes() +{ + free -b | grep ^Mem | awk '{print $4}' +} + # Create fs of certain size on scratch device # _scratch_mkfs_sized [optional blocksize] _scratch_mkfs_sized() @@ -813,7 +819,7 @@ _scratch_mkfs_sized() blocks=`expr $fssize / $blocksize` - if [ "$HOSTOS" == "Linux" ]; then + if [ "$HOSTOS" == "Linux" -a -b "$SCRATCH_DEV" ]; then devsize=`blockdev --getsize64 $SCRATCH_DEV` [ "$fssize" -gt "$devsize" ] && _notrun "Scratch device too small" fi @@ -849,6 +855,13 @@ _scratch_mkfs_sized() sector_size=`blockdev --getss $SCRATCH_DEV` $MKFS_F2FS_PROG $MKFS_OPTIONS $SCRATCH_DEV `expr $fssize / $sector_size` ;; + tmpfs) + free_mem=`_free_memory_bytes` + if [ "$free_mem" -lt "$fssize" ] ; then + _notrun "Not enough memory ($free_mem) for tmpfs with $fssize bytes" + fi + export MOUNT_OPTIONS="-o size=$fssize $TMPFS_MOUNT_OPTIONS" + ;; *) _notrun "Filesystem $FSTYP not supported in _scratch_mkfs_sized" ;; -- 2.39.5