From patchwork Thu Apr 14 12:02:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ming Lei X-Patchwork-Id: 8835211 Return-Path: X-Original-To: patchwork-linux-block@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 02DFE9F36E for ; Thu, 14 Apr 2016 12:10:16 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1C78320173 for ; Thu, 14 Apr 2016 12:10:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3AA5F2017E for ; Thu, 14 Apr 2016 12:10:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754921AbcDNMDd (ORCPT ); Thu, 14 Apr 2016 08:03:33 -0400 Received: from mail-ob0-f196.google.com ([209.85.214.196]:35792 "EHLO mail-ob0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754888AbcDNMDa (ORCPT ); Thu, 14 Apr 2016 08:03:30 -0400 Received: by mail-ob0-f196.google.com with SMTP id 4so4863478obi.2; Thu, 14 Apr 2016 05:03:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1mXLaENVppmut42JhFTalGVOCfPlSGDek8x7Y2w12uQ=; b=Bn7wK6/wE3G5dmxiTZLg1tNDE2fphpax9E0G0FzOb07o6NewBS7umQekCWAAre4fDN Ru94bF/Wm74f10aY5jrG+ajbq21fZ7zn55P8naP6N3qM8xEUJd7vAz7ZkXPlRckvsiJY 1dOEVRn7sq26G5jo9Qwe/6fA17/9qpbtUJ3fSHuZhgme8wuCQ9/Qv93Wy0GsPJph0VIh tsmOWusJbjv7vjuomwmRuVmlzDuc9PY4gxc19dZBc+5NCteurJCNbx+FE3nje+Pe08RF Oa0TSdASx3kI1ZhaUbAMwJJ5cX0UBY2R0/XQ0GawG8WINLPiipTq224um5E7HYkuZ3xe Qh2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1mXLaENVppmut42JhFTalGVOCfPlSGDek8x7Y2w12uQ=; b=Ww+Xqe88EHa7DWoTAjALoryX4AL8RQUX4KdAih6n61mZOK9F0ZV3ikeDRMHSSNRA6S VqGS1VeyX/r5a3oCgb3ILRIVi0g5+jxo8gPXM1THkGRMiXrr49J3ytbUV2CLdvd33GEg XiEh6qlEpA8x9b6ZzWizy7HAncY+4uFrch6e3Y/2J3Cnr3h7QtnozpbxDYAZi/yInFRp XkIqAc2CqdjnCpacDJjkk5o1JSEm1fJ3HSmcYnE2GrMLEiEiZ4QXB12JM0YoiXEJh8oW m3cjqvtPKTWw1pTC8n0uFJAtA1kDREczBN/qCXf20fja9xoQpikYrb3d/hGfyX30dsDQ EU9Q== X-Gm-Message-State: AOPr4FU0nU8H04TyDEqUYd1aZajHcPYl9GzGQ9qQ94Wx/wajNASUFx8e9nIl6YPZ0spwwQ== X-Received: by 10.182.165.8 with SMTP id yu8mr7720276obb.63.1460635409376; Thu, 14 Apr 2016 05:03:29 -0700 (PDT) Received: from localhost ([12.228.154.70]) by smtp.gmail.com with ESMTPSA id g9sm7921783otc.9.2016.04.14.05.03.28 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Thu, 14 Apr 2016 05:03:28 -0700 (PDT) From: Ming Lei To: Jens Axboe , linux-kernel@vger.kernel.org Cc: linux-block@vger.kernel.org, Christoph Hellwig , Ming Lei , Kent Overstreet , Shaohua Li , linux-bcache@vger.kernel.org (open list:BCACHE (BLOCK LAYER CACHE)), linux-raid@vger.kernel.org (open list:SOFTWARE RAID (Multiple Disks) SUPPORT) Subject: [PATCH v1 10/27] bcache: debug: avoid to access .bi_io_vec directly Date: Thu, 14 Apr 2016 20:02:28 +0800 Message-Id: <1460635375-28282-11-git-send-email-tom.leiming@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1460635375-28282-1-git-send-email-tom.leiming@gmail.com> References: <1460635375-28282-1-git-send-email-tom.leiming@gmail.com> Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Instead we use standard iterator way to do that. Signed-off-by: Ming Lei --- drivers/md/bcache/debug.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c index 8b1f1d5..d1ad49d 100644 --- a/drivers/md/bcache/debug.c +++ b/drivers/md/bcache/debug.c @@ -106,8 +106,8 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) { char name[BDEVNAME_SIZE]; struct bio *check; - struct bio_vec bv, *bv2; - struct bvec_iter iter; + struct bio_vec bv, cbv, *bv2; + struct bvec_iter iter, citer = { 0 }; int i; check = bio_clone(bio, GFP_NOIO); @@ -119,9 +119,13 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) submit_bio_wait(READ_SYNC, check); + citer.bi_size = UINT_MAX; bio_for_each_segment(bv, bio, iter) { void *p1 = kmap_atomic(bv.bv_page); - void *p2 = page_address(check->bi_io_vec[iter.bi_idx].bv_page); + void *p2; + + cbv = bio_iter_iovec(check, citer); + p2 = page_address(cbv.bv_page); cache_set_err_on(memcmp(p1 + bv.bv_offset, p2 + bv.bv_offset, @@ -132,6 +136,7 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio) (uint64_t) bio->bi_iter.bi_sector); kunmap_atomic(p1); + bio_advance_iter(check, &citer, bv.bv_len); } bio_for_each_segment_all(bv2, check, i)