X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flod%2Flod_pool.c;h=8ac5eb3f1959bdf4dc9c42fb0c81933d9229fc3f;hb=6b69d22e4cb738f4f9ff5454a6f9ae17a3a2d6fa;hp=4b135b460d7461b474cd0a180e7a0dc247e64ae3;hpb=e42efe35eec7b9725f7f4fff86aaee04093366b0;p=fs%2Flustre-release.git diff --git a/lustre/lod/lod_pool.c b/lustre/lod/lod_pool.c index 4b135b4..8ac5eb3 100644 --- a/lustre/lod/lod_pool.c +++ b/lustre/lod/lod_pool.c @@ -708,22 +708,23 @@ struct pool_desc *lod_find_pool(struct lod_device *lod, char *poolname) { struct pool_desc *pool; - pool = NULL; - if (poolname[0] != '\0') { - pool = lod_pool_find(lod, poolname); - if (!pool) - CDEBUG(D_CONFIG, - "%s: request for an unknown pool (" LOV_POOLNAMEF ")\n", - lod->lod_child_exp->exp_obd->obd_name, poolname); - if (pool != NULL && pool_tgt_count(pool) == 0) { - CDEBUG(D_CONFIG, "%s: request for an empty pool (" - LOV_POOLNAMEF")\n", - lod->lod_child_exp->exp_obd->obd_name, poolname); - /* pool is ignored, so we remove ref on it */ - lod_pool_putref(pool); - pool = NULL; - } + if (poolname[0] == '\0' || lov_pool_is_reserved(poolname)) + return NULL; + + pool = lod_pool_find(lod, poolname); + if (!pool) + CDEBUG(D_CONFIG, + "%s: request for an unknown pool (" LOV_POOLNAMEF ")\n", + lod->lod_child_exp->exp_obd->obd_name, poolname); + if (pool != NULL && pool_tgt_count(pool) == 0) { + CDEBUG(D_CONFIG, "%s: request for an empty pool (" + LOV_POOLNAMEF")\n", + lod->lod_child_exp->exp_obd->obd_name, poolname); + /* pool is ignored, so we remove ref on it */ + lod_pool_putref(pool); + pool = NULL; } + return pool; }