Hi all,

Using sendfile function to write data to cephfs, the data doesn't end up being 
written.
>From the client that writes the file, it looks correct at first, but from all 
>other ceph clients, the size is 0 bytes. Re-mounting the filesystem, the data 
>is lost.
I didn't see any errors, the data just doesn't get written, as if it's just 
cached in cephfs client.
Writing just an extra byte at the end of the file (without sendfile), it seems 
to trigger the actual write of all the data.

Could someone else confirm if they are also seeing such issue? I'm on ceph 
13.2.8, using kernel module for mounting on CentOS7.

I've used this sendfile-example for the example below:
https://github.com/pijewski/sendfile-example/blob/master/sendfile.c

Using a small 27 byte source file.
# ls -lh examples/
-rw-r--r-- 1 root c3-staff 27 Mar 24 18:04 src
# ./sendfile examples/src examples/dst 27
# ls -lh examples/
------x--- 1 root c3-staff 27 Mar 24 18:12 dst
-rw-r--r-- 1 root c3-staff 27 Mar 24 18:04 src

But, directory is still on 27 bytes:
# ls -lhd examples
drwxr-sr-x 1 root c3-staff 27 Mar 24 18:15 examples

and on all other cephfs clients, the file is empty:
# ls -lh examples/
------x--- 1 root c3-staff  0 Mar 24 18:12 dst
-rw-r--r-- 1 root c3-staff 27 Mar 24 18:04 src

Is this a bug in cephfs, or should I not expect sendfile to work (as it is not 
posix compliant). There are no error reported from what i can see, and it is 
100% reproducible 

Best regards, Mikael
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to