Hello, this patch queue converts gfs2 to use iomap for buffered writes, which uses multi-page block allocations for large writes instead of requiring a separate allocation for each page of data. The patches apply on top of the gfs2 punch-hole patch queue [*]. So far, the only user of iomap_file_buffered_write was xfs, which doesn't do data journaling. To support gfs2's data journaling, patch 08/10 adds a new iomap_written iomap operation: if defined, this operation is called by iomap_file_buffered_write whenever a page has been written to. This patch queue doesn't convert direct I/O, so we still have a remaining user of the old gfs2_write_begin / gfs2_write_end interface left. Once direct I/O has been converted to use iomap, we'll get rid of that code, though. Thanks, Andreas [*] https://www.redhat.com/archives/cluster-devel/2017-December/msg00089.html Andreas Gruenbacher (10): gfs2: Typo fixes gfs2: Add gfs2_max_stuffed_size gfs2: Minor gfs2_page_add_databufs cleanup gfs2: gfs2_stuffed_write_end cleanup gfs2: gfs2_stuffed_write_end cleanup (fixup) gfs2: Remove ordered write mode handling from gfs2_trans_add_data gfs2: Iomap cleanups and improvements iomap: New iomap_written operation gfs2: Implement iomap buffered write support (1) gfs2: Implement iomap buffered write support (2) fs/gfs2/aops.c | 178 ++++++++++++++++------ fs/gfs2/aops.h | 19 +++ fs/gfs2/bmap.c | 407 +++++++++++++++++++++++++++++++++++++------------- fs/gfs2/bmap.h | 5 +- fs/gfs2/dir.c | 3 +- fs/gfs2/file.c | 49 +++++- fs/gfs2/incore.h | 5 + fs/gfs2/inode.c | 10 +- fs/gfs2/log.h | 7 +- fs/gfs2/quota.c | 5 +- fs/gfs2/trans.c | 27 +--- fs/iomap.c | 21 ++- include/linux/iomap.h | 9 ++ 13 files changed, 558 insertions(+), 187 deletions(-) create mode 100644 fs/gfs2/aops.h -- 2.14.3