From 3c3647dcb2e100d9b5f4d8fcd0faa0789a32dfa7 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Sat, 24 Apr 2010 07:57:42 -0400 Subject: [PATCH] --- yaml --- r: 190944 b: refs/heads/master c: a5fc4ce01867842f6a9cc317035df3081302bffc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/cifs/connect.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 16a4ba45eb01..95ab97c2f228 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fa588e0c57048b3d4bfcd772d80dc0615f83fd35 +refs/heads/master: a5fc4ce01867842f6a9cc317035df3081302bffc diff --git a/trunk/fs/cifs/connect.c b/trunk/fs/cifs/connect.c index 58a2109e7b33..eb85dd8d510e 100644 --- a/trunk/fs/cifs/connect.c +++ b/trunk/fs/cifs/connect.c @@ -102,6 +102,7 @@ struct smb_vol { bool sockopt_tcp_nodelay:1; unsigned short int port; char *prepath; + struct nls_table *local_nls; }; static int ipv4_connect(struct TCP_Server_Info *server); @@ -2353,20 +2354,20 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, goto out; } - /* this is needed for ASCII cp to Unicode converts */ if (volume_info->iocharset == NULL) { - cifs_sb->local_nls = load_nls_default(); - /* load_nls_default can not return null */ + /* load_nls_default cannot return null */ + volume_info->local_nls = load_nls_default(); } else { - cifs_sb->local_nls = load_nls(volume_info->iocharset); - if (cifs_sb->local_nls == NULL) { + volume_info->local_nls = load_nls(volume_info->iocharset); + if (volume_info->local_nls == NULL) { cERROR(1, "CIFS mount error: iocharset %s not found", volume_info->iocharset); rc = -ELIBACC; goto out; } } + cifs_sb->local_nls = volume_info->local_nls; /* get a reference to a tcp session */ srvTcp = cifs_get_tcp_session(volume_info);