From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [GIT PULL] Orangefs (text only resend) Date: Fri, 11 Sep 2015 23:24:36 +0100 Message-ID: <20150911222436.GO22011@ZenIV.linux.org.uk> References: <20150906090838.GI22011@ZenIV.linux.org.uk> <20150906202019.GJ22011@ZenIV.linux.org.uk> <20150907063704.GK22011@ZenIV.linux.org.uk> <20150907232206.GL22011@ZenIV.linux.org.uk> <20150908144849.GA1398@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christoph Hellwig , Linus Torvalds , linux-fsdevel , Andrew Morton , Stephen Rothwell , Boaz Harrosh , Greg Kroah-Hartman To: Mike Marshall Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:50810 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754032AbbIKWYl (ORCPT ); Fri, 11 Sep 2015 18:24:41 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Sep 11, 2015 at 05:12:08PM -0400, Mike Marshall wrote: > I'm about to leave for the day... > > I haven't found any problems with the GFP_KERNEL allocations that > Al warned me about... that doesn't mean there aren't any... *IF* you have nothing that would require locks in any of the pathways related to memory pressure (and can guarantee that no such thing will appear), GFP_KERNEL should be OK. Still, doing that under the system-wide mutex taken whenever you need to send a request looks like a Bad Idea(tm) - too easy to introduce such deadlocks on subsequent changes. > I'm using copy_page_to_iter in my new branch as Al suggested. I've > changed the code quite a bit from any samples I've posted, there were > regressions with it. I finally stole some code from > cifs/file.c/cifs_readdata_to_iov > and everything works... but I'm not happy with it yet... Linus once posted > a message to the effect that "you don't fix bugs by thrashing around until > stuff seems to work, you fix them by doing the right thing on purpose..." > and I'm working towards that end... Could you tell where does the current code live? What's in -next appears to be unchanged... BTW, as for passing all your tests... Do those include fuzzing it by misbehaving server? And getdents() from a directory that has a bunch of long names *and* a short one in the very end looks like it would misbehave even on correctly working server...