Annoying ENOBUFS error in writev

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

 



Hello

I spent a fewdays tracking a bug with glusterfs on NetBSD. I use a full NetBSD
build within glusterfs as a stress test. 

The bug occurs within a configure script, where sed is invoked to turn a
configure into configure.lineno. The sed process hang, and traceing system
calls, I can see a read() system call that never returns from then kernel.

Tracing glusterfsd (on the client) shows this:
   501      3 glusterfsd RET   readv 80/0x50    (this is the FUSE frame)
   501      3 glusterfsd CALL  writev(7,0xb8a644c0,2)
   501      3 glusterfsd RET   writev -1 errno 55 No buffer space available

The deep cause of the problem is kernel buffer memory running low. I suspect
this condition never arise with factory settings on Linux, therefore the poor
error handling. it would be nice if glusterfsd could return a EIO (or ENOBUFS
if it makes sense) to FUSE, so that the kernel can detect the failure, instead
of remaining hung on the read() system call.

Thoughts?

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@xxxxxxxxxx



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux