Btrfs: use late_initcall instead of module_init
authorFilipe David Borba Manana <fdmanana@gmail.com>
Sat, 1 Feb 2014 21:27:56 +0000 (21:27 +0000)
committerChris Mason <clm@fb.com>
Mon, 3 Feb 2014 17:01:28 +0000 (09:01 -0800)
commit60efa5eb2e886852a0d5f9e1ffa7c896a1099da8
tree98eb793d5c46e43b1c9fe6dcceeee62a091aebfe
parent0b947aff1599afbbd2ec07ada87b05af0f94cf10
Btrfs: use late_initcall instead of module_init

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 <ainan@mathematik.uni-freiburg.de>
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/super.c