All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Chandan Babu R <chandan.babu@oracle.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Hugh Dickins <hughd@google.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-xfs@vger.kernel.org, linux-mm@kvack.org,
	Matthew Wilcox <willy@infradead.org>
Subject: [PATCH 02/20] shmem: move shmem_mapping out of line
Date: Mon, 29 Jan 2024 15:34:44 +0100	[thread overview]
Message-ID: <20240129143502.189370-3-hch@lst.de> (raw)
In-Reply-To: <20240129143502.189370-1-hch@lst.de>

shmem_aops really should not be exported to the world.  Move
shmem_mapping and export it as internal for the one semi-legitimate
modular user in udmabuf.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 include/linux/shmem_fs.h |  6 +-----
 mm/shmem.c               | 11 ++++++++---
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index 2caa6b86106aa3..6b96a87e4bc80a 100644
--- a/include/linux/shmem_fs.h
+++ b/include/linux/shmem_fs.h
@@ -97,11 +97,7 @@ extern unsigned long shmem_get_unmapped_area(struct file *, unsigned long addr,
 		unsigned long len, unsigned long pgoff, unsigned long flags);
 extern int shmem_lock(struct file *file, int lock, struct ucounts *ucounts);
 #ifdef CONFIG_SHMEM
-extern const struct address_space_operations shmem_aops;
-static inline bool shmem_mapping(struct address_space *mapping)
-{
-	return mapping->a_ops == &shmem_aops;
-}
+bool shmem_mapping(struct address_space *mapping);
 #else
 static inline bool shmem_mapping(struct address_space *mapping)
 {
diff --git a/mm/shmem.c b/mm/shmem.c
index d7c84ff621860b..f607b0cab7e4e2 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -254,7 +254,7 @@ static void shmem_inode_unacct_blocks(struct inode *inode, long pages)
 }
 
 static const struct super_operations shmem_ops;
-const struct address_space_operations shmem_aops;
+static const struct address_space_operations shmem_aops;
 static const struct file_operations shmem_file_operations;
 static const struct inode_operations shmem_inode_operations;
 static const struct inode_operations shmem_dir_inode_operations;
@@ -263,6 +263,12 @@ static const struct vm_operations_struct shmem_vm_ops;
 static const struct vm_operations_struct shmem_anon_vm_ops;
 static struct file_system_type shmem_fs_type;
 
+bool shmem_mapping(struct address_space *mapping)
+{
+	return mapping->a_ops == &shmem_aops;
+}
+EXPORT_SYMBOL_GPL(shmem_mapping);
+
 bool vma_is_anon_shmem(struct vm_area_struct *vma)
 {
 	return vma->vm_ops == &shmem_anon_vm_ops;
@@ -4466,7 +4472,7 @@ static int shmem_error_remove_folio(struct address_space *mapping,
 	return 0;
 }
 
-const struct address_space_operations shmem_aops = {
+static const struct address_space_operations shmem_aops = {
 	.writepage	= shmem_writepage,
 	.dirty_folio	= noop_dirty_folio,
 #ifdef CONFIG_TMPFS
@@ -4478,7 +4484,6 @@ const struct address_space_operations shmem_aops = {
 #endif
 	.error_remove_folio = shmem_error_remove_folio,
 };
-EXPORT_SYMBOL(shmem_aops);
 
 static const struct file_operations shmem_file_operations = {
 	.mmap		= shmem_mmap,
-- 
2.39.2


  parent reply	other threads:[~2024-01-29 14:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-29 14:34 put the xfs xfile abstraction on a diet v3 Christoph Hellwig
2024-01-29 14:34 ` [PATCH 01/20] mm: move mapping_set_update out of <linux/swap.h> Christoph Hellwig
2024-01-29 14:34 ` Christoph Hellwig [this message]
2024-02-16  6:03   ` [PATCH 02/20] shmem: move shmem_mapping out of line Hugh Dickins
2024-01-29 14:34 ` [PATCH 03/20] shmem: set a_ops earlier in shmem_symlink Christoph Hellwig
2024-01-29 14:34 ` [PATCH 04/20] shmem: move the shmem_mapping assert into shmem_get_folio_gfp Christoph Hellwig
2024-01-29 14:34 ` [PATCH 05/20] shmem: export shmem_get_folio Christoph Hellwig
2024-02-16  6:07   ` Hugh Dickins
2024-02-16 13:53   ` Matthew Wilcox
2024-02-19  6:25     ` Christoph Hellwig
2024-01-29 14:34 ` [PATCH 06/20] shmem: export shmem_kernel_file_setup Christoph Hellwig
2024-01-29 16:24   ` Darrick J. Wong
2024-01-29 14:34 ` [PATCH 07/20] shmem: document how to "persist" data when using shmem_*file_setup Christoph Hellwig
2024-01-30  6:06   ` Matthew Wilcox
2024-01-30  8:04     ` Christoph Hellwig
2024-01-30  8:05     ` Christoph Hellwig
2024-01-29 14:34 ` [PATCH 08/20] xfs: remove xfile_stat Christoph Hellwig
2024-01-29 14:34 ` [PATCH 09/20] xfs: remove the xfile_pread/pwrite APIs Christoph Hellwig
2024-01-29 14:34 ` [PATCH 10/20] xfs: don't try to handle non-update pages in xfile_obj_load Christoph Hellwig
2024-01-29 14:34 ` [PATCH 11/20] xfs: shmem_file_setup can't return NULL Christoph Hellwig
2024-01-29 14:34 ` [PATCH 12/20] xfs: don't modify file and inode flags for shmem files Christoph Hellwig
2024-02-16  6:55   ` Hugh Dickins
2024-01-29 14:34 ` [PATCH 13/20] xfs: don't allow highmem pages in xfile mappings Christoph Hellwig
2024-02-16  7:13   ` Hugh Dickins
2024-01-29 14:34 ` [PATCH 14/20] xfs: use shmem_get_folio in xfile_obj_store Christoph Hellwig
2024-02-16  7:40   ` Hugh Dickins
2024-01-29 14:34 ` [PATCH 15/20] xfs: use shmem_get_folio in in xfile_load Christoph Hellwig
2024-01-29 14:34 ` [PATCH 16/20] xfs: add file_{get,put}_folio Christoph Hellwig
2024-01-29 14:34 ` [PATCH 17/20] xfs: remove xfarray_sortinfo.page_kaddr Christoph Hellwig
2024-01-29 14:35 ` [PATCH 18/20] xfs: fix a comment in xfarray.c Christoph Hellwig
2024-01-29 14:35 ` [PATCH 19/20] xfs: convert xfarray_pagesort to deal with large folios Christoph Hellwig
2024-01-29 14:35 ` [PATCH 20/20] xfs: remove xfile_{get,put}_page Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240129143502.189370-3-hch@lst.de \
    --to=hch@lst.de \
    --cc=akpm@linux-foundation.org \
    --cc=chandan.babu@oracle.com \
    --cc=djwong@kernel.org \
    --cc=hughd@google.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.