lustre: get rid of playing with ->fs
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 12 Dec 2014 03:40:27 +0000 (22:40 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 17 Dec 2014 11:43:56 +0000 (06:43 -0500)
* removed several pieces of dead code in lustre_compat25.h
* don't open-code current_umask() (and BTW, 0755 & (S_IRWXUGO | S_ISVTX)
is better spelled as 0755)
* fix broken attempt to get the pathname by dentry - abusing d_path() for
that is simply wrong.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/staging/lustre/lustre/include/linux/lustre_compat25.h
drivers/staging/lustre/lustre/llite/dir.c
drivers/staging/lustre/lustre/llite/llite_lib.c

index 8156b4c0f56876872abbea62e75b6172931f3727..3925db160650ca5d96df0880331717188a2ce23f 100644 (file)
 
 #include "lustre_patchless_compat.h"
 
-# define LOCK_FS_STRUCT(fs)    spin_lock(&(fs)->lock)
-# define UNLOCK_FS_STRUCT(fs)  spin_unlock(&(fs)->lock)
-
-static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt,
-                                struct dentry *dentry)
-{
-       struct path path;
-       struct path old_pwd;
-
-       path.mnt = mnt;
-       path.dentry = dentry;
-       LOCK_FS_STRUCT(fs);
-       old_pwd = fs->pwd;
-       path_get(&path);
-       fs->pwd = path;
-       UNLOCK_FS_STRUCT(fs);
-
-       if (old_pwd.dentry)
-               path_put(&old_pwd);
-}
-
-
 /*
  * set ATTR_BLOCKS to a high value to avoid any risk of collision with other
  * ATTR_* attributes (see bug 13828)
@@ -110,8 +88,6 @@ static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt,
 #define cfs_bio_io_error(a, b)   bio_io_error((a))
 #define cfs_bio_endio(a, b, c)    bio_endio((a), (c))
 
-#define cfs_fs_pwd(fs)       ((fs)->pwd.dentry)
-#define cfs_fs_mnt(fs)       ((fs)->pwd.mnt)
 #define cfs_path_put(nd)     path_put(&(nd)->path)
 
 
index 407718a0026f56071a9667ebe7088f158eba013e..1ac7a702ce261e6b6fcd2ac36805d63eed3c91bb 100644 (file)
@@ -661,7 +661,7 @@ int ll_dir_setdirstripe(struct inode *dir, struct lmv_user_md *lump,
        int mode;
        int err;
 
-       mode = (0755 & (S_IRWXUGO|S_ISVTX) & ~current->fs->umask) | S_IFDIR;
+       mode = (0755 & ~current_umask()) | S_IFDIR;
        op_data = ll_prep_md_op_data(NULL, dir, NULL, filename,
                                     strlen(filename), mode, LUSTRE_OPC_MKDIR,
                                     lump);
index 6e423aa6a6e4871b1845285ec5c8f84494d3df5a..a3367bfb1456a39c9c678bc7877e1e93f4531783 100644 (file)
@@ -2372,21 +2372,6 @@ char *ll_get_fsname(struct super_block *sb, char *buf, int buflen)
        return buf;
 }
 
-static char *ll_d_path(struct dentry *dentry, char *buf, int bufsize)
-{
-       char *path = NULL;
-
-       struct path p;
-
-       p.dentry = dentry;
-       p.mnt = current->fs->root.mnt;
-       path_get(&p);
-       path = d_path(&p, buf, bufsize);
-       path_put(&p);
-
-       return path;
-}
-
 void ll_dirty_page_discard_warn(struct page *page, int ioret)
 {
        char *buf, *path = NULL;
@@ -2398,7 +2383,7 @@ void ll_dirty_page_discard_warn(struct page *page, int ioret)
        if (buf != NULL) {
                dentry = d_find_alias(page->mapping->host);
                if (dentry != NULL)
-                       path = ll_d_path(dentry, buf, PAGE_SIZE);
+                       path = dentry_path_raw(dentry, buf, PAGE_SIZE);
        }
 
        CDEBUG(D_WARNING,