1
0
mirror of https://github.com/gluster/glusterfs.git synced 2026-02-06 18:48:16 +01:00
Files
Csaba Henk e49b368e2a fuse: upgrade FUSE protocol to 7.28 (#3931)
* fuse: upgrade FUSE protocol to 7.28

Note: FUSE 7.28 introduces the FUSE_COPY_FILE_RANGE message,
for which we have already a dormant handler, which thus
becomes activated. However, the handling code is not
complete, and therefore copy_file_range(2) might exhibit
failures. (If we don't handle this message, as was the
case so far, VFS uses a generic copy_file_range implementation,
so in this case the syscall works properly).

This will be amended in a subsequent commit.

Updates: #3930
Change-Id: I4147c91d4e50d8f90108dc1c9bf7b8b8506d9c48
Signed-off-by: Csaba Henk <csaba@redhat.com>

* fuse: quarantine copy_file_range

We are on FUSE 7.28 now, so the FUSE_COPY_FILE_RANGE
message is defined and the dormant handler we have for
it since #536 became activated. However, the handler:

- is admittedly partially complete (several translators
  missing an implementation of the respective fop);
- exhibits faulty behavior (more on that later).

This broke the copy_file_range(2) syscall, which was
working properly so far with the generic handler.

Therefore now we disable by default our handler for
copy_file_range, thus allowing the generic copy_file_range
code to take the driver's seat again. We also  provide a
hidden command line option,
--fuse-handle_copy_file_range[=<BOOL>, to allow to enable
the handler for development purposes.

As of the bugs: the copy_file_range backend (which was
available via gfapi so far) has its own test suite in
tests/basic/gfapi/gfapi-copy-file-range.t. We cleaned
up and extended this test suite; one of the added test
cases is failing though -- we commented that out and
marked with 'XXX'.

We also added a similar test suite for copy_file_range
via the fuse interface (nb. the aforementioned gfapi
based test suite is also exercising XFS reflink
functionality; here we omitted that part). The new
test suite is placed in the flaky category right away
(also with 'XXX' marks to indicate the failing cases).
See this at tests/000-flaky/features_copy-file-range.t.

Fixes: #3930
Change-Id: I9772c95b8deccb334d5577cd027a5dfc4cd9926f
Signed-off-by: Csaba Henk <csaba@redhat.com>
2023-02-16 09:42:03 +01:00
..
2016-06-17 01:27:31 -04:00
2022-06-27 11:12:34 +02:00
2017-06-01 06:56:22 -04:00
2017-10-04 14:34:48 +05:30
2019-07-25 11:00:29 +05:30
2018-09-12 17:52:45 +05:30