Bug in Samba's implementation of FSCTL_QUERY_ALLOCATED_RANGES?
David Howells
dhowells at redhat.com
Thu May 23 06:36:48 UTC 2024
ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
> > The problem is that it essentially renders SEEK_DATA/SEEK_HOLE unusable for
> > applications on cifs. If there's more than one extent above the starting
> > position, they'll fail with EIO. The only way to do it is to provide for a
> > sufficiently large buffer to accommodate however many extents that there are
> > (and there could be millions, in theory) in order to get just the first one.
>
> Wait, I didn't read all the text in the initial posts correctly.
> Do you mean if you ask for "max x bytes of response, enough for n
> entries" then if there
> are > n entries on the server you get nothing back?
>
> I am pretty sure Windows will return as many entries as fits in the
> reponse out-data-size
> nad some error code.
> But you are saying that instead of returning a truncated out-blob that
> samba will return nothing?
It returns a STATUS_BUFFER_TOO_SMALL error if there's more than one extent
record to return.
David
More information about the samba-technical
mailing list