Re: [PATCH] cifs: disable serverino if server doesn't support it

Jeff Layton <[email protected]>
Newsgroups gmane.linux.file-systems.cifs
Message-ID <[email protected]>
On Thu, 23 Jul 2009 09:36:12 +0530
Suresh Jayaraman <[email protected]> wrote:

> Steve French wrote:
> > Makes sense - not a new problem, but important to get in before 2.6.31
> > (as you say with the new default)
> > 
> > On Wed, Jul 22, 2009 at 2:08 PM, Jeff Layton<[email protected]> wrote:
> >> A recent regression when dealing with older servers. This bug was
> >> introduced when we made serverino the default...
> >>
> >> When the server can't provide inode numbers, disable it for the mount.
> 
> Sorry for chiming in late..
> 
> >> Signed-off-by: Jeff Layton <[email protected]>
> >> ---
> >> �fs/cifs/inode.c | � �5 ++++-
> >> �1 files changed, 4 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
> >> index 2680a5b..b93bf00 100644
> >> --- a/fs/cifs/inode.c
> >> +++ b/fs/cifs/inode.c
> >> @@ -513,9 +513,12 @@ int cifs_get_inode_info(struct inode **pinode,
> >> � � � � � � � � � � � � � � � � � � � �cifs_sb->mnt_cifs_flags &
> >> � � � � � � � � � � � � � � � � � � � � � � � �CIFS_MOUNT_MAP_SPECIAL_CHR);
> >> � � � � � � � � � � � �if (rc1) {
> >> - � � � � � � � � � � � � � � � /* BB EOPNOSUPP disable SERVER_INUM? */
> >> � � � � � � � � � � � � � � � �cFYI(1, ("GetSrvInodeNum rc %d", rc1));
> >> � � � � � � � � � � � � � � � �fattr.cf_uniqueid = iunique(sb, ROOT_I);
> >> + � � � � � � � � � � � � � � � /* disable serverino if call not supported */
> >> + � � � � � � � � � � � � � � � if (rc1 == -EINVAL)
> 
> What is the expected error code if server is not supporting/providing
> inode numbers - -EINVAL or -EOPNOTSUPP?
> Because, we seem to use -EOPNOTSUPP in is_path_accessible(), perhaps we
> need to fix there too?
> 

It really depends on what the server returns in that situation and how
the function handles it. In this case, the server (win98se) returned an
error that translated to -EINVAL (I suppose because it didn't recognize
the infolevel).

That said, all of this "try a call and then fall back" stuff is so
ad-hoc at the moment. It could really use a fundamental rethink.

-- 
Jeff Layton <[email protected]>
_______________________________________________
linux-cifs-client mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/linux-cifs-client
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.