[PATCH v2 0/3] Initial CephFS tests

Luis Henriques
2020-10-19T13:27:49Z

This is my second attempt to have an initial set of ceph-specific tests
merged into fstests. In this patchset I'm pushing a different set of
tests, focusing on the copy_file_range testing, although I *do* plan to
get back to the quota tests soon.

This syscall has a few peculiarities in ceph as it is able to use remote
object copies without the need to download/upload data from the OSDs.
However, in order to take advantage of this remote copy, the copy ranges
and sizes need to include at least one object. Thus, all the currently
existing generic tests won't actually take advantage of this feature.

Let me know any comments/concerns about this patchset. Also note that
currently, in order to have cephfs copy_file_range to take advantage of
remote object copies, the additional 'copyfrom' mount parameter is
required; if not used, the copy will fallback to the default VFS
implementation. (Hopefully this additional param will be dropped in the
future.)

Changes since v1:

- New _ceph_create_file_layout() function (in common/ceph) that creates
and sets the file layout
- Added commit IDs relevant to tracker issue#37378 (test 002)
- Fixed tests file mode to 755

(Also clarified cover-letter text regarding the 'copyfrom' usage.)

Luis Henriques (3):
ceph: add copy_file_range (remote copy operation) testing
ceph: test combination of copy_file_range with truncate
ceph: test copy_file_range with infile = outfile

common/ceph | 23 +++++
common/rc | 1 +
tests/ceph/001 | 233 +++++++++++++++++++++++++++++++++++++++++++++
tests/ceph/001.out | 129 +++++++++++++++++++++++++
tests/ceph/002 | 79 +++++++++++++++
tests/ceph/002.out | 8 ++
tests/ceph/003 | 116 ++++++++++++++++++++++
tests/ceph/003.out | 11 +++
tests/ceph/group | 3 +
9 files changed, 603 insertions(+)
create mode 100644 common/ceph
create mode 100755 tests/ceph/001
create mode 100644 tests/ceph/001.out
create mode 100755 tests/ceph/002
create mode 100644 tests/ceph/002.out
create mode 100755 tests/ceph/003
create mode 100644 tests/ceph/003.out
create mode 100644 tests/ceph/group