On Tue, 26 May 2015, Wang, Zhiqiang wrote: > 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? Yeah, that isn't helpful. I think what we need is the helper to check the op, and make that dependent on is_erasure()? That shoudl be good enough for now. sage > > -----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 > > -- 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