From: Andrew Morton Hope it still works.. Cc: Edward Shishkin Signed-off-by: Andrew Morton --- fs/reiser4/plugin/dir_plugin_common.c | 2 +- fs/reiser4/plugin/file_plugin_common.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff -puN fs/reiser4/plugin/file_plugin_common.c~reiser4-track-upstream-changes fs/reiser4/plugin/file_plugin_common.c --- a/fs/reiser4/plugin/file_plugin_common.c~reiser4-track-upstream-changes +++ a/fs/reiser4/plugin/file_plugin_common.c @@ -61,7 +61,7 @@ int set_plug_in_inode_common(struct inod object->i_mode = data->mode; /* this should be plugin decision */ - object->i_uid = current->fsuid; + object->i_uid = current_fsuid(); object->i_mtime = object->i_atime = object->i_ctime = CURRENT_TIME; /* support for BSD style group-id assignment. See mount's manual page @@ -75,7 +75,7 @@ int set_plug_in_inode_common(struct inod /* sguid is inherited by sub-directories */ object->i_mode |= S_ISGID; } else - object->i_gid = current->fsgid; + object->i_gid = current_fsgid(); /* this object doesn't have stat-data yet */ reiser4_inode_set_flag(object, REISER4_NO_SD); @@ -475,7 +475,7 @@ struct dentry *wire_get_common(struct su inode = reiser4_iget(sb, &key, 1); if (!IS_ERR(inode)) { reiser4_iget_complete(inode); - dentry = d_alloc_anon(inode); + dentry = d_obtain_alias(inode); if (dentry == NULL) { iput(inode); dentry = ERR_PTR(-ENOMEM); diff -puN fs/reiser4/plugin/dir_plugin_common.c~reiser4-track-upstream-changes fs/reiser4/plugin/dir_plugin_common.c --- a/fs/reiser4/plugin/dir_plugin_common.c~reiser4-track-upstream-changes +++ a/fs/reiser4/plugin/dir_plugin_common.c @@ -55,7 +55,7 @@ struct dentry *get_parent_common(struct */ check_light_weight(parent, child); reiser4_iget_complete(parent); - dentry = d_alloc_anon(parent); + dentry = d_obtain_alias(parent); if (dentry == NULL) { iput(parent); dentry = ERR_PTR(RETERR(-ENOMEM)); _