mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
lustre: get rid of playing with ->fs
* 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>
This commit is contained in:
parent
98af592f5b
commit
1ad581ebf3
@ -42,28 +42,6 @@
|
||||
|
||||
#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)
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user