mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
Merge tag 'mm-hotfixes-stable-2023-07-08-10-43' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull hotfixes from Andrew Morton: "16 hotfixes. Six are cc:stable and the remainder address post-6.4 issues" The merge undoes the disabling of the CONFIG_PER_VMA_LOCK feature, since it was all hopefully fixed in mainline. * tag 'mm-hotfixes-stable-2023-07-08-10-43' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: lib: dhry: fix sleeping allocations inside non-preemptable section kasan, slub: fix HW_TAGS zeroing with slub_debug kasan: fix type cast in memory_is_poisoned_n mailmap: add entries for Heiko Stuebner mailmap: update manpage link bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page MAINTAINERS: add linux-next info mailmap: add Markus Schneider-Pargmann writeback: account the number of pages written back mm: call arch_swap_restore() from do_swap_page() squashfs: fix cache race with migration mm/hugetlb.c: fix a bug within a BUG(): inconsistent pte comparison docs: update ocfs2-devel mailing list address MAINTAINERS: update ocfs2-devel mailing list address mm: disable CONFIG_PER_VMA_LOCK until its fixed fork: lock VMAs of the parent process when forking
This commit is contained in:
@@ -17,9 +17,9 @@ config OCFS2_FS
|
||||
You'll want to install the ocfs2-tools package in order to at least
|
||||
get "mount.ocfs2".
|
||||
|
||||
Project web page: https://oss.oracle.com/projects/ocfs2
|
||||
Tools web page: https://oss.oracle.com/projects/ocfs2-tools
|
||||
OCFS2 mailing lists: https://oss.oracle.com/projects/ocfs2/mailman/
|
||||
Project web page: https://ocfs2.wiki.kernel.org/
|
||||
Tools web page: https://github.com/markfasheh/ocfs2-tools
|
||||
OCFS2 mailing lists: https://subspace.kernel.org/lists.linux.dev.html
|
||||
|
||||
For more information on OCFS2, see the file
|
||||
<file:Documentation/filesystems/ocfs2.rst>.
|
||||
|
@@ -166,6 +166,26 @@ static int squashfs_bio_read_cached(struct bio *fullbio,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct page *squashfs_get_cache_page(struct address_space *mapping,
|
||||
pgoff_t index)
|
||||
{
|
||||
struct page *page;
|
||||
|
||||
if (!mapping)
|
||||
return NULL;
|
||||
|
||||
page = find_get_page(mapping, index);
|
||||
if (!page)
|
||||
return NULL;
|
||||
|
||||
if (!PageUptodate(page)) {
|
||||
put_page(page);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
|
||||
struct bio **biop, int *block_offset)
|
||||
{
|
||||
@@ -190,11 +210,10 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
|
||||
for (i = 0; i < page_count; ++i) {
|
||||
unsigned int len =
|
||||
min_t(unsigned int, PAGE_SIZE - offset, total_len);
|
||||
struct page *page = NULL;
|
||||
pgoff_t index = (read_start >> PAGE_SHIFT) + i;
|
||||
struct page *page;
|
||||
|
||||
if (cache_mapping)
|
||||
page = find_get_page(cache_mapping,
|
||||
(read_start >> PAGE_SHIFT) + i);
|
||||
page = squashfs_get_cache_page(cache_mapping, index);
|
||||
if (!page)
|
||||
page = alloc_page(GFP_NOIO);
|
||||
|
||||
|
Reference in New Issue
Block a user