From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [PATCH] block: add a bi_error field to struct bio Date: Tue, 28 Jul 2015 08:33:45 -0600 Message-ID: <55B792C9.2000605@kernel.dk> References: <1437398977-8492-1-git-send-email-hch@lst.de> <1437398977-8492-2-git-send-email-hch@lst.de> <55AFE643.5000704@kernel.dk> <55B01252.90004@kernel.dk> <20150724104946.GA25145@lst.de> <55B2699D.6010400@kernel.dk> <20150728111249.GA19647@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20150728111249.GA19647@lst.de> Sender: linux-kernel-owner@vger.kernel.org To: Christoph Hellwig Cc: "Martin K. Petersen" , Neil Brown , Liu Bo , linux-raid@vger.kernel.org, dm-devel@redhat.com, linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-raid.ids On 07/28/2015 05:12 AM, Christoph Hellwig wrote: > On Fri, Jul 24, 2015 at 10:36:45AM -0600, Jens Axboe wrote: >> Right, I don't think we need to do that though. If you look at the flags >> usage, it's all over the map. Some use test/set_bit, some set it just by >> OR'ing the mask. There's no reason we can't make this work without relying >> on set/test_bit, and then shrink it to an unsigned int. > > Yes, the current mess doesn't look kosher. The bvec pool bits don't > really make it better. > > But do we really need the cmpxchg hack? Seems like most flags aren't > exposed to concurrency at all, althugh this would need a careful audit. I actually don't think that we do need it at all. With the uptodate bit gone, we really should not have any concurrency issues on it at all. CHAIN and REFFED need serialization, but that is already done previous to this change. -- Jens Axboe