bcachefs: Fix bch2_seek_data()
authorKent Overstreet <kent.overstreet@gmail.com>
Tue, 30 Jul 2019 16:46:53 +0000 (12:46 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:24 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fs-io.c

index 474535aa3fc2c8782b19879a29e9c048e80fa4d1..de0159dde1bdd3af319673a252dcf1f5a87f713a 100644 (file)
@@ -2798,7 +2798,7 @@ static loff_t bch2_next_pagecache_data(struct inode *vinode,
                                end_offset =
                                        min(end_offset,
                                            max(start_offset,
-                                               ((loff_t) index) << PAGE_SHIFT));
+                                               ((loff_t) folio->index) << PAGE_SHIFT));
                                folio_unlock(folio);
                                folio_batch_release(&fbatch);
                                return end_offset;
@@ -2847,7 +2847,7 @@ static loff_t bch2_seek_data(struct file *file, u64 offset)
                next_data = bch2_next_pagecache_data(&inode->v,
                                                     offset, next_data);
 
-       if (next_data > isize)
+       if (next_data >= isize)
                return -ENXIO;
 
        return vfs_setpos(file, next_data, MAX_LFS_FILESIZE);