seek_sanity_test: use XFS ioctls to determine file allocation unit size
[xfstests-dev.git] / tests / cifs / 001
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (C) 2014 SUSE Linux Products GmbH. All Rights Reserved.
4 #
5 # FS QA Test No. cifs/001
6 #
7 # Sanity test for server-side copies initiated via CIFS_IOC_COPYCHUNK_FILE
8 #
9 . ./common/preamble
10 _begin_fstest auto quick
11
12 # Override the default cleanup function.
13 _cleanup()
14 {
15         rm -f $tmp.*
16         rm -rf $TEST_DIR/$$
17 }
18
19 # Import common functions.
20 . ./common/filter
21
22 # real QA test starts here
23 _supported_fs cifs
24 _require_cloner
25 _require_test
26
27 mkdir -p $TEST_DIR/$$/src || _fail "failed to create clone src dir"
28 mkdir -p $TEST_DIR/$$/dest || _fail "failed to create clone dest dir"
29
30 # populate 10 files, 1K-10K in size
31 for i in `seq 1 10`; do
32         len=$(($i * 1024))
33         $XFS_IO_PROG -f -c "pwrite -S $i 0 $len" $TEST_DIR/$$/src/${i} \
34                 | _filter_xfs_io
35 done
36 sync
37
38 # clone each, then compare both versions
39 for i in `seq 1 10`; do
40         $CLONER_PROG $TEST_DIR/$$/src/${i} $TEST_DIR/$$/dest/${i}
41         diff $TEST_DIR/$$/src/${i} $TEST_DIR/$$/dest/${i}
42 done
43
44 status=0
45 exit