From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:58673 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751520AbcAXAQR (ORCPT ); Sat, 23 Jan 2016 19:16:17 -0500 Date: Sun, 24 Jan 2016 00:16:15 +0000 From: Al Viro To: Mike Marshall Cc: Linus Torvalds , linux-fsdevel Subject: Re: Orangefs ABI documentation Message-ID: <20160124001615.GT17997@ZenIV.linux.org.uk> References: <20160122200442.GF17997@ZenIV.linux.org.uk> <20160123001202.GJ17997@ZenIV.linux.org.uk> <20160123012808.GK17997@ZenIV.linux.org.uk> <20160123191055.GN17997@ZenIV.linux.org.uk> <20160123214006.GO17997@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Sat, Jan 23, 2016 at 05:36:41PM -0500, Mike Marshall wrote: > AV> IOW, would the following do the right thing? > AV> That would've left us with only one caller of > AV> handle_io_error()... > > It works. With your simplified code all > the needed things still happen: complete and > bufmap_put... > > I've never had an error there unless I forgot > to turn on the client-core... > > You must be looking for a way to get rid of > another macro ... That as well, but mostly I want to sort the situation with cancels out and get a better grasp on when can that code be reached. BTW, an error at that spot is trivial to arrange - just pass read() a destination with munmapped page in the middle and it'll trigger just fine. IOW, p = mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); munmap(p + 16384, 16384); read(fd, p, 65536); with fd being a file on orangefs should step into that.