ovl: allow redirect_dir to default to "on"
This patch introduces a kernel config option and a module param. Both can be used independently to turn the default value of redirect_dir on or off. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
d15951198e
commit
688ea0e5a0
@ -8,3 +8,17 @@ config OVERLAY_FS
|
|||||||
merged with the 'upper' object.
|
merged with the 'upper' object.
|
||||||
|
|
||||||
For more information see Documentation/filesystems/overlayfs.txt
|
For more information see Documentation/filesystems/overlayfs.txt
|
||||||
|
|
||||||
|
config OVERLAY_FS_REDIRECT_DIR
|
||||||
|
bool "Overlayfs: turn on redirect dir feature by default"
|
||||||
|
depends on OVERLAY_FS
|
||||||
|
help
|
||||||
|
If this config option is enabled then overlay filesystems will use
|
||||||
|
redirects when renaming directories by default. In this case it is
|
||||||
|
still possible to turn off redirects globally with the
|
||||||
|
"redirect_dir=off" module option or on a filesystem instance basis
|
||||||
|
with the "redirect_dir=off" mount option.
|
||||||
|
|
||||||
|
Note, that redirects are not backward compatible. That is, mounting
|
||||||
|
an overlay which has redirects on a kernel that doesn't support this
|
||||||
|
feature will have unexpected results.
|
||||||
|
@ -28,6 +28,10 @@ struct ovl_dir_cache;
|
|||||||
|
|
||||||
#define OVL_MAX_STACK 500
|
#define OVL_MAX_STACK 500
|
||||||
|
|
||||||
|
static bool ovl_redirect_dir_def = IS_ENABLED(CONFIG_OVERLAY_FS_REDIRECT_DIR);
|
||||||
|
module_param_named(redirect_dir, ovl_redirect_dir_def, bool, 0644);
|
||||||
|
MODULE_PARM_DESC(ovl_redirect_dir_def,
|
||||||
|
"Default to on or off for the redirect_dir feature");
|
||||||
|
|
||||||
static void ovl_dentry_release(struct dentry *dentry)
|
static void ovl_dentry_release(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
@ -702,6 +706,7 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent)
|
|||||||
if (!ufs)
|
if (!ufs)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
ufs->config.redirect_dir = ovl_redirect_dir_def;
|
||||||
err = ovl_parse_opt((char *) data, &ufs->config);
|
err = ovl_parse_opt((char *) data, &ufs->config);
|
||||||
if (err)
|
if (err)
|
||||||
goto out_free_config;
|
goto out_free_config;
|
||||||
|
Loading…
Reference in New Issue
Block a user