[linux-cifs-client] [PATCH] cifs: disable serverino if server doesn't support it
Steve French
smfrench at gmail.com
Wed Jul 22 13:15:53 MDT 2009
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<jlayton at redhat.com> 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 <jlayton at redhat.com>
> ---
> 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
More information about the linux-cifs-client
mailing list