From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Layton Subject: [PATCH 03/15] cifs: track local_nls in volume info Date: Tue, 30 Mar 2010 15:51:05 -0400 Message-ID: <1269978677-6817-4-git-send-email-jlayton@samba.org> References: <1269978677-6817-1-git-send-email-jlayton@samba.org> Cc: linux-fsdevel@vger.kernel.org To: linux-cifs-client@lists.samba.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:46931 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754399Ab0C3TvM (ORCPT ); Tue, 30 Mar 2010 15:51:12 -0400 In-Reply-To: <1269978677-6817-1-git-send-email-jlayton@samba.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: From: Jeff Layton Add a local_nls field to the smb_vol struct and keep a pointer to the local_nls in it. Signed-off-by: Jeff Layton --- fs/cifs/connect.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 791fc31..5c35923 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -101,6 +101,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); @@ -2356,20 +2357,20 @@ try_mount_again: 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); -- 1.6.6.1