mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
afs: drop usage of folio_file_pos
folio_file_pos is only needed for mixed usage of page cache and swap cache, for pure page cache usage, the caller can just use folio_pos instead. It can't be a swap cache page here. Swap mapping may only call into fs through swap_rw and that is not supported for afs. So just drop it and use folio_pos instead. Link: https://lkml.kernel.org/r/20240521175854.96038-6-ryncsn@gmail.com Signed-off-by: Kairui Song <kasong@tencent.com> Cc: David Howells <dhowells@redhat.com> Cc: Marc Dionne <marc.dionne@auristor.com> Cc: Anna Schumaker <anna@kernel.org> Cc: Barry Song <v-songbaohua@oppo.com> Cc: Chao Yu <chao@kernel.org> Cc: Chris Li <chrisl@kernel.org> Cc: David Hildenbrand <david@redhat.com> Cc: "Huang, Ying" <ying.huang@intel.com> Cc: Hugh Dickins <hughd@google.com> Cc: Ilya Dryomov <idryomov@gmail.com> Cc: Jaegeuk Kim <jaegeuk@kernel.org> Cc: Jeff Layton <jlayton@kernel.org> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Minchan Kim <minchan@kernel.org> Cc: NeilBrown <neilb@suse.de> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com> Cc: Trond Myklebust <trond.myklebust@hammerspace.com> Cc: Xiubo Li <xiubli@redhat.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
8586be3ddf
commit
d4f439865f
@ -533,14 +533,14 @@ static int afs_dir_iterate(struct inode *dir, struct dir_context *ctx,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = round_down(ctx->pos, sizeof(*dblock)) - folio_file_pos(folio);
|
offset = round_down(ctx->pos, sizeof(*dblock)) - folio_pos(folio);
|
||||||
size = min_t(loff_t, folio_size(folio),
|
size = min_t(loff_t, folio_size(folio),
|
||||||
req->actual_len - folio_file_pos(folio));
|
req->actual_len - folio_pos(folio));
|
||||||
|
|
||||||
do {
|
do {
|
||||||
dblock = kmap_local_folio(folio, offset);
|
dblock = kmap_local_folio(folio, offset);
|
||||||
ret = afs_dir_iterate_block(dvnode, ctx, dblock,
|
ret = afs_dir_iterate_block(dvnode, ctx, dblock,
|
||||||
folio_file_pos(folio) + offset);
|
folio_pos(folio) + offset);
|
||||||
kunmap_local(dblock);
|
kunmap_local(dblock);
|
||||||
if (ret != 1)
|
if (ret != 1)
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -256,7 +256,7 @@ void afs_edit_dir_add(struct afs_vnode *vnode,
|
|||||||
folio = folio0;
|
folio = folio0;
|
||||||
}
|
}
|
||||||
|
|
||||||
block = kmap_local_folio(folio, b * AFS_DIR_BLOCK_SIZE - folio_file_pos(folio));
|
block = kmap_local_folio(folio, b * AFS_DIR_BLOCK_SIZE - folio_pos(folio));
|
||||||
|
|
||||||
/* Abandon the edit if we got a callback break. */
|
/* Abandon the edit if we got a callback break. */
|
||||||
if (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags))
|
if (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags))
|
||||||
@ -417,7 +417,7 @@ void afs_edit_dir_remove(struct afs_vnode *vnode,
|
|||||||
folio = folio0;
|
folio = folio0;
|
||||||
}
|
}
|
||||||
|
|
||||||
block = kmap_local_folio(folio, b * AFS_DIR_BLOCK_SIZE - folio_file_pos(folio));
|
block = kmap_local_folio(folio, b * AFS_DIR_BLOCK_SIZE - folio_pos(folio));
|
||||||
|
|
||||||
/* Abandon the edit if we got a callback break. */
|
/* Abandon the edit if we got a callback break. */
|
||||||
if (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags))
|
if (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags))
|
||||||
|
Loading…
Reference in New Issue
Block a user