support for FSCTL_QUERY_ALLOCATED_RANGES.

Ira Cooper samba at ira.wakeful.net
Fri Apr 2 18:16:45 MDT 2010


Reading the docs, I think you are right.

I'll apply the patch, and spin it over the weekend.  (Testing with 3.5.)

Thanks,

-Ira

On Fri, Apr 2, 2010 at 6:43 PM, Jeremy Allison <jra at samba.org> wrote:
> On Fri, Apr 02, 2010 at 02:49:31PM -0700, Jeremy Allison wrote:
>> On Thu, Apr 01, 2010 at 05:50:58PM -0400, Ira Cooper wrote:
>> > This patch implements FSCTL_QUERY_ALLOCATED_RANGES, or at least enough
>> > of it so that applications can use the call, and not die.
>> >
>> > I've applied this patch to 3.5 and 3.6.
>> >
>> > Thanks,
>> >
>> > -Ira
>> >
>> > --- a/source3/smbd/nttrans.c
>> > +++ b/source3/smbd/nttrans.c
>> > @@ -1964,6 +1964,16 @@ static void
>> > call_nt_transact_ioctl(connection_struct *conn,
>> >                 send_nt_replies(conn, req, NT_STATUS_OK, NULL, 0, NULL, 0);
>> >                 return;
>> >
>> > +        case FSCTL_QUERY_ALLOCATED_RANGES:
>> > +        {
>> > +                /* All you do is return what you got.  We don't
>> > implement sparse files really. */
>> > +
>> > +                DEBUG(10,("FSCTL_QUERY_ALLOCATED_RANGES called on
>> > FID[0x%04X] - %d\n",fidnum, data_count));
>> > +                send_nt_replies(conn, req, NT_STATUS_OK, NULL, 0,
>> > +                                pdata, data_count);
>> > +                return;
>> > +        }
>> > +
>> >         case FSCTL_CREATE_OR_GET_OBJECT_ID:
>> >         {
>> >                 unsigned char objid[16];
>>
>> Ok, I think it's a little more complex than this patch
>> (looking at MS-FSCC.pdf). If the file size is zero, we
>> need to return no ranges. I think we need to truncate
>> the length reply to the length of the file being queried
>> also. I'll make up a test patch for you.
>
> Ok, can you test this please and let me know if it fixes
> the issue for you ?
>
> Jeremy.
>


More information about the samba-technical mailing list