From: This is a minor code cleanup. get_UCSname can get nls_tab by following the dentry to the superblock. This makes the calling code simpler and prettier. --- 25-akpm/fs/jfs/jfs_unicode.c | 6 +++--- 25-akpm/fs/jfs/jfs_unicode.h | 3 +-- 25-akpm/fs/jfs/namei.c | 23 ++++++++++------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff -puN fs/jfs/jfs_unicode.c~jfs-01-sane-filename-handling fs/jfs/jfs_unicode.c --- 25/fs/jfs/jfs_unicode.c~jfs-01-sane-filename-handling Thu Feb 12 14:40:51 2004 +++ 25-akpm/fs/jfs/jfs_unicode.c Thu Feb 12 14:40:51 2004 @@ -18,7 +18,7 @@ #include #include -#include "jfs_types.h" +#include "jfs_incore.h" #include "jfs_filsys.h" #include "jfs_unicode.h" #include "jfs_debug.h" @@ -82,9 +82,9 @@ int jfs_strtoUCS(wchar_t * to, * FUNCTION: Allocate and translate to unicode string * */ -int get_UCSname(struct component_name * uniName, struct dentry *dentry, - struct nls_table *nls_tab) +int get_UCSname(struct component_name * uniName, struct dentry *dentry) { + struct nls_table *nls_tab = JFS_SBI(dentry->d_sb)->nls_tab; int length = dentry->d_name.len; if (length > JFS_NAME_MAX) diff -puN fs/jfs/jfs_unicode.h~jfs-01-sane-filename-handling fs/jfs/jfs_unicode.h --- 25/fs/jfs/jfs_unicode.h~jfs-01-sane-filename-handling Thu Feb 12 14:40:51 2004 +++ 25-akpm/fs/jfs/jfs_unicode.h Thu Feb 12 14:40:51 2004 @@ -30,8 +30,7 @@ typedef struct { extern signed char UniUpperTable[512]; extern UNICASERANGE UniUpperRange[]; -extern int get_UCSname(struct component_name *, struct dentry *, - struct nls_table *); +extern int get_UCSname(struct component_name *, struct dentry *); extern int jfs_strfromUCS_le(char *, const wchar_t *, int, struct nls_table *); #define free_UCSname(COMP) kfree((COMP)->name) diff -puN fs/jfs/namei.c~jfs-01-sane-filename-handling fs/jfs/namei.c --- 25/fs/jfs/namei.c~jfs-01-sane-filename-handling Thu Feb 12 14:40:51 2004 +++ 25-akpm/fs/jfs/namei.c Thu Feb 12 14:40:51 2004 @@ -78,7 +78,7 @@ int jfs_create(struct inode *dip, struct * search parent directory for entry/freespace * (dtSearch() returns parent directory page pinned) */ - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out1; /* @@ -204,7 +204,7 @@ int jfs_mkdir(struct inode *dip, struct * search parent directory for entry/freespace * (dtSearch() returns parent directory page pinned) */ - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out1; /* @@ -332,7 +332,7 @@ int jfs_rmdir(struct inode *dip, struct goto out; } - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dip->i_sb)->nls_tab))) { + if ((rc = get_UCSname(&dname, dentry))) { goto out; } @@ -451,7 +451,7 @@ int jfs_unlink(struct inode *dip, struct jfs_info("jfs_unlink: dip:0x%p name:%s", dip, dentry->d_name.name); - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out; IWRITE_LOCK(ip); @@ -786,7 +786,7 @@ int jfs_link(struct dentry *old_dentry, /* * scan parent directory for entry/freespace */ - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(ip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out; if ((rc = dtSearch(dir, &dname, &ino, &btstack, JFS_CREATE))) @@ -866,7 +866,7 @@ int jfs_symlink(struct inode *dip, struc * (dtSearch() returns parent directory page pinned) */ - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out1; /* @@ -1069,12 +1069,10 @@ int jfs_rename(struct inode *old_dir, st old_ip = old_dentry->d_inode; new_ip = new_dentry->d_inode; - if ((rc = get_UCSname(&old_dname, old_dentry, - JFS_SBI(old_dir->i_sb)->nls_tab))) + if ((rc = get_UCSname(&old_dname, old_dentry))) goto out1; - if ((rc = get_UCSname(&new_dname, new_dentry, - JFS_SBI(old_dir->i_sb)->nls_tab))) + if ((rc = get_UCSname(&new_dname, new_dentry))) goto out2; /* @@ -1329,7 +1327,7 @@ int jfs_mknod(struct inode *dir, struct jfs_info("jfs_mknod: %s", dentry->d_name.name); - if ((rc = get_UCSname(&dname, dentry, JFS_SBI(dir->i_sb)->nls_tab))) + if ((rc = get_UCSname(&dname, dentry))) goto out; ip = ialloc(dir, mode); @@ -1411,8 +1409,7 @@ static struct dentry *jfs_lookup(struct else if (strcmp(name, "..") == 0) inum = PARENT(dip); else { - if ((rc = - get_UCSname(&key, dentry, JFS_SBI(dip->i_sb)->nls_tab))) + if ((rc = get_UCSname(&key, dentry))) return ERR_PTR(rc); rc = dtSearch(dip, &key, &inum, &btstack, JFS_LOOKUP); free_UCSname(&key); _