RE: Cache pool on top of ec base pool teuthology test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, we can do the force promotion check in init_op_flags, as we did before.

-----Original Message-----
From: Sage Weil [mailto:sweil@xxxxxxxxxx] 
Sent: Tuesday, May 26, 2015 10:19 AM
To: Wang, Zhiqiang
Cc: ceph-devel@xxxxxxxxxxxxxxx
Subject: RE: Cache pool on top of ec base pool teuthology test

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




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux