From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ipmail03.adl2.internode.on.net ([150.101.137.141]:37434 "EHLO ipmail03.adl2.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726044AbeIAJAH (ORCPT ); Sat, 1 Sep 2018 05:00:07 -0400 Date: Sat, 1 Sep 2018 14:49:26 +1000 From: Dave Chinner To: Ernesto =?iso-8859-1?Q?A=2E_Fern=E1ndez?= Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, Andrew Morton Subject: Re: [PATCH 1/6] hfsplus: prevent btree data loss on root split Message-ID: <20180901044926.GI1572@dastard> References: <26d882184fc43043a810114258f45277752186c7.1535682461.git.ernesto.mnd.fernandez@gmail.com> <20180831053642.GA29605@infradead.org> <20180831145554.un5pb46m4l74hrvp@eaf> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180831145554.un5pb46m4l74hrvp@eaf> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Aug 31, 2018 at 11:55:54AM -0300, Ernesto A. Fern�ndez wrote: > On Thu, Aug 30, 2018 at 10:36:42PM -0700, Christoph Hellwig wrote: > > On Fri, Aug 31, 2018 at 12:58:19AM -0300, Ernesto A. Fern�ndez wrote: > > > Creating, renaming or deleting a file may cause catalog corruption and > > > data loss. This bug is randomly triggered by xfstests generic/027, but > > > here is a faster reproducer: > > > > > > truncate -s 50M fs.iso > > > mkfs.hfsplus fs.iso > > > mount fs.iso /mnt > > > i=100 > > > while [ $i -le 150 ]; do > > > touch /mnt/$i &>/dev/null > > > ((++i)) > > > done > > > i=100 > > > while [ $i -le 150 ]; do > > > mv /mnt/$i /mnt/$(perl -e "print $i x82") &>/dev/null > > > ((++i)) > > > done > > > umount /mnt > > > fsck.hfsplus -n fs.iso > > > > It would be good to wire up this short reproducer as well for xfstests. > > Yes, that's my intention. The problem is that mkfs.hfsplus does not allow > setting the size of the filesystem for scratch_mkfs_sized(); you need a > workaround with the device mapper. I think I should submit that patch first > and see if there is a problem with it. You don't need to do that. We use loop devices like this w/ mkfs_dev quite a lot in fstests. For example, generic/361 has pretty much the exact code pattern you need.... Cheers, Dave. -- Dave Chinner david@fromorbit.com