]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: don't go through with the mapping if the PG is too wide
authorIlya Dryomov <idryomov@gmail.com>
Wed, 8 Feb 2017 17:57:48 +0000 (18:57 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 20 Feb 2017 11:16:11 +0000 (12:16 +0100)
commite908a3593a764dab63ebd49cb16cfd8981f26feb
treeb759205966ff836406bca39d89282334438d5007
parentfd410e2dc2bd738aa8598bbc8a52639b6dfcc456
libceph: don't go through with the mapping if the PG is too wide

With EC overwrites maturing, the kernel client will be getting exposed
to potentially very wide EC pools.  While "min(pi->size, X)" works fine
when the cluster is stable and happy, truncating OSD sets interferes
with resend logic (ceph_is_new_interval(), etc).  Abort the mapping if
the pool is too wide, assigning the request to the homeless session.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
net/ceph/osdmap.c