From fc25393798fd0fe08c0dc696f79fd5f514389a7d Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 21 Sep 2005 08:36:11 +0000 Subject: [PATCH] - pack fake reply if mds_getattr() couldn't lookup fid. otherwise mds_handle() will oops. --- lustre/mds/handler.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lustre/mds/handler.c b/lustre/mds/handler.c index 2beed66..02b8d22 100644 --- a/lustre/mds/handler.c +++ b/lustre/mds/handler.c @@ -1768,14 +1768,15 @@ static int mds_getattr(struct ptlrpc_request *req, int offset) GOTO(out_pop, rc); } - req->rq_status = mds_getattr_internal(obd, de, req, offset, body, - 0, rsd); + rc = mds_getattr_internal(obd, de, req, offset, body, 0, rsd); l_dput(de); EXIT; out_pop: req->rq_status = rc; pop_ctxt(&saved, &obd->obd_lvfs_ctxt, &uc); + if (req->rq_reply_state == NULL) + lustre_pack_reply(req, 0, NULL, NULL); mds_exit_ucred(&uc); return 0; } -- 1.8.3.1