Commit 420e05d0 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Andrew Morton
Browse files

fs: remove calls to set and clear the folio error flag

Nobody checks the folio error flag any more, so we can stop setting and
clearing it.  Also remove the documentation suggesting to not bother
setting the error bit.

Link: https://lkml.kernel.org/r/20240807193528.1865100-1-willy@infradead.org


Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 62e73fd8
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -913,8 +913,7 @@ cache in your filesystem. The following members are defined:
	stop attempting I/O, it can simply return.  The caller will
	remove the remaining pages from the address space, unlock them
	and decrement the page refcount.  Set PageUptodate if the I/O
	completes successfully.  Setting PageError on any page will be
	ignored; simply unlock the page if an I/O error occurs.
	completes successfully.

``write_begin``
	Called by the generic buffered write code to ask the filesystem
+0 −8
Original line number Diff line number Diff line
@@ -530,7 +530,6 @@ static void __filemap_fdatawait_range(struct address_space *mapping,
			struct folio *folio = fbatch.folios[i];

			folio_wait_writeback(folio);
			folio_clear_error(folio);
		}
		folio_batch_release(&fbatch);
		cond_resched();
@@ -2342,13 +2341,6 @@ static int filemap_read_folio(struct file *file, filler_t filler,
	unsigned long pflags;
	int error;

	/*
	 * A previous I/O error may have been due to temporary failures,
	 * eg. multipath errors.  PG_error will be set again if read_folio
	 * fails.
	 */
	folio_clear_error(folio);

	/* Start the actual read. The read will unlock the page. */
	if (unlikely(workingset))
		psi_memstall_enter(&pflags);
+0 −2
Original line number Diff line number Diff line
@@ -586,8 +586,6 @@ void folio_migrate_flags(struct folio *newfolio, struct folio *folio)
{
	int cpupid;

	if (folio_test_error(folio))
		folio_set_error(newfolio);
	if (folio_test_referenced(folio))
		folio_set_referenced(newfolio);
	if (folio_test_uptodate(folio))
+1 −3
Original line number Diff line number Diff line
@@ -273,9 +273,7 @@ static void sio_write_complete(struct kiocb *iocb, long ret)
		 * memory for allocating transmit buffers.
		 * Mark the page dirty and avoid
		 * folio_rotate_reclaimable but rate-limit the
		 * messages but do not flag PageError like
		 * the normal direct-to-bio case as it could
		 * be temporary.
		 * messages.
		 */
		pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
				   ret, swap_dev_pos(page_swap_entry(page)));