xfs: flag as supporting FOP_UNCACHED buffered-uncached.5
authorJens Axboe <axboe@kernel.dk>
Fri, 8 Nov 2024 16:15:19 +0000 (09:15 -0700)
committerJens Axboe <axboe@kernel.dk>
Sun, 10 Nov 2024 15:17:25 +0000 (08:17 -0700)
Read side was already fully supported, for the write side all that's
needed now is calling generic_uncached_write() when uncached writes
have been submitted. With that, enable the use of RWF_UNCACHED with XFS
by flagging support with FOP_UNCACHED.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/xfs/xfs_file.c

index b19916b11fd563d693032c52d49fa38a272a9bd3..1a7f46e134643db146863e2f282eabebe0c72755 100644 (file)
@@ -825,6 +825,7 @@ out:
 
        if (ret > 0) {
                XFS_STATS_ADD(ip->i_mount, xs_write_bytes, ret);
+               generic_uncached_write(iocb, ret);
                /* Handle various SYNC-type writes */
                ret = generic_write_sync(iocb, ret);
        }
@@ -1595,7 +1596,8 @@ const struct file_operations xfs_file_operations = {
        .fadvise        = xfs_file_fadvise,
        .remap_file_range = xfs_file_remap_range,
        .fop_flags      = FOP_MMAP_SYNC | FOP_BUFFER_RASYNC |
-                         FOP_BUFFER_WASYNC | FOP_DIO_PARALLEL_WRITE,
+                         FOP_BUFFER_WASYNC | FOP_DIO_PARALLEL_WRITE |
+                         FOP_UNCACHED,
 };
 
 const struct file_operations xfs_dir_file_operations = {