-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Linux 4.12 compat: super_setup_bdi_name()
All filesystems were converted to dynamically allocated BDIs. The destruction of backing_dev_info structures is handled as part of super block destruction. Refactor the code to abstract away the details of creating and destroying a BDI. Reviewed-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #6089
- Loading branch information
1 parent
153b228
commit 7dae2c8
Showing
6 changed files
with
141 additions
and
54 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
dnl # | ||
dnl # 2.6.32 - 2.6.33, bdi_setup_and_register() is not exported. | ||
dnl # 2.6.34 - 3.19, bdi_setup_and_register() takes 3 arguments. | ||
dnl # 4.0 - 4.11, bdi_setup_and_register() takes 2 arguments. | ||
dnl # 4.12 - x.y, super_setup_bdi_name() new interface. | ||
dnl # | ||
AC_DEFUN([ZFS_AC_KERNEL_BDI], [ | ||
AC_MSG_CHECKING([whether super_setup_bdi_name() exists]) | ||
ZFS_LINUX_TRY_COMPILE_SYMBOL([ | ||
#include <linux/fs.h> | ||
struct super_block sb; | ||
], [ | ||
char *name = "bdi"; | ||
int error __attribute__((unused)) = | ||
super_setup_bdi_name(&sb, name); | ||
], [super_setup_bdi_name], [fs/super.c], [ | ||
AC_MSG_RESULT(yes) | ||
AC_DEFINE(HAVE_SUPER_SETUP_BDI_NAME, 1, | ||
[super_setup_bdi_name() exits]) | ||
], [ | ||
AC_MSG_RESULT(no) | ||
AC_MSG_CHECKING( | ||
[whether bdi_setup_and_register() wants 2 args]) | ||
ZFS_LINUX_TRY_COMPILE_SYMBOL([ | ||
#include <linux/backing-dev.h> | ||
struct backing_dev_info bdi; | ||
], [ | ||
char *name = "bdi"; | ||
int error __attribute__((unused)) = | ||
bdi_setup_and_register(&bdi, name); | ||
], [bdi_setup_and_register], [mm/backing-dev.c], [ | ||
AC_MSG_RESULT(yes) | ||
AC_DEFINE(HAVE_2ARGS_BDI_SETUP_AND_REGISTER, 1, | ||
[bdi_setup_and_register() wants 2 args]) | ||
], [ | ||
AC_MSG_RESULT(no) | ||
AC_MSG_CHECKING( | ||
[whether bdi_setup_and_register() wants 3 args]) | ||
ZFS_LINUX_TRY_COMPILE_SYMBOL([ | ||
#include <linux/backing-dev.h> | ||
struct backing_dev_info bdi; | ||
], [ | ||
char *name = "bdi"; | ||
unsigned int cap = BDI_CAP_MAP_COPY; | ||
int error __attribute__((unused)) = | ||
bdi_setup_and_register(&bdi, name, cap); | ||
], [bdi_setup_and_register], [mm/backing-dev.c], [ | ||
AC_MSG_RESULT(yes) | ||
AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1, | ||
[bdi_setup_and_register() wants 3 args]) | ||
], [ | ||
AC_MSG_RESULT(no) | ||
]) | ||
]) | ||
]) | ||
]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters