From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH 0/4 v3] fs: Remove i_devices from struct inode Date: Tue, 4 Nov 2014 15:39:41 +0000 Message-ID: <20141104153940.GH7996@ZenIV.linux.org.uk> References: <1415096851-17209-1-git-send-email-jack@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christoph Hellwig , LKML , linux-fsdevel@vger.kernel.org To: Jan Kara Return-path: Content-Disposition: inline In-Reply-To: <1415096851-17209-1-git-send-email-jack@suse.cz> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Nov 04, 2014 at 11:27:27AM +0100, Jan Kara wrote: > Hello, > > this patch set removes use of i_devices from block and character device > code and thus we can remove the list head from struct inode thus saving two > pointers in it. As Christoph has reviewed the series, can you please merge > it Al? Thanks! > > Since v2 I've added reviewed-by tags from Christoph and changed one variable > name in cdev_forget(). > > Since v1 I have split the patches and properly handled character devices (I > broke them last time as Christoph pointed out). My problem with that is in buggered module refcounts (which was the reason for doing those non-counting references back then). Suppose you open /dev/some_char_device and close it; having the module pinned down until the inode of that sucker gets evicted by dcache/icache memory pressure would be wrong - it _isn't_ in use, and there's no way short of forcing the full eviction of VFS caches to get it possible to unload...