From: Jan Blunck Switch from nd->{dentry,mnt} to nd->path.{dentry,mnt} everywhere. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Al Viro CC: Signed-off-by: Andrew Morton --- fs/unionfs/main.c | 9 ++++----- fs/unionfs/super.c | 17 ++++++++--------- 2 files changed, 12 insertions(+), 14 deletions(-) diff -puN fs/unionfs/inode.c~embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-unionfs fs/unionfs/inode.c diff -puN fs/unionfs/main.c~embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-unionfs fs/unionfs/main.c --- a/fs/unionfs/main.c~embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-unionfs +++ a/fs/unionfs/main.c @@ -230,11 +230,11 @@ void unionfs_reinterpose(struct dentry * int check_branch(struct nameidata *nd) { /* XXX: remove in ODF code -- stacking unions allowed there */ - if (!strcmp(nd->dentry->d_sb->s_type->name, UNIONFS_NAME)) + if (!strcmp(nd->path.dentry->d_sb->s_type->name, UNIONFS_NAME)) return -EINVAL; - if (!nd->dentry->d_inode) + if (!nd->path.dentry->d_inode) return -ENOENT; - if (!S_ISDIR(nd->dentry->d_inode->i_mode)) + if (!S_ISDIR(nd->path.dentry->d_inode->i_mode)) return -ENOTDIR; return 0; } @@ -375,8 +375,7 @@ static int parse_dirs_option(struct supe goto out; } - lower_root_info->lower_paths[bindex].dentry = nd.dentry; - lower_root_info->lower_paths[bindex].mnt = nd.mnt; + lower_root_info->lower_paths[bindex] = nd.path; set_branchperms(sb, bindex, perms); set_branch_count(sb, bindex, 0); diff -puN fs/unionfs/super.c~embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-unionfs fs/unionfs/super.c --- a/fs/unionfs/super.c~embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-unionfs +++ a/fs/unionfs/super.c @@ -223,8 +223,8 @@ static noinline int do_remount_mode_opti goto out; } for (idx = 0; idx < cur_branches; idx++) - if (nd.mnt == new_lower_paths[idx].mnt && - nd.dentry == new_lower_paths[idx].dentry) + if (nd.path.mnt == new_lower_paths[idx].mnt && + nd.path.dentry == new_lower_paths[idx].dentry) break; path_release(&nd); /* no longer needed */ if (idx == cur_branches) { @@ -266,8 +266,8 @@ static noinline int do_remount_del_optio goto out; } for (idx = 0; idx < cur_branches; idx++) - if (nd.mnt == new_lower_paths[idx].mnt && - nd.dentry == new_lower_paths[idx].dentry) + if (nd.path.mnt == new_lower_paths[idx].mnt && + nd.path.dentry == new_lower_paths[idx].dentry) break; path_release(&nd); /* no longer needed */ if (idx == cur_branches) { @@ -350,8 +350,8 @@ static noinline int do_remount_add_optio goto out; } for (idx = 0; idx < cur_branches; idx++) - if (nd.mnt == new_lower_paths[idx].mnt && - nd.dentry == new_lower_paths[idx].dentry) + if (nd.path.mnt == new_lower_paths[idx].mnt && + nd.path.dentry == new_lower_paths[idx].dentry) break; path_release(&nd); /* no longer needed */ if (idx == cur_branches) { @@ -417,10 +417,9 @@ found_insertion_point: memmove(&new_lower_paths[idx+1], &new_lower_paths[idx], (cur_branches - idx) * sizeof(struct path)); } - new_lower_paths[idx].dentry = nd.dentry; - new_lower_paths[idx].mnt = nd.mnt; + new_lower_paths[idx] = nd.path; - new_data[idx].sb = nd.dentry->d_sb; + new_data[idx].sb = nd.path.dentry->d_sb; atomic_set(&new_data[idx].open_files, 0); new_data[idx].branchperms = perms; new_data[idx].branch_id = ++*high_branch_id; /* assign new branch ID */ _