From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH] Check for Null return of function of affs_bread in function affs_truncate Date: Fri, 20 Jun 2014 20:09:18 -0700 Message-ID: <20140620200918.e1700629.akpm@linux-foundation.org> References: <1403129285-5038-1-git-send-email-xerofoify@gmail.com> <20140619052128.GV5015@mwanda> <20140620193819.e379a55b.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Thomas Gleixner , Dan Carpenter , viro@zeniv.linux.org.uk, fabf@skynet.be, kirill.shutemov@linux.intel.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Nick Krause Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Fri, 20 Jun 2014 22:55:07 -0400 Nick Krause wrote: > On Fri, Jun 20, 2014 at 10:38 PM, Andrew Morton > wrote: > > On Fri, 20 Jun 2014 22:25:47 -0400 Nick Krause wrote: > > > >> If you have any ideas about what is better > >> please let me known. > > > > I think the proposed patch was not a good one - it will cause truncate > > to silently return, probably leaving the fs in an inconsistent state. > > Neither the user nor the running application know this happened so they > > will just keep on modifying the filesystem, possibly mangling it > > further. > > > > The code as it stands at present is better - if bread() fails we'll get > > a nice solid oops and the current app will be terminated (at least). > > As we're in truncate it's quite possible that the entire fs will get > > wedged up due to now-permanently-held i_mutex, which is even better. > > > > > > As for the best fix, umm, hard. We're pretty screwed if we cannot read > > that block at this code site. Perhaps emit loud printks, forcibly turn > > the fs read-only then return -EIO/-ENOMEM/etc from the truncate. Such > > a change would require runtime testing, with some form of developer fault > > injection. > > Fair enough if somebody is running this file system I would be > happy to have someone test my code in order to fix this. (top-posting repaired - please don't top-post!) It's going to be hard to find such a person. As mkfs.affs doesn't appear to exist (?) your best bet would be to find someone who has an Amiga, get them to create a new fs for you (via loopback-on-file) then gzip the underlying file and send it to you. You can then use that fs image file as many times as you want via loopback or straight onto a disk. Make sure the image file is zeroed out first so it compresses well. Or something like that.