+ nodemap_fileset = nodemap_get_fileset(exp->exp_target_data.ted_nodemap);
+ if (nodemap_fileset && nodemap_fileset[0]) {
+ if (fileset) {
+ /* consider fileset from client as a sub-fileset
+ * of the nodemap one */
+ OBD_ALLOC(buffer, PATH_MAX + 1);
+ if (buffer == NULL)
+ GOTO(out, rc = err_serious(-ENOMEM));
+ if (snprintf(buffer, PATH_MAX + 1, "%s/%s",
+ nodemap_fileset, fileset) >= PATH_MAX + 1)
+ GOTO(out, rc = err_serious(-EINVAL));
+ fileset = buffer;
+ } else {
+ /* enforce fileset as specified in the nodemap */
+ fileset = nodemap_fileset;
+ }
+ }
+
+ if (fileset) {