From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Fedotov Subject: Re: Adding compression/checksum support for bluestore. Date: Mon, 4 Apr 2016 15:14:19 +0300 Message-ID: <57025A9B.700@mirantis.com> References: <56FD572D.6070608@mirantis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mail-lb0-f169.google.com ([209.85.217.169]:33177 "EHLO mail-lb0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753436AbcDDMOX (ORCPT ); Mon, 4 Apr 2016 08:14:23 -0400 Received: by mail-lb0-f169.google.com with SMTP id u8so158170578lbk.0 for ; Mon, 04 Apr 2016 05:14:23 -0700 (PDT) In-Reply-To: Sender: ceph-devel-owner@vger.kernel.org List-ID: To: Allen Samuels , Sage Weil Cc: ceph-devel On 31.03.2016 21:38, Allen Samuels wrote: >> Another thing to consider is an ability to use introduced checksums for >> scrubbing. One can probably extend objectstore interface to be able to >> validate stored data without data sending back. >> I don't see such an option at the moment. Please correct me if I missed that. > No need for that option. Just read the data check the return code (good or checksum failure) then discard the data. This is essentially exactly the same code-path as a "please validate the checksum" specialized opcode. > I'd rather disagree. In fact one can perform object verification more effectively when using specific op: - No need for decompression that's present in the read data-path - No need to select proper read buffer size. Verify operation can run over blob map instead of lextent one and read data by pextents. - Verify can be done via single op call. - IMHO code is more elegant and readable having specific op handler. In your option one has to Implement "sub data-path" for read handler to discard data and do other optimizations if any... More flags, if statements, etc...