"name=threshold,type=CephInt,req=false",
"show information about stuck pgs",\
"pg", "r", "cli,rest")
+COMMAND("pg ls-by-pool " \
+ "name=poolstr,type=CephString " \
+ "name=states,type=CephChoices,strings=active|clean|down|replay|splitting|scrubbing|scrubq|degraded|inconsistent|peering|repair|recovery|backfill_wait|incomplete|stale|remapped|deep_scrub|backfill|backfill_toofull|recovery_wait|undersized,n=N,req=false ", \
+ "list pg with pool = [poolname | poolid]", "pg", "r", "cli,rest")
COMMAND("pg ls-by-primary " \
"name=osd,type=CephOsdName " \
"name=pool,type=CephInt,req=false " \
prefix = "pg ls";
} else if (prefix == "pg ls-by-osd") {
prefix = "pg ls";
+ } else if (prefix == "pg ls-by-pool") {
+ prefix = "pg ls";
+ string poolstr;
+ cmd_getval(g_ceph_context, cmdmap, "poolstr", poolstr);
+ int64_t pool = -2;
+ pool = mon->osdmon()->osdmap.lookup_pg_pool_name(poolstr.c_str());
+ if (pool < 0) {
+ r = -ENOENT;
+ ss << "pool " << poolstr << " does not exist";
+ string rs = ss.str();
+ mon->reply_command(m, r, rs, get_last_committed());
+ return true;
+ }
+ cmd_putval(g_ceph_context, cmdmap, "pool", pool);
}