From patchwork Tue Dec 10 10:29:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Gruenbacher X-Patchwork-Id: 11281811 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8E3FB6C1 for ; Tue, 10 Dec 2019 10:29:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6CB382053B for ; Tue, 10 Dec 2019 10:29:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="V3T2OjrQ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727505AbfLJK31 (ORCPT ); Tue, 10 Dec 2019 05:29:27 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:60793 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727039AbfLJK30 (ORCPT ); Tue, 10 Dec 2019 05:29:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575973765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jMWFdNn7fGRj5bb8TeBaOUbpmWFLdAqVHKxYwniQW98=; b=V3T2OjrQWePLI/8TwX3p8kUTFGhMMJDu1zjI10oYGPPohkA97ecXvkZIi6cpJxnX0PgoSz YzK/JeVunGQdnER/6dp05ZCNvauNBN9RvrxSBR0Kwh/aCs6R+bLrfL0uH30gGU/kcbtuph GDEcwcAKRV4NV/TSFsmXmW6mKW7yfjg= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-308-xB3QapzcOfqmzqUbwfKu9g-1; Tue, 10 Dec 2019 05:29:22 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AC637183B72B; Tue, 10 Dec 2019 10:29:21 +0000 (UTC) Received: from max.com (ovpn-205-78.brq.redhat.com [10.40.205.78]) by smtp.corp.redhat.com (Postfix) with ESMTP id E385160568; Tue, 10 Dec 2019 10:29:17 +0000 (UTC) From: Andreas Gruenbacher To: "Darrick J. Wong" Cc: Andreas Gruenbacher , linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, cluster-devel@redhat.com Subject: [PATCH] iomap: Export iomap_page_create and iomap_set_range_uptodate Date: Tue, 10 Dec 2019 11:29:16 +0100 Message-Id: <20191210102916.842-1-agruenba@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-MC-Unique: xB3QapzcOfqmzqUbwfKu9g-1 X-Mimecast-Spam-Score: 0 Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org These two functions are needed by filesystems for converting inline ("stuffed") inodes into non-inline inodes. Signed-off-by: Andreas Gruenbacher Reviewed-by: Darrick J. Wong --- fs/iomap/buffered-io.c | 6 ++++-- include/linux/iomap.h | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 828444e14d09..e8f6d7ba4e3c 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -41,7 +41,7 @@ static inline struct iomap_page *to_iomap_page(struct page *page) static struct bio_set iomap_ioend_bioset; -static struct iomap_page * +struct iomap_page * iomap_page_create(struct inode *inode, struct page *page) { struct iomap_page *iop = to_iomap_page(page); @@ -64,6 +64,7 @@ iomap_page_create(struct inode *inode, struct page *page) SetPagePrivate(page); return iop; } +EXPORT_SYMBOL(iomap_page_create); static void iomap_page_release(struct page *page) @@ -164,7 +165,7 @@ iomap_iop_set_range_uptodate(struct page *page, unsigned off, unsigned len) spin_unlock_irqrestore(&iop->uptodate_lock, flags); } -static void +void iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len) { if (PageError(page)) @@ -175,6 +176,7 @@ iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len) else SetPageUptodate(page); } +EXPORT_SYMBOL(iomap_set_range_uptodate); static void iomap_read_finish(struct iomap_page *iop, struct page *page) diff --git a/include/linux/iomap.h b/include/linux/iomap.h index 8b09463dae0d..b00f9bc396b1 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -13,6 +13,7 @@ struct address_space; struct fiemap_extent_info; struct inode; +struct iomap_page; struct iomap_writepage_ctx; struct iov_iter; struct kiocb; @@ -152,6 +153,10 @@ loff_t iomap_apply(struct inode *inode, loff_t pos, loff_t length, unsigned flags, const struct iomap_ops *ops, void *data, iomap_actor_t actor); +struct iomap_page *iomap_page_create(struct inode *inode, struct page *page); +void iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len); + + ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from, const struct iomap_ops *ops); int iomap_readpage(struct page *page, const struct iomap_ops *ops);