On Fri, 22 Apr 2011 08:09:12 -0400
Christoph Hellwig <[email protected]> wrote:

> On Fri, Apr 22, 2011 at 04:05:31PM +0400, Pavel Shilovsky wrote:
> > We call filemap_fdatawrite -> __filemap_fdatawrite(WB_SYNC_ALL) ->
> > __filemap_fdatawrite_range(WB_SYNC_ALL) -> do_writepages ->
> > cifs_writepages.
> > 
> > cifs_writepages with WB_SYNC_ALL is sync operations (even with you
> > async writepages set)
> 
> It really shouldn't be synchronous.  The defintion of WB_SYNC_ALL
> is that it doesn't skip pages when initiating writeout, but you still
> have to wait for them to complete using filemap_fdatawait.
> 

Yes, I think my current patchset is wrong. It has cifs_writepages wait
for all of the writes to complete before returning in the WB_SYNC_ALL
case. I think it would probably be better to have it just return after
submitting the writes, and have the write completion handler resubmit
them if the error is retryable.

-- 
Jeff Layton <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to