コード例 #1
0
ファイル: sec_null.c プロジェクト: chaos/lustre-kdmu
static
int null_authorize(struct ptlrpc_request *req)
{
        struct ptlrpc_reply_state *rs = req->rq_reply_state;

        LASSERT(rs);

        rs->rs_repbuf->lm_secflvr = SPTLRPC_FLVR_NULL;
        rs->rs_repdata_len = req->rq_replen;

        if (likely(req->rq_packed_final)) {
                if (lustre_msghdr_get_flags(req->rq_reqmsg) & MSGHDR_AT_SUPPORT)
                        req->rq_reply_off = lustre_msg_early_size();
                else
                        req->rq_reply_off = 0;
        } else {
                __u32 cksum;

#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 9, 0, 0)
                if (lustre_msghdr_get_flags(req->rq_reqmsg) &
                    MSGHDR_CKSUM_INCOMPAT18)
                        cksum = lustre_msg_calc_cksum(rs->rs_repbuf, 0);
                else
                        cksum = lustre_msg_calc_cksum(rs->rs_repbuf, 1);
#else
# warning "remove checksum compatibility support for b1_8"
                cksum = lustre_msg_calc_cksum(rs->rs_repbuf);
#endif
                lustre_msg_set_cksum(rs->rs_repbuf, cksum);
                req->rq_reply_off = 0;
        }

        return 0;
}
コード例 #2
0
ファイル: sec_null.c プロジェクト: AK101111/linux
static
int null_authorize(struct ptlrpc_request *req)
{
	struct ptlrpc_reply_state *rs = req->rq_reply_state;

	LASSERT(rs);

	rs->rs_repbuf->lm_secflvr = SPTLRPC_FLVR_NULL;
	rs->rs_repdata_len = req->rq_replen;

	if (likely(req->rq_packed_final)) {
		if (lustre_msghdr_get_flags(req->rq_reqmsg) & MSGHDR_AT_SUPPORT)
			req->rq_reply_off = lustre_msg_early_size();
		else
			req->rq_reply_off = 0;
	} else {
		__u32 cksum;

		cksum = lustre_msg_calc_cksum(rs->rs_repbuf);
		lustre_msg_set_cksum(rs->rs_repbuf, cksum);
		req->rq_reply_off = 0;
	}

	return 0;
}
コード例 #3
0
ファイル: sec_null.c プロジェクト: chaos/lustre-kdmu
static
int null_alloc_repbuf(struct ptlrpc_sec *sec,
                      struct ptlrpc_request *req,
                      int msgsize)
{
        /* add space for early replied */
        msgsize += lustre_msg_early_size();

        msgsize = size_roundup_power2(msgsize);

        OBD_ALLOC(req->rq_repbuf, msgsize);
        if (!req->rq_repbuf)
                return -ENOMEM;

        req->rq_repbuf_len = msgsize;
        return 0;
}