diff options
author | Samuel Just <sam.just@inktank.com> | 2012-11-29 11:28:25 -0800 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2012-11-29 13:51:52 -0800 |
commit | 8218d8ac0bfe2ba43b3b43187e499236ff802c91 (patch) | |
tree | 53b5f8c96d28fbe5b77727438826300cfdc92170 | |
parent | f4f93f82e5688b11de6f2a4fe3c0a30484796cb5 (diff) | |
download | ceph-8218d8ac0bfe2ba43b3b43187e499236ff802c91.tar.gz |
OSD: get_or_create_pg return null if pool is gone
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r-- | src/osd/OSD.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index bd5501f0857..9282f4d632a 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1577,6 +1577,8 @@ PG *OSD::get_or_create_pg(const pg_info_t& info, pg_interval_map_t& pi, if (!_have_pg(info.pgid)) { // same primary? + if (!osdmap->have_pg_pool(info.pgid.pool())) + return 0; vector<int> up, acting; osdmap->pg_to_up_acting_osds(info.pgid, up, acting); int role = osdmap->calc_pg_role(whoami, acting, acting.size()); |