]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/overlayfs/super.c
ovl: redirect on rename-dir
[karo-tx-linux.git] / fs / overlayfs / super.c
index 4e44e865b716cb17cd9bcfb7470961d2926b95f5..520f9ab0e9ef3b267b01be948251a643067ecf5f 100644 (file)
@@ -226,6 +226,8 @@ enum {
        OPT_UPPERDIR,
        OPT_WORKDIR,
        OPT_DEFAULT_PERMISSIONS,
+       OPT_REDIRECT_DIR_ON,
+       OPT_REDIRECT_DIR_OFF,
        OPT_ERR,
 };
 
@@ -234,6 +236,8 @@ static const match_table_t ovl_tokens = {
        {OPT_UPPERDIR,                  "upperdir=%s"},
        {OPT_WORKDIR,                   "workdir=%s"},
        {OPT_DEFAULT_PERMISSIONS,       "default_permissions"},
+       {OPT_REDIRECT_DIR_ON,           "redirect_dir=on"},
+       {OPT_REDIRECT_DIR_OFF,          "redirect_dir=off"},
        {OPT_ERR,                       NULL}
 };
 
@@ -298,6 +302,14 @@ static int ovl_parse_opt(char *opt, struct ovl_config *config)
                        config->default_permissions = true;
                        break;
 
+               case OPT_REDIRECT_DIR_ON:
+                       config->redirect_dir = true;
+                       break;
+
+               case OPT_REDIRECT_DIR_OFF:
+                       config->redirect_dir = false;
+                       break;
+
                default:
                        pr_err("overlayfs: unrecognized mount option \"%s\" or missing value\n", p);
                        return -EINVAL;