- child = new_dentry(utf8_name);
- if (!child)
- goto out_close_ni;
-
- memcpy(ctx->path + ctx->path_len, utf8_name, utf8_name_len + 1);
- path_len = ctx->path_len + utf8_name_len;
- ret = __build_dentry_tree_ntfs(child, ni, ctx->path, path_len,
- ctx->lookup_table, ctx->tree,
- ctx->ntfs_vol_p);
- link_dentry(child, ctx->dentry);
+ path_len = ctx->path_len;
+ if (path_len != 1)
+ ctx->path[path_len++] = '/';
+ memcpy(ctx->path + path_len, utf8_name, utf8_name_len + 1);
+ path_len += utf8_name_len;
+ ret = __build_dentry_tree_ntfs(&child, ni, ctx->path, path_len,
+ ctx->lookup_table, ctx->sd_set,
+ ctx->config, ctx->ntfs_vol_p);
+ DEBUG("Linking dentry `%s' with parent `%s'",
+ child->file_name_utf8, ctx->parent->file_name_utf8);
+
+ link_dentry(child, ctx->parent);
+ DEBUG("Return %d", ret);