Problem with ReadAndX

Mahendran shmahendran at
Wed Jan 21 14:45:14 GMT 2009

Thanks Derrell

How is it supposed to know how big the file is without asking?

File Size is given in the OpenAndX response so the client should ask the
exact size in the ReadAndX that it is expecting. Am I correct?

On Wed, Jan 21, 2009 at 7:45 PM, Derrell Lipman <
derrell.lipman at> wrote:

> On Wed, Jan 21, 2009 at 7:11 AM, MaheNabble <shmahendran at> wrote:
>> The problem that I have is, when I try to read a file (which is of 4
>> bytes,
>> just a txt file), the client sends READ_ANDX command about 40 times and
>> after a long time (about 45 seconds), it opens the file. After some
>> investigation, I noticed that there is a request (packet no 370) in which
>> it
>> expects only 4 bytes of data from the offset 0x0000, there the ReadAndX
>> ends.
> This appears to be an application issue, not a protocol issue. I don't see
> any problem in the packet capture. You open the text file, request to read
> up to 256 bytes, get back a response that contains 4 bytes (since that's all
> there is in the file), read again from offset 4 and get a response that says
> there's no more data (0 bytes returned), and you should be done. Your next
> operation on that file id is to request up to  512 bytes from offset 0. You
> again get the available 4 bytes, request 508 now, and get back 0 since
> you've reached end of file. Your application repeats this process a few
> times with 512 byte requests then ups it to a 960 byte request, etc.
> Whatever is going on here is not protocol related, but rather is related to
> the application issuing the ReadAndX requests.
> I am not sure why there are so many request for just to read 4 bytes of
>> data. Why is it not succeeded in the first ReadAndX itself? Why is it
>> expecting 256 bytes of data (in the packet 121) instead of 4 bytes?
> How is it supposed to know how big the file is without asking? It's
> requesting *UP TO* 256 bytes and is given back the 4 bytes that are in the
> file. Why it doesn't stop reading when it gets back 0 bytes from the next
> read, I have no way of knowing.
> Derrell

More information about the samba-technical mailing list