Hi!

I mount cephfs using kernel client (3.10.0-229.11.1.el7.x86_64).

The effect is the same when doing "echo >>" from another machine and from a 
machine keeping the file open.

The file is opened with open( ..,  
O_WRONLY|O_LARGEFILE|O_APPEND|O_BINARY|O_CREAT)

Shell ">>" is implemented as (from strace bash -c "echo '7789' >>  
/mnt/ceph/test):

    open("/mnt/ceph/test", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3

The test file had ~500KB size.

Each subsequent "echo >>" writes to the start of the test file, first "echo" 
overwriting the original contents, next "echos" overwriting bytes written by 
the preceding "echo".

Thanks!

J.


On 01.09.2015 18:15, Gregory Farnum wrote:
>
>
> On Sep 1, 2015 4:41 PM, "Janusz Borkowski" <janusz.borkow...@infobright.com 
> <mailto:janusz.borkow...@infobright.com>> wrote:
> >
> > Hi!
> >
> > open( ... O_APPEND) works fine in a single system. If many processes write 
> > to the same file, their output will never overwrite each other.
> >
> > On NFS overwriting is possible, as appending is only emulated - each write 
> > is preceded by a seek to the current file size and race condition may occur.
> >
> > How it is in cephfs?
>
> CephFS generally ought to handle appends correctly. If it's not we will want 
> to fix that.
>
> >
> > I have a file F opened with  O_APPEND|O_WRONLY by some process. In a 
> > console I type
> >
> >     $ echo "asd" >> F
> >
> > Effectively, this is opening of file F by another process with O_APPEND 
> > flag .
> >
> > The string "asd" is written to the beginning of file F, overwriting the 
> > starting bytes in the file. Is it a bug or a feature? If a feature, how it 
> > is described?
>
> Are you doing this in the same box that's got the the file open, or a 
> different one? Are you using the ceph-fuse or kernel clients on the systems?
>
> I'm not sure how the shell actually handles >> so I'd like to see this 
> reproduced with strace or an example program to be sure it's really not 
> handling append properly.
> -Greg
>
> >
> > It is ceph Hammer and kernel 3.10.0-229.11.1.el7.x86_64
> >
> > Thanks!
> >
> > J.
> >
> > _______________________________________________
> > ceph-users mailing list
> > ceph-users@lists.ceph.com <mailto:ceph-users@lists.ceph.com>
> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>

_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to