Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp835787imu; Tue, 27 Nov 2018 23:47:24 -0800 (PST) X-Google-Smtp-Source: AFSGD/WN5a7fSJBPfHmSZyDyOon2ioKB7vDlZJTi0pcax+wmMuxAVe/WgcX76brSeVIk1DxPdwcv X-Received: by 2002:a63:d949:: with SMTP id e9mr32492610pgj.24.1543391244437; Tue, 27 Nov 2018 23:47:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543391244; cv=none; d=google.com; s=arc-20160816; b=ZKAkhatVSKTyAGCJsjcOp17Px0LnjbtIue6+ymQMePmvJ5M1LYWsIEOHvQcenrIrUH s2UmBZjlEpBYcQwrnOknAGPv6+C+6QkKRjE3K9cmxwjNM9i7i5JweNC/NwbX8BZG9CXB MOWhSuBO45fWyw1L13YL5jOhixOy/nUgpKqCKkOFxCj/RobUJ62sObB/Lf5MvbHAro+u oszUmRgdsHpROg9V78fp71oqRz8Ud89EioWCn9+JNXCAykgFtGI0uKrTmk5Bwxu59bWw X6gk/ZuJk/Tva+JEdLnid0RT9XM/EBTRku61GRYDMr3mQ/MBZJj0NZSMpTQMGlfhxtau v1lQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=7hG1t9mQP4TJWOEI5FZnsh78eg6y97udlpYZwTLTi7A=; b=wmOKcFaz5vlvEiJlY+TtMfNQe9nmw0siwL3DcN0TJB8kJkeGIUGkZfg02Nn+0mElNh 7wGD5VDH25aQe9G5qV+Eeq6qweRQy/8ELzZ3giESj/anouzuU19eTmTYOG/vj7USd5cr Om2O5M5ERArgq+KBfHMHOd6Y6LbDwu+Cb0SGv+LsdKIU2BONUiY1bA7ac9oogWFJt8gk eiS/OCjsIWPzOAf4DUdglS7QNsjMgfQVJTqqswinNWpKBSNx1NRxnJlYdXs5YcxSGXL+ J3RzNbivxJ9sDTzZyhi+6BguMYB/P5SYBk8sADhydKDJ24aWNRJg8V8SfZJfcLdppTnF mBow== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z4si6398088pgl.16.2018.11.27.23.47.09; Tue, 27 Nov 2018 23:47:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727746AbeK1SrA (ORCPT + 99 others); Wed, 28 Nov 2018 13:47:00 -0500 Received: from ipmail03.adl2.internode.on.net ([150.101.137.141]:29178 "EHLO ipmail03.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727247AbeK1Sq7 (ORCPT ); Wed, 28 Nov 2018 13:46:59 -0500 Received: from ppp59-167-129-252.static.internode.on.net (HELO dastard) ([59.167.129.252]) by ipmail03.adl2.internode.on.net with ESMTP; 28 Nov 2018 18:16:15 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1gRuY1-0004Hw-4c; Wed, 28 Nov 2018 18:46:13 +1100 Date: Wed, 28 Nov 2018 18:46:13 +1100 From: Dave Chinner To: Christoph Hellwig Cc: Allison Henderson , linux-block@vger.kernel.org, linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, martin.petersen@oracle.com, shirley.ma@oracle.com, bob.liu@oracle.com Subject: Re: [RFC PATCH v1 0/7] Block/XFS: Support alternative mirror device retry Message-ID: <20181128074613.GP6311@dastard> References: <1543376991-5764-1-git-send-email-allison.henderson@oracle.com> <20181128053303.GL6311@dastard> <20181128073722.GB7084@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181128073722.GB7084@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 27, 2018 at 11:37:22PM -0800, Christoph Hellwig wrote: > On Wed, Nov 28, 2018 at 04:33:03PM +1100, Dave Chinner wrote: > > One thing that is going to make this more complex at the XFS layer > > is discontiguous buffers. They require multiple IOs (and therefore > > bios) and so we are going to need to ensure that all the bios use > > the same bi_rw_hint. > > Well, in case of raid 1 the load balancing code might actually > map different bios to different initial legs. What we really need > is to keep the 'index' or each bio. One good way to archive that > is to just reuse the bio for the retry instead of allocating a new one. Not sure that is practical, because by the time we run the verifier that discovers the error we've already released and freed all the bios. And we don't know when we complete the individual bios whether to kep it or not as the failure may occur in a bio that has not yet completed. Maybe we should be chaining bios for discontig buffers rather than submitting them individually - that keeps the whole chain around until all bios in the chain have completed, right? Cheers, Dave. -- Dave Chinner david@fromorbit.com