Re: [PATCH] cifs: disable serverino if server doesn't support it
Steve French <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
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. > > 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) > + cifs_sb->mnt_cifs_flags &= > + ~CIFS_MOUNT_SERVER_INUM; > } > } else { > fattr.cf_uniqueid = iunique(sb, ROOT_I); > -- > 1.6.2.5 > > -- Thanks, Steve