propagated parental time change to all operations, not only mkdir.
struct iattr *iattr, void *ea, int ealen,
void *ea2, int ea2len);
void mdc_create_pack(struct ptlrpc_request *req, int offset,
- struct mdc_op_data *op_data,
- __u32 mode, __u64 rdev, __u64 time,
+ struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
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, __u64 time,
+ struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
__u32 flags, const void *data, int datalen);
void mdc_unlink_pack(struct ptlrpc_request *req, int offset,
struct mdc_op_data *data);
/* packing of MDS records */
void mdc_create_pack(struct ptlrpc_request *req, int offset,
- struct mdc_op_data *op_data,
- __u32 mode, __u64 rdev, __u64 time,
+ struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
const void *data, int datalen)
{
struct mds_rec_create *rec;
memset(&rec->cr_replayfid, 0, sizeof(rec->cr_replayfid));
rec->cr_mode = mode;
rec->cr_rdev = rdev;
- rec->cr_time = time;
+ rec->cr_time = op_data->mod_time;
rec->cr_suppgid = op_data->ctxt.gid1;
tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, op_data->namelen + 1);
/* packing of MDS records */
void mdc_open_pack(struct ptlrpc_request *req, int offset,
- struct mdc_op_data *op_data,
- __u32 mode, __u64 rdev, __u64 time,
+ struct mdc_op_data *op_data, __u32 mode, __u64 rdev,
__u32 flags, const void *lmm, int lmmlen)
{
struct mds_rec_create *rec;
rec->cr_mode = mode;
rec->cr_flags = flags;
rec->cr_rdev = rdev;
- rec->cr_time = time;
+ rec->cr_time = op_data->mod_time;
rec->cr_suppgid = op_data->ctxt.gid1;
if (op_data->name) {
}
}
-void mdc_setattr_pack(struct ptlrpc_request *req,
- struct mdc_op_data *data,
+void mdc_setattr_pack(struct ptlrpc_request *req, struct mdc_op_data *data,
struct iattr *iattr, void *ea, int ealen,
void *ea2, int ea2len)
{
rec->ul_suppgid = data->ctxt.gid1;
rec->ul_fid1 = data->fid1;
rec->ul_fid2 = data->fid2;
+ rec->ul_time = data->mod_time;
tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, data->namelen + 1);
LASSERT (tmp != NULL);
rec->lk_suppgid2 = data->ctxt.gid2;
rec->lk_fid1 = data->fid1;
rec->lk_fid2 = data->fid2;
+ rec->lk_time = data->mod_time;
tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, data->namelen + 1);
LOGL0(data->name, data->namelen, tmp);
rec->rn_suppgid2 = -1;
rec->rn_fid1 = data->fid1;
rec->rn_fid2 = data->fid2;
+ rec->rn_time = data->mod_time;
tmp = lustre_msg_buf(req->rq_reqmsg, offset + 1, oldlen + 1);
LOGL0(old, oldlen, tmp);
r->ur_suppgid2 = rec->lk_suppgid2;
r->ur_fid1 = &rec->lk_fid1;
r->ur_fid2 = &rec->lk_fid2;
+ r->ur_time = rec->lk_time;
LASSERT_REQSWAB (req, offset + 1);
r->ur_name = lustre_msg_string (req->rq_reqmsg, offset + 1, 0);
r->ur_suppgid2 = -1;
r->ur_fid1 = &rec->ul_fid1;
r->ur_fid2 = &rec->ul_fid2;
+ r->ur_time = rec->ul_time;
LASSERT_REQSWAB (req, offset + 1);
r->ur_name = lustre_msg_string(req->rq_reqmsg, offset + 1, 0);
r->ur_suppgid2 = rec->rn_suppgid2;
r->ur_fid1 = &rec->rn_fid1;
r->ur_fid2 = &rec->rn_fid2;
+ r->ur_time = rec->rn_time;
LASSERT_REQSWAB (req, offset + 1);
r->ur_name = lustre_msg_string(req->rq_reqmsg, offset + 1, 0);
}
void
-check_mds_fileh_body (void)
-{
- BLANK_LINE ();
- CHECK_STRUCT (mds_fileh_body);
- CHECK_MEMBER (mds_fileh_body, f_fid);
-}
-
-void
check_mds_body (void)
{
BLANK_LINE ();
CHECK_MEMBER (mds_rec_link, lk_suppgid2);
CHECK_MEMBER (mds_rec_link, lk_fid1);
CHECK_MEMBER (mds_rec_link, lk_fid2);
+ CHECK_MEMBER (mds_rec_link, lk_time);
}
void
CHECK_MEMBER (mds_rec_unlink, ul_fsuid);
CHECK_MEMBER (mds_rec_unlink, ul_fsgid);
CHECK_MEMBER (mds_rec_unlink, ul_cap);
- CHECK_MEMBER (mds_rec_unlink, ul_reserved);
- CHECK_MEMBER (mds_rec_unlink, ul_mode);
CHECK_MEMBER (mds_rec_unlink, ul_suppgid);
+ CHECK_MEMBER (mds_rec_unlink, ul_mode);
CHECK_MEMBER (mds_rec_unlink, ul_fid1);
CHECK_MEMBER (mds_rec_unlink, ul_fid2);
+ CHECK_MEMBER (mds_rec_unlink, ul_time);
}
void
CHECK_MEMBER (mds_rec_rename, rn_suppgid2);
CHECK_MEMBER (mds_rec_rename, rn_fid1);
CHECK_MEMBER (mds_rec_rename, rn_fid2);
+ CHECK_MEMBER (mds_rec_rename, rn_time);
}
void
check_ost_body ();
check_ll_fid ();
check_mds_status_req ();
- check_mds_fileh_body ();
check_mds_body ();
check_mds_rec_setattr ();
check_mds_rec_create ();