mirror of
https://github.com/ceph/ceph
synced 2024-12-25 04:43:17 +00:00
efa03cef5e
The default of 8 is virtually never the right answer. Require the initial pg count to be explicitly provided. Signed-off-by: Sage Weil <sage@inktank.com>
80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 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" > new_layout
|
|
echo "layout.data_pool: 0
|
|
layout.object_size: 2097152
|
|
layout.stripe_unit: 1048576
|
|
layout.stripe_count: 2" > file2_layout
|
|
echo "layout.data_pool: 3
|
|
layout.object_size: 1048576
|
|
layout.stripe_unit: 1048576
|
|
layout.stripe_count: 1" > file3_layout
|
|
echo "layout.data_pool: 0
|
|
layout.object_size: 1048576
|
|
layout.stripe_unit: 262144
|
|
layout.stripe_count: 1" > file4_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
|
|
sudo ls /sys/kernel/debug/ceph
|
|
sudo ls /sys/kernel/debug/ceph/\* || true
|
|
sudo bash -c 'ls /sys/kernel/debug/ceph/*' || true
|
|
sudo bash -c 'cat /sys/kernel/debug/ceph/*/mdsmap' > temp
|
|
ceph osd pool create newpool 2 || true
|
|
ceph mds add_data_pool 3 || true
|
|
sudo bash -c 'cat /sys/kernel/debug/ceph/*/mdsmap' > temp2
|
|
while diff -q temp2 temp
|
|
do
|
|
echo "waiting for mdsmap to update"
|
|
sleep 1
|
|
sudo bash -c 'cat /sys/kernel/debug/ceph/*/mdsmap' > temp2
|
|
done
|
|
sudo rm temp temp2
|
|
|
|
cephfs layout_test/file3 set_layout -p 3
|
|
cephfs layout_test/file3 show_layout > temp
|
|
diff file3_layout temp || return 1
|
|
echo "hello, I'm a file in pool3" > layout_test/file3
|
|
|
|
touch layout_test/file4
|
|
cephfs layout_test/file4 show_layout > temp
|
|
diff new_layout temp || return 1
|
|
cephfs layout_test/file4 set_layout -u 262144
|
|
cephfs layout_test/file4 show_layout > temp
|
|
diff file4_layout temp || return 1
|
|
echo "hello, I'm a file with a small stripe unit!" > layout_test/file3
|
|
|
|
sync
|
|
echo "OK"
|