diff options
Diffstat (limited to 'xlators/nfs')
| -rw-r--r-- | xlators/nfs/server/src/nfs.c | 25 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nfs.h | 1 | 
2 files changed, 20 insertions, 6 deletions
diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c index 8bb3fccf235..7b36d59e82a 100644 --- a/xlators/nfs/server/src/nfs.c +++ b/xlators/nfs/server/src/nfs.c @@ -190,11 +190,13 @@ nfs_add_all_initiators (struct nfs_state *nfs)                  }          } -        ret = nfs_add_initer (&nfs->versions, acl3svc_init); -        if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add protocol" -                        " initializer"); -                goto ret; +        if (nfs->enable_acl == _gf_true) { +                ret = nfs_add_initer (&nfs->versions, acl3svc_init); +                if (ret == -1) { +                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add " +                                "ACL protocol initializer"); +                        goto ret; +                }          }          ret = 0; @@ -604,6 +606,13 @@ nfs_init_state (xlator_t *this)                  }          } +        nfs->enable_acl = _gf_true; +        ret = dict_get_str_boolean (this->options, "nfs.acl", _gf_true); +        if (ret == _gf_false) { +                gf_log (GF_NFS, GF_LOG_INFO, "ACL is manually disabled"); +                nfs->enable_acl = _gf_false; +        } +          nfs->enable_ino32 = 0;          if (dict_get (this->options, "nfs.enable-ino32")) {                  ret = dict_get_str (this->options, "nfs.enable-ino32", @@ -1300,7 +1309,11 @@ struct volume_options options[] = {            .description = "Number of seconds to cache auxiliary-GID data, when "                           OPT_SERVER_AUX_GIDS " is set."          }, - +        { .key = {"nfs.acl"}, +          .type = GF_OPTION_TYPE_BOOL, +          .default_value = "on", +          .description = "This option is used to control ACL support for NFS." +        },          { .key  = {NULL} },  }; diff --git a/xlators/nfs/server/src/nfs.h b/xlators/nfs/server/src/nfs.h index 7d5163dfe0e..936d929be94 100644 --- a/xlators/nfs/server/src/nfs.h +++ b/xlators/nfs/server/src/nfs.h @@ -86,6 +86,7 @@ struct nfs_state {          unsigned int            override_portnum;          int                     allow_insecure;          int                     enable_nlm; +        int                     enable_acl;          int                     mount_udp;          struct rpc_clnt         *rpc_clnt;          gf_boolean_t            server_aux_gids;  | 
