diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-03-06 13:00:18 +0300 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-03-06 13:00:18 +0300 |
| commit | c7be0d72d5514caf0a64763d6c7a5503fb16acf1 (patch) | |
| tree | de135086708083b658030fa37321bd5616acd373 /include | |
| parent | 1743d385e704c41ef028697ef44eeab987d5f5a2 (diff) | |
| parent | 786e3080cbe916f6a4c0987124d4f930c1814a97 (diff) | |
| download | linux-c7be0d72d5514caf0a64763d6c7a5503fb16acf1.tar.xz | |
Merge patch series "iomap preliminaries for large atomic write for xfs with CoW"
Bring in the iomap changes required for xfs to support large atomic
write with CoW.
* patches from https://lore.kernel.org/r/20250303171120.2837067-1-john.g.garry@oracle.com:
iomap: Lift blocksize restriction on atomic writes
iomap: Support SW-based atomic writes
iomap: Rename IOMAP_ATOMIC -> IOMAP_ATOMIC_HW
Link: https://lore.kernel.org/r/20250303171120.2837067-1-john.g.garry@oracle.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/iomap.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/iomap.h b/include/linux/iomap.h index ea29388b2fba..9cd93530013c 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -189,8 +189,9 @@ struct iomap_folio_ops { #else #define IOMAP_DAX 0 #endif /* CONFIG_FS_DAX */ -#define IOMAP_ATOMIC (1 << 9) +#define IOMAP_ATOMIC_HW (1 << 9) /* HW-based torn-write protection */ #define IOMAP_DONTCACHE (1 << 10) +#define IOMAP_ATOMIC_SW (1 << 11)/* SW-based torn-write protection */ struct iomap_ops { /* @@ -502,6 +503,11 @@ struct iomap_dio_ops { */ #define IOMAP_DIO_PARTIAL (1 << 2) +/* + * Use software-based torn-write protection. + */ +#define IOMAP_DIO_ATOMIC_SW (1 << 3) + ssize_t iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, const struct iomap_ops *ops, const struct iomap_dio_ops *dops, unsigned int dio_flags, void *private, size_t done_before); |
