Re: EAGAIN/EBUSY handling in glusterfs

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

 





On Tue, Jan 22, 2013 at 10:39 PM, Shishir Gowda <sgowda@xxxxxxxxxx> wrote:
Hi All,

Currently I see that almost all the xlators in glusterfs do not handle EAGAIN/EBUSY errors.

Though this should be handled by the applications,

If by "handle by application" you meant "handled by retrying syscall by application", that is not completely true. More generally it is true for EINTR, and some places for EAGAIN (i.e when used on non-blocking pollable file descriptors like sockets - which specifically does NOT include filesystem for regular read/write). EBUSY almost always does not suggest a poll/retry to the application.
 
there are multiple paths where the op's are not performed by the applications (but are internal to glusterfs).

Few of these are
 a. Rebalance
 b. Replace brick
 c. Self-heal
 d. lk's
etc...

With the proposed snap feature (http://www.gluster.org/community/documentation/index.php/Features/snapshot), would it not be better to identify such op's inside glusterfs?


Can you explain more on that? Why is that necessary?

Thanks,
Avati
 
Irrespective of the snap feature, I think it is about correctness to handle EAGAIN/EBUSY in these code paths.

Please comment.

With regards,
Shishir


_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxx
https://lists.nongnu.org/mailman/listinfo/gluster-devel


[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