X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fptlrpc%2Fnodemap_range.c;h=da7143f14e3b11f6ed011a6f15e1322143723fa1;hb=dd71e74fecf45b81daa27c89c0b8065a58cac5c1;hp=56da8ea38a933808dbeca70cbf87d16f114e40b6;hpb=928714dddabb2dbc4fc93101f23eaa671099dbea;p=fs%2Flustre-release.git diff --git a/lustre/ptlrpc/nodemap_range.c b/lustre/ptlrpc/nodemap_range.c index 56da8ea..da7143f 100644 --- a/lustre/ptlrpc/nodemap_range.c +++ b/lustre/ptlrpc/nodemap_range.c @@ -74,6 +74,7 @@ struct lu_nid_range *range_create(struct nodemap_range_tree *nm_range_tree, struct lu_nodemap *nodemap, unsigned range_id) { struct lu_nid_range *range; + int rc; if (LNET_NIDNET(start_nid) != LNET_NIDNET(end_nid) || LNET_NIDADDR(start_nid) > LNET_NIDADDR(end_nid)) @@ -96,7 +97,13 @@ struct lu_nid_range *range_create(struct nodemap_range_tree *nm_range_tree, range->rn_id = nm_range_tree->nmrt_range_highest_id; } range->rn_nodemap = nodemap; - interval_set(&range->rn_node, start_nid, end_nid); + + rc = interval_set(&range->rn_node, start_nid, end_nid); + if (rc < 0) { + OBD_FREE_PTR(range); + return NULL; + } + INIT_LIST_HEAD(&range->rn_list); return range;