All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] xfs-4.18: various fixes
@ 2018-06-21 18:31 Darrick J. Wong
  2018-06-21 18:31 ` [PATCH 1/8] xfs: allow empty transactions while frozen Darrick J. Wong
                   ` (8 more replies)
  0 siblings, 9 replies; 33+ messages in thread
From: Darrick J. Wong @ 2018-06-21 18:31 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs

Hi all,

Here's a series of patches to fix some problems I noticed in 4.18.

The first patch fixes a problem where we WARN_ON if someone tries to
create an empty transaction while the fs is frozen.  Since these
transactions can't modify anything, it seems unnecessary to warn about
them.

The second patch fixes per-ag rmapbt reservation accounting problems.
The on-disk fdblocks counter is not decremented for rmapbt blocks, so
the incore reservation should always decrement the incore fdblocks by
the entire reservation regardless of rmapbt use.  This fixes the problem
where b_avail as reported by statfs changes across an unmount/mount
cycle if the rmapbt had grown prior to the unmount, even though the
number of blocks in use has not changed at all.

The third patch fixes the userspace-configurable default reserved
blocks calculation when there are fewer fdblocks than what we set aside
to avoid deadlocks.

The fourth patch fixes a problem Zorro Lang found where on a 512b
block filesystem we can cause an extent at s_maxbytes to be right
shifted to the point that it block offset exceeds the field size of 54
bytes.  generic/485 is the regression test.

The fifth patch fixes a hard to trigger TOCTOU bug in generic/166 where
we take ILOCK_SHARED in preparation for a directio write but by the time
we get the lock a second thread has set the reflink flag on the file and
shared the extent we're trying to write but we proceed into the COW
allocation paths without the required ILOCK_EXCL.

The sixth patch fixes an uninitialized field in the rtbitmap fsmap code.

The seventh pach fixes an off-by-one error in the rtbitmap range query
function (which fortunately only affects the rtbitmap fsmap results).

The eighth patch fixes a bug reported by fsx in generic/127 wherein if
we write a file to a non-page-aligned length, mmap read the EOF page,
truncate the file to a smaller non-page-aligned length, run zero_range
out to EOF, and then mmap read the EOF page a second time, we briefly
see non-zero bytes after EOF.

Comments and questions are, as always, welcome.

--D

^ permalink raw reply	[flat|nested] 33+ messages in thread
* [PATCH 0/4] fstests: fixes and new tests
@ 2018-06-21 18:32 Darrick J. Wong
  2018-06-21 18:32 ` [PATCH 2/4] xfs: regression test for rmapbt fdblocks accounting problems Darrick J. Wong
  0 siblings, 1 reply; 33+ messages in thread
From: Darrick J. Wong @ 2018-06-21 18:32 UTC (permalink / raw)
  To: guaneryu, darrick.wong; +Cc: linux-xfs, fstests

Hi all,

The first patch fixes xfs/365 to fuzz the AG1 inobt since as of 4.18 XFS
requires an intact AG0 inobt even to mount.

The second patch provides a regression test for "xfs: fix fdblocks
accounting w/ RMAPBT per-AG reservation".

The third patch provides a regression test for a condition where mmap
read of a file's EOF page shows nonzero bytes after EOF if the
previous operation was a zero_range all the way to EOF.  This bug only
seems to manifest on XFS, but it uses generic APIs and so is a generic
test.  The patch concerned here is "xfs: ensure post-EOF zeroing happens
after zeroing part of a file".

The fourth patch adds a variant to the xfs fuzz tests where we fuzz the
metadata fields and immediately try to write to the filesystem.

--D

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2018-06-23  6:47 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-21 18:31 [PATCH 0/8] xfs-4.18: various fixes Darrick J. Wong
2018-06-21 18:31 ` [PATCH 1/8] xfs: allow empty transactions while frozen Darrick J. Wong
2018-06-22  6:18   ` Allison Henderson
2018-06-22  6:31   ` Christoph Hellwig
2018-06-21 18:31 ` [PATCH 2/8] xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation Darrick J. Wong
2018-06-22  6:21   ` Allison Henderson
2018-06-21 18:31 ` [PATCH 3/8] xfs: don't trip over negative free space in xfs_reserve_blocks Darrick J. Wong
2018-06-22  6:31   ` Christoph Hellwig
2018-06-22  6:32   ` Allison Henderson
2018-06-21 18:31 ` [PATCH 4/8] xfs: don't allow insert-range to shift extents past the maximum offset Darrick J. Wong
2018-06-22  6:33   ` Allison Henderson
2018-06-22  6:39   ` Christoph Hellwig
2018-06-22  6:47     ` Darrick J. Wong
2018-06-22 21:21   ` [PATCH v2 " Darrick J. Wong
2018-06-23  6:47     ` Christoph Hellwig
2018-06-21 18:31 ` [PATCH 5/8] xfs: recheck reflink state after grabbing ILOCK_SHARED for a write Darrick J. Wong
2018-06-22  6:40   ` Christoph Hellwig
2018-06-21 18:31 ` [PATCH 6/8] xfs: fix uninitialized field in rtbitmap fsmap backend Darrick J. Wong
2018-06-22  6:37   ` Allison Henderson
2018-06-22  6:41   ` Christoph Hellwig
2018-06-22  6:47     ` Darrick J. Wong
2018-06-22 21:22   ` [PATCH v2 " Darrick J. Wong
2018-06-23  6:47     ` Christoph Hellwig
2018-06-21 18:31 ` [PATCH 7/8] xfs: fix off-by-one error in xfs_rtalloc_query_range Darrick J. Wong
2018-06-22  6:41   ` Christoph Hellwig
2018-06-22  6:41   ` Allison Henderson
2018-06-21 18:31 ` [PATCH 8/8] xfs: ensure post-EOF zeroing happens after zeroing part of a file Darrick J. Wong
2018-06-22  6:29   ` Christoph Hellwig
2018-06-22  6:49     ` Darrick J. Wong
2018-06-22  6:42   ` Allison Henderson
2018-06-22  6:21 ` [PATCH 9/8] xfs: check leaf attribute block freemap in verifier Darrick J. Wong
2018-06-21 18:32 [PATCH 0/4] fstests: fixes and new tests Darrick J. Wong
2018-06-21 18:32 ` [PATCH 2/4] xfs: regression test for rmapbt fdblocks accounting problems Darrick J. Wong
2018-06-22  6:35   ` [PATCH 5/8] xfs: recheck reflink state after grabbing ILOCK_SHARED for a write Allison Henderson
2018-06-22  6:39     ` Darrick J. Wong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.