On 08/26/2014 05:26 PM, Trond Myklebust wrote: > On Tue, Aug 26, 2014 at 10:10 AM, Boaz Harrosh <boaz@xxxxxxxxxxxxx> wrote: >> + >> + /* kick out any segs held by need to commit */ >> + pnfs_layoutcommit_inode(ino, true); > > Making this call synchronous could deadlock the entire back channel. > Is there any reason why it can't just be made asynchonous? > We were just talking about that. So the logic here is that we want to save round trips and make this as efficient as possible with no extra round trips for the server recall. A single RECALL => LAYOUT_COMMIT => LAYOUT_COMMIT_REPLAY REACLL_REPLAY_NO_MATCHING. Please explain the deadlock you foresee. The worst is that the mal-behaving server will time-out and after a long time the RECALL_REPLAY will return with ERR. But why do you say deadlock how can this deadlock? Otherwise Christoph's version of this patch does the asynchonous way which will always cause another poll of the RECALL and more delays for every RECALL operation, which I was trying to avoid. Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html