[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1373367918-7516-1-git-send-email-dmonakhov@openvz.org>
Date: Tue, 9 Jul 2013 15:05:15 +0400
From: Dmitry Monakhov <dmonakhov@...nvz.org>
To: xfs@....sgi.com
Cc: linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org,
dchinner@...hat.com, Dmitry Monakhov <dmonakhov@...nvz.org>
Subject: [PATCH 1/4] large-fs: fix large_fs space detection
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@...nvz.org>
---
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists