From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from verein.lst.de ([213.95.11.211]:41723 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751627AbcEXNLA (ORCPT ); Tue, 24 May 2016 09:11:00 -0400 Date: Tue, 24 May 2016 15:10:58 +0200 From: Christoph Hellwig To: Bob Peterson Cc: Christoph Hellwig , xfs@oss.sgi.com, vishal l verma , linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 09/15] fs: iomap based fiemap implementation Message-ID: <20160524131058.GA21094@lst.de> References: <1462783638-4968-1-git-send-email-hch@lst.de> <1462783638-4968-10-git-send-email-hch@lst.de> <1651455378.10041082.1464034166002.JavaMail.zimbra@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1651455378.10041082.1464034166002.JavaMail.zimbra@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, May 23, 2016 at 04:09:26PM -0400, Bob Peterson wrote: > I've been looking at this again. Where are the calls to the fs-specific bits > for fiemap? In the iomap_ops structure passed to iomap_fiemap. > It looks like iomap_fiemap calls iomap_apply, which calls > iomap_fiemap_actor, but that doesn't call any ops->iomap_get_iomap or similar. > It calls the iomap_begin (which BTW has a comment that says "Execute a iomap > write" which is probably wrong and should be more generic, as for cases like > fiemap) and it calls iomap_end. But it never calls an fs-specific actor > anywhere. Am I missing something? My earlier version passed in the actor > function, as per Dave Chinner's request, but yours doesn't. The iomap_begin callback is where you do the mapping. the iomap_end callback does any required cleanup, which in case of GFS2 probably would be dropping the cluster lock protecting the mapping.