lkml.org 
[lkml]   [2023]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH mm-nonmm-unstable v2 2/2] squashfs: fix page indices
    The page cache functions want the page index as an argument but we're
    currently passing in the byte address.

    Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
    ---
    fs/squashfs/block.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
    index f2412e5fc84b..6aa9c2e1e8eb 100644
    --- a/fs/squashfs/block.c
    +++ b/fs/squashfs/block.c
    @@ -142,7 +142,8 @@ static int squashfs_bio_read_cached(struct bio *fullbio,

    if (head_to_cache) {
    int ret = add_to_page_cache_lru(head_to_cache, cache_mapping,
    - read_start, GFP_NOIO);
    + read_start >> PAGE_SHIFT,
    + GFP_NOIO);

    if (!ret) {
    SetPageUptodate(head_to_cache);
    @@ -153,7 +154,8 @@ static int squashfs_bio_read_cached(struct bio *fullbio,

    if (tail_to_cache) {
    int ret = add_to_page_cache_lru(tail_to_cache, cache_mapping,
    - read_end - PAGE_SIZE, GFP_NOIO);
    + (read_end >> PAGE_SHIFT) - 1,
    + GFP_NOIO);

    if (!ret) {
    SetPageUptodate(tail_to_cache);
    @@ -192,7 +194,7 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,

    if (cache_mapping)
    page = find_get_page(cache_mapping,
    - read_start + i * PAGE_SIZE);
    + (read_start >> PAGE_SHIFT) + i);
    if (!page)
    page = alloc_page(GFP_NOIO);

    --
    2.34.1

    \
     
     \ /
      Last update: 2023-05-26 15:58    [W:2.673 / U:0.664 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site