From: Jeff Layton <jlayton@kernel.org> To: viro@ZenIV.linux.org.uk, dhowells@redhat.com Cc: willy@infradead.org, andres@anarazel.de, cmaiolino@redhat.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 2/5] buffer: record blockdev write errors in super_block that backs them Date: Mon, 4 Jun 2018 14:03:01 -0400 [thread overview] Message-ID: <20180604180304.9662-3-jlayton@kernel.org> (raw) In-Reply-To: <20180604180304.9662-1-jlayton@kernel.org> From: Jeff Layton <jlayton@redhat.com> When syncing out a block device (a'la __sync_blockdev), any error encountered will only be recorded in the bd_inode's mapping. When the blockdev contains a filesystem however, we'd like to also record the error in the super_block that's stored there. Make mark_buffer_write_io_error also record the error in the corresponding super_block when a writeback error occurs and the block device contains a mounted superblock. Signed-off-by: Jeff Layton <jlayton@redhat.com> --- fs/buffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/buffer.c b/fs/buffer.c index 249b83fafe48..dae2a857d5bc 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1117,6 +1117,8 @@ void mark_buffer_write_io_error(struct buffer_head *bh) mapping_set_error(bh->b_page->mapping, -EIO); if (bh->b_assoc_map) mapping_set_error(bh->b_assoc_map, -EIO); + if (bh->b_bdev->bd_super) + errseq_set(&bh->b_bdev->bd_super->s_wb_err, -EIO); } EXPORT_SYMBOL(mark_buffer_write_io_error); -- 2.17.0
next prev parent reply other threads:[~2018-06-04 18:03 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-06-04 18:02 [PATCH 0/5] vfs: track per-sb writeback errors and report them via fsinfo() Jeff Layton 2018-06-04 18:03 ` [PATCH 1/5] vfs: track per-sb writeback errors Jeff Layton 2018-06-04 18:03 ` Jeff Layton [this message] 2018-06-06 15:56 ` [PATCH 2/5] buffer: record blockdev write errors in super_block that backs them Jeff Layton 2018-06-19 10:40 ` Jeff Layton 2018-06-19 13:03 ` Jeff Layton 2018-06-04 18:03 ` [PATCH 3/5] errseq: add a new errseq_scrape function Jeff Layton 2018-06-04 18:03 ` [PATCH 4/5] vfs: allow fsinfo to fetch the current state of s_wb_err Jeff Layton 2018-06-04 18:03 ` [PATCH 5/5] samples: extend test-fsinfo to access error_state Jeff Layton
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180604180304.9662-3-jlayton@kernel.org \ --to=jlayton@kernel.org \ --cc=andres@anarazel.de \ --cc=cmaiolino@redhat.com \ --cc=dhowells@redhat.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=viro@ZenIV.linux.org.uk \ --cc=willy@infradead.org \ --subject='Re: [PATCH 2/5] buffer: record blockdev write errors in super_block that backs them' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).