]> Git Repo - linux.git/commitdiff
Btrfs: use late_initcall instead of module_init
authorFilipe David Borba Manana <[email protected]>
Sat, 1 Feb 2014 21:27:56 +0000 (21:27 +0000)
committerChris Mason <[email protected]>
Mon, 3 Feb 2014 17:01:28 +0000 (09:01 -0800)
It seems that when init_btrfs_fs() is called, crc32c/crc32c-intel might
not always be already initialized, which results in the call to crypto_alloc_shash()
returning -ENOENT, as experienced by Ahmet who reported this.

Therefore make sure init_btrfs_fs() is called after crc32c is initialized (which
is at initialization level 6, module_init), by using late_initcall (which is at
initialization level 7) instead of module_init for btrfs.

Reported-and-Tested-by: Ahmet Inan <[email protected]>
Signed-off-by: Filipe David Borba Manana <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
fs/btrfs/super.c

index c02f63356895ff7fc5b59f36748e7aeb36840e04..97cc24198554cedd4ada307f2bbe99b80edf4ded 100644 (file)
@@ -1996,7 +1996,7 @@ static void __exit exit_btrfs_fs(void)
        btrfs_hash_exit();
 }
 
-module_init(init_btrfs_fs)
+late_initcall(init_btrfs_fs);
 module_exit(exit_btrfs_fs)
 
 MODULE_LICENSE("GPL");
This page took 0.059109 seconds and 4 git commands to generate.