Re: Cephfs and ERESTARTSYS on writes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 23, 2015 at 4:23 PM, Vedran Furač <vedran.furac@xxxxxxxxx> wrote:
> On 07/23/2015 03:20 PM, Gregory Farnum wrote:
>> On Thu, Jul 23, 2015 at 1:17 PM, Vedran Furač <vedran.furac@xxxxxxxxx> wrote:
>>> Hello,
>>>
>>> I'm having an issue with nginx writing to cephfs. Often I'm getting:
>>>
>>> writev() "/home/ceph/temp/44/94/1/0000119444" failed (4: Interrupted
>>> system call) while reading upstream
>>>
>>> looking with strace, this happens:
>>>
>>> ...
>>> write(65, "e\314\366\36\302"..., 65536) = ? ERESTARTSYS (To be restarted)
>>>
>>> It happens after first 4MBs (exactly) are written, subsequent write gets
>>> ERESTARTSYS (sometimes, but more rarely, it fails after first 32 or
>>> 64MBs, etc are written). Apparently nginx doesn't expect this and
>>> doesn't handle it so it cancels writes and deletes this partial file.
>>>
>>> Is it possible Ceph cannot find the destination PG fast enough and
>>> returns ERESTARTSYS? Is there any way to fix this behavior or reduce it?
>>
>> That's...odd. Are you using the kernel client or ceph-fuse, and on
>> which version?
>
> Sorry, forgot to mention, it's kernel client, tried both 3.10 and 4.1,
> but it's the same. Ceph is firefly.

That's probably a wait_*() return value, meaning it timed out, so
userspace logs might help understand what's going on.  A separate issue
is that we leak ERESTARTSYS to userspace - this needs to be fixed.

Thanks,

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




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux