mirror of
https://github.com/gluster/glusterfs.git
synced 2026-02-06 18:48:16 +01:00
* 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>