Project

General

Profile

Actions

Bug #44813

closed

Sendfile on cephfs result in 0 bytes data on other node

Added by Nicolas Gaston about 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
fs/ceph
Target version:
% Done:

0%

Source:
Community (user)
Tags:
cephfs ceph.ko libceph.ko
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):

Description

Hi,

I use sendfile function to write data on cephfs (eg : https://github.com/pijewski/sendfile-example/). I need to write data from file descriptor to file descriptor whitout copy any data into the user space.

On ceph node1 (mgr, mon osd, mds) file is 10 Mo large : OK

[root@node1 sendfile-example]# ls
10m-file Makefile README.md sendfile sendfile.c
[root@node1 sendfile-example]# ./sendfile 10m-file 10m-file.out $(( 10 * 1024 * 1024 ))
Sent 10240 KiB over sendfile(3EXT) of 10240 KiB requested
[root@node1 sendfile-example]# ll
total 20492
rw-r--r- 1 root root 10485760 Mar 27 11:24 10m-file
------x--- 1 root root 10485760 Mar 30 14:14 10m-file.out

On node2 (mgr, mon osd, mds) file is 0 bytesl large : KO

[root@node2sendfile-example]# ll
total 10252
rw-r--r- 1 root root 10485760 Mar 27 11:24 10m-file
------x--- 1 root root 0 Mar 30 14:14 10m-file.out

I used CentOS 7.7 last kernel update (3.10.X)

To force data update on ceph client i need to used touch on file.

It is reproductible on ceph 12.x, 14.x and 15.x.

To workaroud the problem I have installed kernel-lt from ELrepo which is in 4.4. It seem to work fine in these kernel version.

I suspect ceph.ko or libceph.ko to not work properly in kernel 3.10

1/ Is it possible to confirm the bug
2/ Is there any issue in roadmap to update ceph client on kernel 3.10 ? i can not use ELrepo Kernel 4.4 because it's a production environnement ...

Thanks for Help

Best Regards


Files

Actions

Also available in: Atom PDF