Re: [PATCH 1/6] hfsplus: prevent btree data loss on root split

Ernesto A. Fernández
2018-08-31T19:03:51Z

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.