From 60263d5889e6dc5987dc51b801be4955ff2e4aa7 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Thu, 23 Jul 2020 22:45:59 -0700 Subject: iomap: fall back to buffered writes for invalidation failures Failing to invalid the page cache means data in incoherent, which is a very bad state for the system. Always fall back to buffered I/O through the page cache if we can't invalidate mappings. Signed-off-by: Christoph Hellwig Acked-by: Dave Chinner Reviewed-by: Goldwyn Rodrigues Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Acked-by: Bob Peterson Acked-by: Damien Le Moal Reviewed-by: Theodore Ts'o # for ext4 Reviewed-by: Andreas Gruenbacher # for gfs2 Reviewed-by: Ritesh Harjani --- fs/gfs2/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'fs/gfs2') diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index fe305e4bfd37..b8929e470b9f 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -814,7 +814,8 @@ static ssize_t gfs2_file_direct_write(struct kiocb *iocb, struct iov_iter *from) ret = iomap_dio_rw(iocb, from, &gfs2_iomap_ops, NULL, is_sync_kiocb(iocb)); - + if (ret == -ENOTBLK) + ret = 0; out: gfs2_glock_dq(&gh); out_uninit: -- cgit v1.2.1