From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759043AbcIMVcG (ORCPT ); Tue, 13 Sep 2016 17:32:06 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:35086 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932160AbcIMV3p (ORCPT ); Tue, 13 Sep 2016 17:29:45 -0400 Date: Tue, 13 Sep 2016 14:29:44 -0700 From: Andrew Morton To: Michal Hocko Cc: linux-mm@kvack.org, LKML Subject: Re: [PATCH 1/2] fs: use mapping_set_error instead of opencoded set_bit Message-Id: <20160913142944.fcb0067c66924a14be92b6dc@linux-foundation.org> In-Reply-To: <20160913065259.GA31898@dhcp22.suse.cz> References: <20160901091347.GC12147@dhcp22.suse.cz> <20160912111608.2588-1-mhocko@kernel.org> <20160912111608.2588-2-mhocko@kernel.org> <20160912151146.9999e6b1a9b18eac61d177d2@linux-foundation.org> <20160912151823.45d01e5acc44fa082c94dd2c@linux-foundation.org> <20160913065259.GA31898@dhcp22.suse.cz> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 13 Sep 2016 08:53:01 +0200 Michal Hocko wrote: > On Mon 12-09-16 15:18:23, Andrew Morton wrote: > > On Mon, 12 Sep 2016 15:11:46 -0700 Andrew Morton wrote: > > > > > > @@ -409,7 +408,7 @@ static int afs_write_back_from_locked_page(struct afs_writeback *wb, > > > > case -ENOMEDIUM: > > > > case -ENXIO: > > > > afs_kill_pages(wb->vnode, true, first, last); > > > > - set_bit(AS_EIO, &wb->vnode->vfs_inode.i_mapping->flags); > > > > + mapping_set_error(wb->vnode->vfs_inode.i_mapping, -ENXIO); > > > > > > This one is a functional change: mapping_set_error() will rewrite > > > -ENXIO into -EIO. Doesn't seem at all important though. > > > > hm, OK, it's not a functional change - the code was already doing > > s/ENXIO/EIO/. > > Yes the rewrite is silent but I've decided to keep the current errno > because I have no idea whether this can change in future. It doesn't > sound probable but it also sounds safer to do an overwrite at a single > place rather than all over the place /me thinks. Well, this is the only place in the kernel where we attempt to set anything other than EIO. I do think it's better to be honest about what's happening, right here at the callsite.