VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
author: Christoph Hellwig <hch@lst.de> 2020-07-23 22:45:59 -0700 committer: Darrick J. Wong <darrick.wong@oracle.com> 2020-08-05 09:24:16 -0700 commit: 60263d5889e6dc5987dc51b801be4955ff2e4aa7 parent: 80e543ae24db8f03241004136cb5bb37586fba70
Commit Summary:
iomap: fall back to buffered writes for invalidation failures
Diffstat:
1 file changed, 5 insertions, 2 deletions
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index 07bc42d62673..d0a04528a7e1 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -786,8 +786,11 @@ static ssize_t zonefs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
 	if (iocb->ki_pos >= ZONEFS_I(inode)->i_max_size)
 		return -EFBIG;
 
-	if (iocb->ki_flags & IOCB_DIRECT)
-		return zonefs_file_dio_write(iocb, from);
+	if (iocb->ki_flags & IOCB_DIRECT) {
+		ssize_t ret = zonefs_file_dio_write(iocb, from);
+		if (ret != -ENOTBLK)
+			return ret;
+	}
 
 	return zonefs_file_buffered_write(iocb, from);
 }