[PATCH v2 0/4] vfs: track per-sb writeback errors and report them via fsinfo()

From: Jeff Layton
Date: Tue Jul 10 2018 - 10:01:36 EST


v2: drop buffer.c patch to record wb errors when underlying blockdev
flush fails. We may eventually want that, but at this point I don't have
a clear way to test it to determine its efficacy.

At LSF/MM this year, the PostgreSQL developers mentioned that they'd
like to have some mechanism to check whether there have been any
writeback errors on a filesystem, without necessarily flushing any of
the cached data first.

Given that we have a new fsinfo syscall being introduced, we may as well
use it to report writeback errors on a per superblock basis. This allows
us to provide the info that the PostgreSQL developers wanted, without
needing to change an existing interface.

This seems to do the right thing when tested by hand, but I don't yet
have an xfstest for it, since the syscall is still quite new. Once that
goes in and we get fsinfo support in xfs_io, it should be rather
trivial to roll a testcase for this.

Al, if this looks ok, could you pull this into the branch where you
have David's fsinfo patches queued up?

Thanks,
Jeff

Jeff Layton (4):
vfs: track per-sb writeback errors
errseq: add a new errseq_scrape function
vfs: allow fsinfo to fetch the current state of s_wb_err
samples: extend test-fsinfo to access error_state

fs/statfs.c | 9 +++++++++
include/linux/errseq.h | 1 +
include/linux/fs.h | 3 +++
include/linux/pagemap.h | 5 ++++-
include/uapi/linux/fsinfo.h | 11 +++++++++++
lib/errseq.c | 33 +++++++++++++++++++++++++++++++--
samples/statx/test-fsinfo.c | 13 +++++++++++++
7 files changed, 72 insertions(+), 3 deletions(-)

--
2.17.1