Re: [PATCH 2/6] CIFS: Make read call work with strict cache mode (try #4)

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

 



2010/12/7 Jeff Layton <jlayton@xxxxxxxxx>:
> Hmmm...that looks a little ugly. There is no batching here, so if the
> application sends you an array of very small iovecs, then that becomes
> a set of very small reads on the wire. I don't think that's what you
> want.

Jeff, I investigated this a little and found out a problem with
mandatory byte-range locks:

For example, the first user locks file from 11 to 12, the second user
specifies two buffers with 10 and 20 lengths and wants to fill them
with readv call. In your case we merge these buffers into one request,
sends it and got error. As the result we don't have any data returned
from the server. So the second user thinks that the file is locked on
both regions (from 0 to 10 and from 10 to 30) but it is not true!
Almost the same things we can see in write case. So, what's why I
think we shouldn't do it in strict cache case.

Thoughts?

-- 
Best regards,
Pavel Shilovsky.
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux