From 5e3b819f310126afd43de42c694679111ac4a89f Mon Sep 17 00:00:00 2001 From: ericm Date: Mon, 28 Jul 2003 16:29:18 +0000 Subject: [PATCH] merge b_devel to b_eq: 20030728 (3) ldlm liblustre llite lov mdc mds --- lustre/ldlm/ldlm_lib.c | 3 +- lustre/mdc/mdc_internal.h | 4 +-- lustre/mdc/mdc_lib.c | 81 ++++++++++++++++------------------------------- lustre/mds/mds_lib.c | 2 -- 4 files changed, 31 insertions(+), 59 deletions(-) diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c index e8ca979..72c6573 100644 --- a/lustre/ldlm/ldlm_lib.c +++ b/lustre/ldlm/ldlm_lib.c @@ -573,7 +573,8 @@ static void process_recovery_queue(struct obd_device *obd) DEBUG_REQ(D_ERROR, req, "processing: "); (void)obd->obd_recovery_handler(req); reset_recovery_timer(obd); -#warning FIXME: mds_fsync_super(mds->mds_sb); + /* bug 1580: decide how to properly sync() in recovery */ + //mds_fsync_super(mds->mds_sb); class_export_put(req->rq_export); OBD_FREE(req->rq_reqmsg, req->rq_reqlen); OBD_FREE(req, sizeof *req); diff --git a/lustre/mdc/mdc_internal.h b/lustre/mdc/mdc_internal.h index 49d85ab2..0ac87a4 100644 --- a/lustre/mdc/mdc_internal.h +++ b/lustre/mdc/mdc_internal.h @@ -10,11 +10,11 @@ void mdc_setattr_pack(struct ptlrpc_request *req, void *ea2, int ea2len); void mdc_create_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *op_data, - __u32 mode, __u64 rdev, __u32 uid, __u32 gid, __u64 time, + __u32 mode, __u64 rdev, __u64 time, const void *data, int datalen); void mdc_open_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *op_data, - __u32 mode, __u64 rdev, __u32 uid, __u32 gid, __u64 time, + __u32 mode, __u64 rdev, __u64 time, __u32 flags, const void *data, int datalen); void mdc_unlink_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *data); diff --git a/lustre/mdc/mdc_lib.c b/lustre/mdc/mdc_lib.c index a17f7a1..103a43a 100644 --- a/lustre/mdc/mdc_lib.c +++ b/lustre/mdc/mdc_lib.c @@ -27,9 +27,10 @@ #include #include #include +#include "mdc_internal.h" void mdc_readdir_pack(struct ptlrpc_request *req, __u64 offset, __u32 size, - obd_id ino, int type, __u64 xid) + obd_id ino, int type) { struct mds_body *b; @@ -41,7 +42,6 @@ void mdc_readdir_pack(struct ptlrpc_request *req, __u64 offset, __u32 size, b->fid1.f_type = type; b->size = offset; /* !! */ b->suppgid = -1; - b->blocks = xid; /* !! */ b->nlink = size; /* !! */ } @@ -63,7 +63,7 @@ void mdc_pack_req_body(struct ptlrpc_request *req) /* packing of MDS records */ void mdc_create_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *op_data, - __u32 mode, __u64 rdev, __u32 uid, __u32 gid, __u64 time, + __u32 mode, __u64 rdev, __u64 time, const void *data, int datalen) { struct mds_rec_create *rec; @@ -74,17 +74,12 @@ void mdc_create_pack(struct ptlrpc_request *req, int offset, rec->cr_fsuid = current->fsuid; rec->cr_fsgid = current->fsgid; rec->cr_cap = current->cap_effective; - ll_ino2fid(&rec->cr_fid, op_data->ino1, op_data->gen1, op_data->typ1); + rec->cr_fid = op_data->fid1; memset(&rec->cr_replayfid, 0, sizeof(rec->cr_replayfid)); rec->cr_mode = mode; rec->cr_rdev = rdev; - rec->cr_uid = uid; - rec->cr_gid = gid; rec->cr_time = time; - if (in_group_p(op_data->gid1)) - rec->cr_suppgid = op_data->gid1; - else - rec->cr_suppgid = -1; + rec->cr_suppgid = op_data->ctxt.gid1; tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, op_data->namelen + 1); LOGL0(op_data->name, op_data->namelen, tmp); @@ -98,7 +93,7 @@ void mdc_create_pack(struct ptlrpc_request *req, int offset, /* packing of MDS records */ void mdc_open_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *op_data, - __u32 mode, __u64 rdev, __u32 uid, __u32 gid, __u64 time, + __u32 mode, __u64 rdev, __u64 time, __u32 flags, const void *data, int datalen) { struct mds_rec_create *rec; @@ -111,19 +106,13 @@ void mdc_open_pack(struct ptlrpc_request *req, int offset, rec->cr_fsgid = current->fsgid; rec->cr_cap = current->cap_effective; if (op_data != NULL) - ll_ino2fid(&rec->cr_fid, op_data->ino1, - op_data->gen1, op_data->typ1); + rec->cr_fid = op_data->fid1; memset(&rec->cr_replayfid, 0, sizeof(rec->cr_replayfid)); rec->cr_mode = mode; rec->cr_flags = flags; rec->cr_rdev = rdev; - rec->cr_uid = uid; - rec->cr_gid = gid; rec->cr_time = time; - if (in_group_p(op_data->gid1)) - rec->cr_suppgid = op_data->gid1; - else - rec->cr_suppgid = -1; + rec->cr_suppgid = op_data->ctxt.gid1; if (op_data->name) { tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, @@ -148,7 +137,7 @@ void mdc_setattr_pack(struct ptlrpc_request *req, rec->sa_fsuid = current->fsuid; rec->sa_fsgid = current->fsgid; rec->sa_cap = current->cap_effective; - ll_ino2fid(&rec->sa_fid, data->ino1, data->gen1, data->typ1); + rec->sa_fid = data->fid1; if (iattr) { rec->sa_valid = iattr->ia_valid; @@ -160,14 +149,11 @@ void mdc_setattr_pack(struct ptlrpc_request *req, rec->sa_mtime = LTIME_S(iattr->ia_mtime); rec->sa_ctime = LTIME_S(iattr->ia_ctime); rec->sa_attr_flags = iattr->ia_attr_flags; - if ((iattr->ia_valid & ATTR_GID) && in_group_p(iattr->ia_gid)) rec->sa_suppgid = iattr->ia_gid; else if ((iattr->ia_valid & ATTR_MODE) && - in_group_p(data->gid1)) - rec->sa_suppgid = data->gid1; - else - rec->sa_suppgid = -1; + in_group_p(iattr->ia_gid)) + rec->sa_suppgid = data->ctxt.gid1; } if (ealen == 0) @@ -194,14 +180,10 @@ void mdc_unlink_pack(struct ptlrpc_request *req, int offset, rec->ul_fsuid = current->fsuid; rec->ul_fsgid = current->fsgid; rec->ul_cap = current->cap_effective; - rec->ul_mode = data->mode; - if (in_group_p(data->gid1)) - rec->ul_suppgid = data->gid1; - else - rec->ul_suppgid = -1; - ll_ino2fid(&rec->ul_fid1, data->ino1, data->gen1, data->typ1); - if (data->ino2) - ll_ino2fid(&rec->ul_fid2, data->ino2, data->gen2, data->typ2); + rec->ul_mode = data->create_mode; + rec->ul_suppgid = data->ctxt.gid1; + rec->ul_fid1 = data->fid1; + rec->ul_fid2 = data->fid2; tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, data->namelen + 1); LASSERT (tmp != NULL); @@ -220,16 +202,10 @@ void mdc_link_pack(struct ptlrpc_request *req, int offset, rec->lk_fsuid = current->fsuid; rec->lk_fsgid = current->fsgid; rec->lk_cap = current->cap_effective; - if (in_group_p(data->gid1)) - rec->lk_suppgid1 = data->gid1; - else - rec->lk_suppgid1 = -1; - if (in_group_p(data->gid2)) - rec->lk_suppgid2 = data->gid2; - else - rec->lk_suppgid2 = -1; - ll_ino2fid(&rec->lk_fid1, data->ino1, data->gen1, data->typ1); - ll_ino2fid(&rec->lk_fid2, data->ino2, data->gen2, data->typ2); + rec->lk_suppgid1 = data->ctxt.gid1; + rec->lk_suppgid2 = data->ctxt.gid2; + rec->lk_fid1 = data->fid1; + rec->lk_fid2 = data->fid2; tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, data->namelen + 1); LOGL0(data->name, data->namelen, tmp); @@ -249,16 +225,16 @@ void mdc_rename_pack(struct ptlrpc_request *req, int offset, rec->rn_fsuid = current->fsuid; rec->rn_fsgid = current->fsgid; rec->rn_cap = current->cap_effective; - if (in_group_p(data->gid1)) - rec->rn_suppgid1 = data->gid1; + if (in_group_p(data->ctxt.gid1)) + rec->rn_suppgid1 = data->ctxt.gid1; else rec->rn_suppgid1 = -1; - if (in_group_p(data->gid2)) - rec->rn_suppgid2 = data->gid2; + if (in_group_p(data->ctxt.gid2)) + rec->rn_suppgid2 = data->ctxt.gid2; else rec->rn_suppgid2 = -1; - ll_ino2fid(&rec->rn_fid1, data->ino1, data->gen1, data->typ1); - ll_ino2fid(&rec->rn_fid2, data->ino2, data->gen2, data->typ2); + rec->rn_fid1 = data->fid1; + rec->rn_fid2 = data->fid2; tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, oldlen + 1); LOGL0(old, oldlen, tmp); @@ -280,12 +256,9 @@ void mdc_getattr_pack(struct ptlrpc_request *req, int valid, int offset, b->capability = current->cap_effective; b->valid = valid; b->flags = flags; - if (in_group_p(data->gid1)) - b->suppgid = data->gid1; - else - b->suppgid = -1; + b->suppgid = data->ctxt.gid1; - ll_ino2fid(&b->fid1, data->ino1, data->gen1, data->typ1); + b->fid1 = data->fid1; if (data->name) { char *tmp; tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, diff --git a/lustre/mds/mds_lib.c b/lustre/mds/mds_lib.c index 93ac300..ddd752a 100644 --- a/lustre/mds/mds_lib.c +++ b/lustre/mds/mds_lib.c @@ -151,8 +151,6 @@ static int mds_create_unpack(struct ptlrpc_request *req, int offset, r->ur_fid2 = &rec->cr_replayfid; r->ur_mode = rec->cr_mode; r->ur_rdev = rec->cr_rdev; - r->ur_uid = rec->cr_uid; - r->ur_gid = rec->cr_gid; r->ur_time = rec->cr_time; r->ur_flags = rec->cr_flags; r->ur_suppgid1 = rec->cr_suppgid; -- 1.8.3.1