@@ -913,7 +913,7 @@ static int decode_encrypted_symlink(const char *encsym, int symlen, u8 **decsym)
* Populate an inode based on info from mds. May be called on new or
* existing inodes.
*/
-int ceph_fill_inode(struct inode *inode, struct page *locked_page,
+int ceph_fill_inode(struct inode *inode, struct folio *locked_folio,
struct ceph_mds_reply_info_in *iinfo,
struct ceph_mds_reply_dirfrag *dirinfo,
struct ceph_mds_session *session, int cap_fmode,
@@ -1261,7 +1261,7 @@ int ceph_fill_inode(struct inode *inode, struct page *locked_page,
int cache_caps = CEPH_CAP_FILE_CACHE | CEPH_CAP_FILE_LAZYIO;
ci->i_inline_version = iinfo->inline_version;
if (ceph_has_inline_data(ci) &&
- (locked_page || (info_caps & cache_caps)))
+ (locked_folio || (info_caps & cache_caps)))
fill_inline = true;
}
@@ -1277,7 +1277,7 @@ int ceph_fill_inode(struct inode *inode, struct page *locked_page,
ceph_fscache_register_inode_cookie(inode);
if (fill_inline)
- ceph_fill_inline_data(inode, locked_page,
+ ceph_fill_inline_data(inode, &locked_folio->page,
iinfo->inline_data, iinfo->inline_len);
if (wake)
@@ -1596,7 +1596,7 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req)
BUG_ON(!req->r_target_inode);
in = req->r_target_inode;
- err = ceph_fill_inode(in, req->r_locked_page, &rinfo->targeti,
+ err = ceph_fill_inode(in, req->r_locked_folio, &rinfo->targeti,
NULL, session,
(!test_bit(CEPH_MDS_R_ABORTED, &req->r_req_flags) &&
!test_bit(CEPH_MDS_R_ASYNC, &req->r_req_flags) &&
@@ -2836,7 +2836,7 @@ int __ceph_do_getattr(struct inode *inode, struct folio *locked_folio,
ihold(inode);
req->r_num_caps = 1;
req->r_args.getattr.mask = cpu_to_le32(mask);
- req->r_locked_page = &locked_folio->page;
+ req->r_locked_folio = locked_folio;
err = ceph_mdsc_do_request(mdsc, NULL, req);
if (locked_folio && err == 0) {
u64 inline_version = req->r_reply_info.targeti.inline_version;
@@ -320,7 +320,7 @@ struct ceph_mds_request {
int r_err;
u32 r_readdir_offset;
- struct page *r_locked_page;
+ struct folio *r_locked_folio;
int r_dir_caps;
int r_num_caps;
@@ -1038,7 +1038,7 @@ extern void ceph_fill_file_time(struct inode *inode, int issued,
u64 time_warp_seq, struct timespec64 *ctime,
struct timespec64 *mtime,
struct timespec64 *atime);
-extern int ceph_fill_inode(struct inode *inode, struct page *locked_page,
+int ceph_fill_inode(struct inode *inode, struct folio *locked_folio,
struct ceph_mds_reply_info_in *iinfo,
struct ceph_mds_reply_dirfrag *dirinfo,
struct ceph_mds_session *session, int cap_fmode,
Its one caller already has a folio, so pass it through req->r_locked_folio into ceph_fill_inode(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/ceph/inode.c | 10 +++++----- fs/ceph/mds_client.h | 2 +- fs/ceph/super.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-)