Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-15 Thread Krishnan Parthasarathi
Emmanuel, Pranith works on glustershd, CC'ing him. ~KP - Original Message - Emmanuel Dreyfus m...@netbsd.org wrote: Here is the problem: once readdir() has reached the end of the directory, on Linux, telldir() will report the last entry's offset, while on NetBSD, it will report

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-13 Thread Emmanuel Dreyfus
Emmanuel Dreyfus m...@netbsd.org wrote: Here is the problem: once readdir() has reached the end of the directory, on Linux, telldir() will report the last entry's offset, while on NetBSD, it will report an invalid offset (it is in fact the offset of the next entry beyond the last one, which

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-12 Thread Emmanuel Dreyfus
On Fri, Sep 12, 2014 at 06:31:55AM +0200, Emmanuel Dreyfus wrote: It is fine for me that glusterd_bricks_select_heal_volume() finds 3 bricks, they are the 3 remaining alive bricks. However I am surprised to see the first in the list having rpc-conn.name = management. It should be a brick name

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-12 Thread Emmanuel Dreyfus
Emmanuel Dreyfus m...@netbsd.org wrote: I will not look for why this offset is corrupted. s/not/now/ of course... -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org ___ Gluster-devel mailing list Gluster-devel@gluster.org

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-11 Thread Santosh Pradhan
On 09/11/2014 10:11 AM, Krishnan Parthasarathi wrote: Emmanuel, The scheduling of a paused task happens when the epoll thread receives a POLLIN event along with the response from the remote endpoint. This is contingent on the fact that the call back must issue a synctask_wake, which will

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-11 Thread Emmanuel Dreyfus
On Thu, Sep 11, 2014 at 02:00:08PM +0530, Santosh Pradhan wrote: Does this whole framework work with poll() interface (not epoll() interface)? If yes, it should work in BSD flavours. If it needs epoll() then it may not work in BSD flavoured ones which does not have epoll() which is pointed out

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-11 Thread Emmanuel Dreyfus
Krishnan Parthasarathi kpart...@redhat.com wrote: The scheduling of a paused task happens when the epoll thread receives a POLLIN event along with the response from the remote endpoint. This is contingent on the fact that the call back must issue a synctask_wake, which will trigger the

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-11 Thread Emmanuel Dreyfus
Krishnan Parthasarathi kpart...@redhat.com wrote: If you left the hung setup for over ten minutes from the time the bricks went down, you should see logs corresponding to one of the above two mechanisms in action. Let me know if you don't. Then we need to investigate further. Yes, it is able

[Gluster-devel] How does GD_SYNCOP work?

2014-09-10 Thread Emmanuel Dreyfus
Hi I am tracking a bug that appear when running self_heald.t on NetBSD. The test will hang on: EXPECT $HEAL_FILES afr_get_pending_heal_count $V0 The problem inside afr_get_pending_heal_count is when calling gluster volume heal $vol info The command will never return. By adding a lot of

Re: [Gluster-devel] How does GD_SYNCOP work?

2014-09-10 Thread Krishnan Parthasarathi
Emmanuel, The scheduling of a paused task happens when the epoll thread receives a POLLIN event along with the response from the remote endpoint. This is contingent on the fact that the call back must issue a synctask_wake, which will trigger the resumption of the task (in one of the threads