ceph/qa/workunits/kclient/file_layout.sh
Greg Farnum 9f5d16384a file_layout.sh: add test for setting a new data pool
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-08-18 17:36:22 -07:00

57 lines
1.6 KiB
Bash
Executable File

#!/bin/sh -ex
MB=1048576
twoMB=$((2*MB))
rm -r layout_test || true
rm new_layout || true
rm file2_layout || true
rm temp || true
echo "layout.data_pool: 0
layout.object_size: 1048576
layout.stripe_unit: 1048576
layout.stripe_count: 1
layout.preferred_osd: -1" > new_layout
echo "layout.data_pool: 0
layout.object_size: 2097152
layout.stripe_unit: 1048576
layout.stripe_count: 2
layout.preferred_osd: -1" > file2_layout
echo "layout.data_pool: 3
layout.object_size: 2097152
layout.stripe_unit: 1048576
layout.stripe_count: 2
layout.preferred_osd: -1" > file3_layout
mkdir layout_test
cephfs layout_test show_layout
cephfs layout_test set_layout -u $MB -c 1 -s $MB
touch layout_test/file1
cephfs layout_test/file1 show_layout > temp
diff new_layout temp || return 1
echo "hello, I'm a file" > layout_test/file1
cephfs layout_test/file1 show_layout > temp
diff new_layout temp || return 1
touch layout_test/file2
cephfs layout_test/file2 show_layout > temp
diff new_layout temp || return 1
cephfs layout_test/file2 set_layout -u $MB -c 2 -s $twoMB
cephfs layout_test/file2 show_layout > temp
diff file2_layout temp || return 1
echo "hello, I'm a file with a custom layout" > layout_test/file2
touch layout_test/file3
cephfs layout_test/file3 show_layout > temp
diff new_layout temp || return 1
ceph osd pool create newpool || true
ceph mds add_data_pool 3 || true
cephfs layout_test/file3 set_layout -p 3 -u $MB -c 2 -s $twoMB
cephfs layout_test/file3 show_layout > temp
diff file3_layout temp || return 1
echo "hello, I'm a file in pool3" > layout_test/file3
sync
echo "OK"