Re: [PATCH] cifs: remove "legacy" parm from CIFSSMBQPathInfo

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

 



On Thu, Oct 28, 2010 at 11:41 AM, Shirish Pargaonkar
<shirishpargaonkar@xxxxxxxxx> wrote:
> On Thu, Oct 28, 2010 at 11:19 AM, Suresh Jayaraman <sjayaraman@xxxxxxx> wrote:
>> On 10/28/2010 09:12 PM, Steve French wrote:
>>> What is the code flow then on Windows9x, OS/2 or in the EOPNOSUPP
>>> case?  Seems strange that we don't retry with legacy or in the case
>>> where the dialect (or previous call) shows that we don't support the
>>> infolevel.
>>>
>>
>> If CIFSSMBOpen fails, the callers seem to be fall back to legacy open using
>> SMBLegacyOpen().
>>
>> cifs_open()
>>
>>       ...
>>        if (tcon->ses->capabilities & CAP_NT_SMBS)
>>                rc = CIFSSMBOpen(xid, tcon, full_path, disposition,
>>                         desiredAccess, CREATE_NOT_DIR, &netfid, &oplock, buf,
>>                         cifs_sb->local_nls, cifs_sb->mnt_cifs_flags
>>                                 & CIFS_MOUNT_MAP_SPECIAL_CHR);
>>        else
>>                rc = -EIO; /* no NT SMB support fall into legacy open below */
>>
>>        if (rc == -EIO) {
>>                /* Old server, try legacy style OpenX */
>>                rc = SMBLegacyOpen(xid, tcon, full_path, disposition,
>>                        desiredAccess, CREATE_NOT_DIR, &netfid, &oplock, buf,
>>                        cifs_sb->local_nls, cifs_sb->mnt_cifs_flags
>>                                & CIFS_MOUNT_MAP_SPECIAL_CHR);
>>        }
>>
>>
>>
>> --
>> Suresh Jayaraman
>> --
>> 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
>>
>
> This is a general comment but should cifs client be using (server)
> dialect specific set of smb commands
> and those smb commands specific info levels instead of sending a
> command and trying downlevel / legacy
> if that command failed with "operation not supported"?

We can do the former for smb2, but not for cifs unfortunately.

For cifs there are lots of cases where a dialect doesn't support an
infolevel it should (or even viceversa).   Part of this difficulty
mapping levels to dialects is presumably due to lack of authoritative
documentation for cifs when some of the server developers were doing
initial cifs development years ago - even so there are cases where we
can make assumptions (based on feedback from 7 years of test events)
but it depends on the operation.

-- 
Thanks,

Steve
--
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