iomap: Rename page_ops to folio_ops
The operations in struct page_ops all operate on folios, so rename struct page_ops to struct folio_ops. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> [djwong: port around not removing iomap_valid] Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
Родитель
c82abc2394
Коммит
471859f57d
|
@ -997,7 +997,7 @@ static void gfs2_iomap_put_folio(struct inode *inode, loff_t pos,
|
|||
gfs2_trans_end(sdp);
|
||||
}
|
||||
|
||||
static const struct iomap_page_ops gfs2_iomap_page_ops = {
|
||||
static const struct iomap_folio_ops gfs2_iomap_folio_ops = {
|
||||
.get_folio = gfs2_iomap_get_folio,
|
||||
.put_folio = gfs2_iomap_put_folio,
|
||||
};
|
||||
|
@ -1075,7 +1075,7 @@ static int gfs2_iomap_begin_write(struct inode *inode, loff_t pos,
|
|||
}
|
||||
|
||||
if (gfs2_is_stuffed(ip) || gfs2_is_jdata(ip))
|
||||
iomap->page_ops = &gfs2_iomap_page_ops;
|
||||
iomap->folio_ops = &gfs2_iomap_folio_ops;
|
||||
return 0;
|
||||
|
||||
out_trans_end:
|
||||
|
|
|
@ -605,10 +605,10 @@ static int __iomap_write_begin(const struct iomap_iter *iter, loff_t pos,
|
|||
static struct folio *__iomap_get_folio(struct iomap_iter *iter, loff_t pos,
|
||||
size_t len)
|
||||
{
|
||||
const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
|
||||
const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;
|
||||
|
||||
if (page_ops && page_ops->get_folio)
|
||||
return page_ops->get_folio(iter, pos, len);
|
||||
if (folio_ops && folio_ops->get_folio)
|
||||
return folio_ops->get_folio(iter, pos, len);
|
||||
else
|
||||
return iomap_get_folio(iter, pos);
|
||||
}
|
||||
|
@ -616,10 +616,10 @@ static struct folio *__iomap_get_folio(struct iomap_iter *iter, loff_t pos,
|
|||
static void __iomap_put_folio(struct iomap_iter *iter, loff_t pos, size_t ret,
|
||||
struct folio *folio)
|
||||
{
|
||||
const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
|
||||
const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;
|
||||
|
||||
if (page_ops && page_ops->put_folio) {
|
||||
page_ops->put_folio(iter->inode, pos, ret, folio);
|
||||
if (folio_ops && folio_ops->put_folio) {
|
||||
folio_ops->put_folio(iter->inode, pos, ret, folio);
|
||||
} else {
|
||||
folio_unlock(folio);
|
||||
folio_put(folio);
|
||||
|
@ -638,7 +638,7 @@ static int iomap_write_begin_inline(const struct iomap_iter *iter,
|
|||
static int iomap_write_begin(struct iomap_iter *iter, loff_t pos,
|
||||
size_t len, struct folio **foliop)
|
||||
{
|
||||
const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
|
||||
const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops;
|
||||
const struct iomap *srcmap = iomap_iter_srcmap(iter);
|
||||
struct folio *folio;
|
||||
int status = 0;
|
||||
|
@ -667,9 +667,9 @@ static int iomap_write_begin(struct iomap_iter *iter, loff_t pos,
|
|||
* could do the wrong thing here (zero a page range incorrectly or fail
|
||||
* to zero) and corrupt data.
|
||||
*/
|
||||
if (page_ops && page_ops->iomap_valid) {
|
||||
bool iomap_valid = page_ops->iomap_valid(iter->inode,
|
||||
&iter->iomap);
|
||||
if (folio_ops && folio_ops->iomap_valid) {
|
||||
bool iomap_valid = folio_ops->iomap_valid(iter->inode,
|
||||
&iter->iomap);
|
||||
if (!iomap_valid) {
|
||||
iter->iomap.flags |= IOMAP_F_STALE;
|
||||
status = 0;
|
||||
|
|
|
@ -83,7 +83,7 @@ xfs_iomap_valid(
|
|||
return true;
|
||||
}
|
||||
|
||||
static const struct iomap_page_ops xfs_iomap_page_ops = {
|
||||
static const struct iomap_folio_ops xfs_iomap_folio_ops = {
|
||||
.iomap_valid = xfs_iomap_valid,
|
||||
};
|
||||
|
||||
|
@ -133,7 +133,7 @@ xfs_bmbt_to_iomap(
|
|||
iomap->flags |= IOMAP_F_DIRTY;
|
||||
|
||||
iomap->validity_cookie = sequence_cookie;
|
||||
iomap->page_ops = &xfs_iomap_page_ops;
|
||||
iomap->folio_ops = &xfs_iomap_folio_ops;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ struct vm_fault;
|
|||
*/
|
||||
#define IOMAP_NULL_ADDR -1ULL /* addr is not valid */
|
||||
|
||||
struct iomap_page_ops;
|
||||
struct iomap_folio_ops;
|
||||
|
||||
struct iomap {
|
||||
u64 addr; /* disk offset of mapping, bytes */
|
||||
|
@ -98,7 +98,7 @@ struct iomap {
|
|||
struct dax_device *dax_dev; /* dax_dev for dax operations */
|
||||
void *inline_data;
|
||||
void *private; /* filesystem private */
|
||||
const struct iomap_page_ops *page_ops;
|
||||
const struct iomap_folio_ops *folio_ops;
|
||||
u64 validity_cookie; /* used with .iomap_valid() */
|
||||
};
|
||||
|
||||
|
@ -126,7 +126,7 @@ static inline bool iomap_inline_data_valid(const struct iomap *iomap)
|
|||
}
|
||||
|
||||
/*
|
||||
* When a filesystem sets page_ops in an iomap mapping it returns, get_folio
|
||||
* When a filesystem sets folio_ops in an iomap mapping it returns, get_folio
|
||||
* and put_folio will be called for each folio written to. This only applies
|
||||
* to buffered writes as unbuffered writes will not typically have folios
|
||||
* associated with them.
|
||||
|
@ -135,7 +135,7 @@ static inline bool iomap_inline_data_valid(const struct iomap *iomap)
|
|||
* cleanup work necessary. put_folio is responsible for unlocking and putting
|
||||
* @folio.
|
||||
*/
|
||||
struct iomap_page_ops {
|
||||
struct iomap_folio_ops {
|
||||
struct folio *(*get_folio)(struct iomap_iter *iter, loff_t pos,
|
||||
unsigned len);
|
||||
void (*put_folio)(struct inode *inode, loff_t pos, unsigned copied,
|
||||
|
|
Загрузка…
Ссылка в новой задаче