On 10/28/2010 11:17 PM, Steve French wrote: > On Thu, Oct 28, 2010 at 11:41 AM, Shirish Pargaonkar > <[email protected]> wrote: >> On Thu, Oct 28, 2010 at 11:19 AM, Suresh Jayaraman <[email protected]> >> 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); >>> � � � �} >>> >> 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).
So that means this patch is applicable to CIFS as is, right? -- Suresh Jayaraman -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
