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