Re: [PATCH 1/4] ceph: add ceph_folio_snap_context()
Matthew Wilcox <[email protected]> Sun, 2 Aug 2026 22:52:01 +0100
| Newsgroups | org.kernel.vger.ceph-devel,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Aug 02, 2026 at 12:50:02PM -0400, Tal Zussman wrote:
> +static inline struct ceph_snap_context *ceph_folio_snap_context(struct folio *folio)
> +{
> + if (folio_test_private(folio))
> + return (void *)folio->private;
> + return NULL;
> +}
Filesystem folios _ought_to have folio->private as NULL when PG_private
is unset and PG_private set when folio->private is non-NULL. Now, ceph
could be doing something Bad (I believe hugetlbfs does not honour this
for various reasons), but it looks like it's using
folio_attach_private() / folio_detach_private() appropriately.
So I think we should just do:
static inline
struct ceph_snap_context *ceph_folio_snap_context(const struct folio *folio)
{
return folio->private;
}
(folio->private is already void *, so it doesn't need to be cast).
Splitting the definition where I did puts the unimmportant information
(static inline) on the previous line, so somebody grepping for
ceph_folio_snap_context gets the return type, while not breaking 80
columns.