]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/shmem.c
Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus
[karo-tx-linux.git] / mm / shmem.c
index 526149846d0a82370eaf96c32489a45152fd4f66..8297623fcaedec21b37b5080d376967e673afe92 100644 (file)
@@ -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;