RE: [PATCH 0/6 V2] xfs: upfront block zeroing for DAX

Boylston, Brian
2015-11-06T18:14:00Z

Hi,

I wrote a test tool that exercises page faults on hole-y portions of
an mmapped file. The file is created, sized using various methods,
mmapped, and then two threads race to write a marker to different
offsets within each mapped page. Once the threads have finished
marking each page, the pages are checked for the presence of the
markers.

The test easily exposes corruption on pmem-backed, DAX-mounted xfs
and ext4 file systems.

With 4.3 and this patch set, the data corruption is no longer seen.

The test code was posted to linux-ext4:
http://marc.info/?l=linux-ext4&m=144683276225574&w=2

For the series:
Tested-by: Brian Boylston <brian.boylston@hpe.com>

-----Original Message-----
From: Dave Chinner [mailto:david@fromorbit.com]
Sent: Sunday, October 18, 2015 11:27 PM
Subject: [PATCH 0/6 V2] xfs: upfront block zeroing for DAX

Hi folks,

This is an updated patch set that was first posted here:

http://oss.sgi.com/archives/xfs/2015-10/msg00006.html

I've dropped the DAX locking revert patch from it; that's on it's
way to Linus via other channels and is essentially independent to
this set of XFS changes.

The only real change in the XFS code between the two versions is the
addition of XFS_TRANS_RESERVE in the DAX path in
xfs_iomap_write_direct() to allow it to dip into the reserve block
pool for unwritten extent conversion rather than reporting ENOSPC.

Patches are against 4.3-rc5 + XFS for-next branch.

-Dave.