From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [git pull] gadgetfs fixes Date: Sun, 15 Mar 2015 08:17:34 +0000 Message-ID: <20150315081733.GV29656@ZenIV.linux.org.uk> References: <20150313164228.GQ29656@ZenIV.linux.org.uk> <5504D4B9.2010901@ahsoftware.de> <20150315013948.GU29656@ZenIV.linux.org.uk> <55052828.7090701@ahsoftware.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Linus Torvalds , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-usb@vger.kernel.org To: Alexander Holler Return-path: Content-Disposition: inline In-Reply-To: <55052828.7090701@ahsoftware.de> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sun, Mar 15, 2015 at 07:35:20AM +0100, Alexander Holler wrote: > > Umm... If I'm not misparsing what you said, you are talking about = the >=20 > Gl=FCcklicherweise nicht. Vielleicht sollten wir es zur Abwechslung m= al > mit meiner bevorzugten Sprache versuchen. Good. I'll probably abstain from trying to mangle it, though. Another question, if you don't mind - does that series (i.e. what's cur= rently in Linus' tree) fix the module refcount issues you'd been seeing? I ag= ree with your analysis of likely cause (->f_op reassignments with different ->owner before and after) and these patches should have eliminated that= , but confirmation would be nice... Incidentally, none of those file_operations need ->owner in the first p= lace; it doesn't hurt (as long as ->f_op doesn't change that way), but such f= iles (living on a filesystem provided by the module their methods are in) don't need the module refcount bumped while the file is opened - having= it opened pins file_system_type of containing filesystem (by keeping a ref= erence to struct vfsmount, which keeps a reference to struct super_block, whic= h keeps a reference to file_system_type), so the module will be kept busy just = fine. Again, having ->owner on file_operations doesn't hurt, so it's not a bu= g per se - just pointless in such cases. So we might want to remove it from ep_io_operations someday. Anyway, that's a completely separate st= ory...