OK, so the cache tier OSD checks if it's able to proxy the write op, if not, then forces a promotion. Btw, I don't find the supports_omap helps in the current master. Do you mean the 'CEPH_OSD_COPY_GET_FLAG_NOTSUPP_OMAP' flag? -----Original Message----- From: Sage Weil [mailto:sweil@xxxxxxxxxx] Sent: Monday, May 25, 2015 11:04 PM To: Wang, Zhiqiang Cc: ceph-devel@xxxxxxxxxxxxxxx Subject: Re: Cache pool on top of ec base pool teuthology test On Mon, 25 May 2015, Wang, Zhiqiang wrote: > We have a bunch of teuthology tests which build cache pool on top of > an ec base pool, and do partial object write. This is ok with the > current cache tiering implementation. But with proxy write, this won't > work. In my testing, the error message is something like below: > > 2015-05-20 05:51:42.896828 7f682eed4700 10 osd.5 pg_epoch: 183 pg[2.1( > v 183'7978 (179'7799,183'7978] local-les=172 n=1258 ec=8 les/c 172/172 > 170/171/171) [5,0] r=0 lpr=171 luod=183'7975 crt=183'7974 lcod > 183'7974 mlcod 183'7974 active+clean] do_proxy_write Start proxy write > for osd_op(client.4130.0:32967 plana4222147-6594 [write 733117~408660] > 2.3ed99ff9 ack+ondisk+write+known_if_redirected e183) v5 > 2015-05-20 05:51:42.899958 7f682c6cf700 1 -- 10.214.132.32:6808/20666 > --> 10.214.132.32:0/20666 -- osd_op_reply(17556 plana4222147-6594 > [write 733117~408660] v0'0 uv0 ondisk = -95 ((95) Operation not > supported)) v6 -- ?+0 0xa2e23c0 con 0x9355760 > > What should we do with these tests? I think the test is fine.. but the OSD should refuse to proxy the write if the base tier won't support the write operation in question. I believe we recently renamed one of the helpers supports_omap()... we probably need a similar set of helpers for object overwrites? Or, we can make a method like "should_proxy_to_ec()" that scans through the op vector and makes a conservative judgement of whether it is safe to proxy... sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html