Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ece413f5 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Alex Elder
Browse files

xfs: remove incorrect assert in xfs_vm_writepage



In commit 20cb52eb, titled
"xfs: simplify xfs_vm_writepage" I added an assert that any !mapped and
uptodate buffers are not dirty.  That asserts turns out to trigger a lot
when running fsx on filesystems with small block sizes.  The reason for
that is that the assert is simply incorrect.  !mapped and uptodate
just mean this buffer covers a hole, and whenever we do a set_page_dirty
we mark all blocks in the page dirty, no matter if they have data or
not.  So remove the assert, and update the comment above the condition
to match reality.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
parent c6f6cd06
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -1111,11 +1111,12 @@ xfs_vm_writepage(
			uptodate = 0;
			uptodate = 0;


		/*
		/*
		 * A hole may still be marked uptodate because discard_buffer
		 * set_page_dirty dirties all buffers in a page, independent
		 * leaves the flag set.
		 * of their state.  The dirty state however is entirely
		 * meaningless for holes (!mapped && uptodate), so skip
		 * buffers covering holes here.
		 */
		 */
		if (!buffer_mapped(bh) && buffer_uptodate(bh)) {
		if (!buffer_mapped(bh) && buffer_uptodate(bh)) {
			ASSERT(!buffer_dirty(bh));
			imap_valid = 0;
			imap_valid = 0;
			continue;
			continue;
		}
		}