[linux-cifs-client] [PATCH 0/7] [CIFS] RFC: implement ability to specify remote_nls for legacy servers

Jeff Layton jlayton at redhat.com
Fri Jul 25 15:23:12 GMT 2008


I'm sending this out as an RFC. It's not anywhere close to being
complete, but the changes involved are pretty substantial, so I'd
like to get some mid-stream feedback before I spent too much time
on it. This is not at all well tested, so I'm mainly looking for
feedback on the general approach.

The basic idea is to implement a codepage= option similar to what
smbfs had. That option sets a remote_nls variable that hangs off
of the cifs_sb_info struct for a mount.

The idea is then to use that to convert to the remote codepage
when sending strings to the other server, and to convert from
the remote codepage when we receive them.

The thing that makes this difficult and such a large change is
that a lot of the cifssmb.c functions take a codepage ptr and a
remap flag as args. We'll also need the remote_nls, so my plan is to
pass a cifs_sb pointer instead of these two args. That should make
the callers look a little cleaner and reduce the size of the argument
lists.

Anyway, comments and suggestions are definitely welcome.

---

Günter Kukkukk (2):
      [CIFS] cleanup code by moving often repeated code sequence into a separate function - part2
      [CIFS] cleanup code by moving often repeated code sequence into a separate function - part1

Jeff Layton (5):
      [CIFS] convert CIFSPOSIXDelFile and CIFSSMBDelFile to take cifs_sb arg
      [CIFS] rename setup_ucs_nls_name and add wrapper with original name
      [CIFS] add codepage= mount option and have it set up remote_nls
      [CIFS] add cifs_nls_convert function to convert from one nls to another
      [CIFS] clean legacy cruft out of connect.c


 fs/cifs/cifs_fs_sb.h   |    1 
 fs/cifs/cifs_unicode.c |   57 ++
 fs/cifs/cifs_unicode.h |    3 
 fs/cifs/cifsfs.c       |    4 
 fs/cifs/cifsproto.h    |    6 
 fs/cifs/cifssmb.c      |  338 +++----------
 fs/cifs/connect.c      | 1226 +++---------------------------------------------
 fs/cifs/inode.c        |   11 
 8 files changed, 221 insertions(+), 1425 deletions(-)

-- 
Signed-off-by: Jeff Layton <jlayton at redhat.com>


More information about the linux-cifs-client mailing list