From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:56002 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750810AbdFGOLx (ORCPT ); Wed, 7 Jun 2017 10:11:53 -0400 From: Andreas Gruenbacher To: cluster-devel@redhat.com Cc: Andreas Gruenbacher , Christoph Hellwig , linux-fsdevel@vger.kernel.org Subject: [PATCH 0/4] gfs2 iomap: fiemap and lseek Date: Wed, 7 Jun 2017 16:11:43 +0200 Message-Id: <1496844707-23398-1-git-send-email-agruenba@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Here's an update of a patch queue that implements iomap in gfs2, switches fiemap over to use iomap, and now also implements lseek SEEK_HOLE and SEEK_DATA on top of iomap as well. Several issues with the previous version of this patch queue have been fixed: * Adds a IOMAP_F_BOUNDARY iomap flag that indicates when iomap has reached a "metadata boundary", and fetching the next mapping is likely to incur an additional I/O. This flag is used to set the bh buffer boundary flag. * lseek SEEK_HOLE / SEEK_DATA is now implemented using a vfs helper and some filesystem wiring-up code. This could be made generic if the iomap_ops are exposed at the vfs level. * Rounding fixes now that gfs2_get_iomap takes byte numbers instead of block numbers. * Fixes to make gfs2_get_iomap work beyond EOF (needed for allocations). * Glock lock taking has been moved from gfs2_get_iomap to its callers; it made no sense to drop glocks when iterating mappings. * The gfs2_iomap tracepoint is now split into gfs2_iomap_start and gfs2_iomap_end. This patch queue still doesn't handle multi-page writes via iomap, but having reasonable fiemap and lseek implementations is a start at least. Thanks, Andreas Andreas Gruenbacher (1): gfs2: Implement lseek SEEK_HOLE / SEEK_DATA via iomap Bob Peterson (3): GFS2: Make height info part of metapath GFS2: Implement iomap for block_map GFS2: Switch fiemap implementation to use iomap fs/gfs2/Kconfig | 1 + fs/gfs2/bmap.c | 292 ++++++++++++++++++++++++++++++++++++-------------- fs/gfs2/bmap.h | 4 + fs/gfs2/file.c | 14 ++- fs/gfs2/inode.c | 54 ++++++++-- fs/gfs2/inode.h | 1 + fs/gfs2/trace_gfs2.h | 65 +++++++++++ fs/iomap.c | 55 ++++++++++ include/linux/iomap.h | 5 +- 9 files changed, 398 insertions(+), 93 deletions(-) -- 2.7.4