Re: [PATCH v2] generic/299: limit max file size

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]





On 2019/2/18 11:56, Dave Chinner wrote:
On Mon, Feb 18, 2019 at 09:57:41AM +0800, Yufen Yu wrote:
For some filesystem, such as vfat, the max support file size
is 4G. We limit the max size and let the test go on running.

Signed-off-by: Yufen Yu <yuyufen@xxxxxxxxxx>
---
  common/rc         | 9 +++++++++
  tests/generic/299 | 5 +++++
  2 files changed, 14 insertions(+)

diff --git a/common/rc b/common/rc
index e5da6484..94148029 100644
--- a/common/rc
+++ b/common/rc
@@ -3785,6 +3785,15 @@ _require_scratch_feature()
  	esac
  }
+# get mount point filesystem max file size
+_get_file_max_size()
+{
+	local mnt_point=$1
+
+	bits=`getconf FILESIZEBITS ${mnt_point}`
+	echo "$((2**bits-1))"
+}
Did you test this?

$ echo "$((2**64-1))"
-1

Sorry for my carelessness.

$

  # The maximum filesystem label length, /not/ including terminating NULL
  _label_get_max()
  {
diff --git a/tests/generic/299 b/tests/generic/299
index c4d74fc8..175aa6f2 100755
--- a/tests/generic/299
+++ b/tests/generic/299
@@ -33,6 +33,11 @@ NUM_JOBS=$((4*LOAD_FACTOR))
  BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
  FILE_SIZE=$((BLK_DEV_SIZE * 512))
+# filesystem limit max file size
+max_file_size=$(_get_file_max_size $SCRATCH_MNT)
+FILE_SIZE=$([ $max_file_size -le $FILE_SIZE ] && \
+		echo "$max_file_size" || echo "$FILE_SIZE")
+
It's much easier to read if you use if/then:

max_file_size=$(_get_file_max_size $SCRATCH_MNT)
if [ $max_file_size -lt $FILE_SIZE ]; then
	FILE_SIZE=$max_file_size
fi

OK.

Yufen
Thanks.

Cheers,

Dave.

.




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux