From ba0e397932b810b7ab9831bf877c0e4e4534a02d Mon Sep 17 00:00:00 2001 From: fanyong Date: Wed, 1 Nov 2006 04:05:41 +0000 Subject: [PATCH] Do not permit remote reaml node to claim to be local. --- lustre/mdt/mdt_idmap.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/lustre/mdt/mdt_idmap.c b/lustre/mdt/mdt_idmap.c index 74c2963..e6faf10 100644 --- a/lustre/mdt/mdt_idmap.c +++ b/lustre/mdt/mdt_idmap.c @@ -139,26 +139,29 @@ int mdt_init_idmap(struct mdt_thread_info *info) remote = data->ocd_connect_flags & OBD_CONNECT_RMT_CLIENT; +#if 1 + LASSERT(req->rq_auth_uid != INVALID_UID); +#else if (req->rq_auth_uid == INVALID_UID) { - if (remote) - CWARN("client %s -> target %s null sec is used, force " - "to be local!\n", client, obd->obd_name); - } else { - if (remote) { - if (!req->rq_auth_remote) - CWARN("client %s -> target %s local realm asked" - " to be remote!\n", - client, obd->obd_name); - med->med_rmtclient = 1; - med->med_nllu = data->ocd_nllu; - med->med_nllg = data->ocd_nllg; - } else if (req->rq_auth_remote) { - CWARN("client %s -> target %s remote realm asked to be " - "local!\n", client, obd->obd_name); - } + CERROR("client %s -> target %s null sec is used!\n", + client, obd->obd_name); + RETURN(-EPERM); + } +#endif + if (remote) { + med->med_rmtclient = 1; + if (!req->rq_auth_remote) + CWARN("client (local realm) %s -> target %s asked " + "to be remote!\n", client, obd->obd_name); + } else if (req->rq_auth_remote) { + med->med_rmtclient = 1; + CWARN("client (remote realm) %s -> target %s forced " + "to be remote!\n", client, obd->obd_name); } if (med->med_rmtclient) { + med->med_nllu = data->ocd_nllu; + med->med_nllg = data->ocd_nllg; if (!med->med_idmap) med->med_idmap = mdt_idmap_alloc(); if (!med->med_idmap) { -- 1.8.3.1