X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fshmem.c;h=8297623fcaedec21b37b5080d376967e673afe92;hb=815a4bb18ba834a58a60da14536ace4dcaa8b465;hp=526149846d0a82370eaf96c32489a45152fd4f66;hpb=255ae3fbd298f312ce47ff0c7ee9bb6ad002e0f0;p=karo-tx-linux.git diff --git a/mm/shmem.c b/mm/shmem.c index 526149846d0a..8297623fcaed 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1205,7 +1205,7 @@ repeat: gfp & GFP_RECLAIM_MASK); if (error) goto decused; - error = radix_tree_preload(gfp & GFP_RECLAIM_MASK); + error = radix_tree_maybe_preload(gfp & GFP_RECLAIM_MASK); if (!error) { error = shmem_add_to_page_cache(page, mapping, index, gfp, NULL); @@ -2819,6 +2819,10 @@ int __init shmem_init(void) { int error; + /* If rootfs called this, don't re-init */ + if (shmem_inode_cachep) + return 0; + error = bdi_init(&shmem_backing_dev_info); if (error) goto out4;