From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:36222 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932474AbeAKVPP (ORCPT ); Thu, 11 Jan 2018 16:15:15 -0500 From: Andreas Gruenbacher To: cluster-devel@redhat.com, Christoph Hellwig Cc: Andreas Gruenbacher , linux-fsdevel@vger.kernel.org Subject: [PATCH 00/10] gfs2 iomap buffered write support Date: Thu, 11 Jan 2018 22:14:54 +0100 Message-Id: <20180111211506.328-1-agruenba@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: 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