X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fptlrpc%2Fllog_client.c;h=6b07ef204dcf15236cd8bc31d4331cacbcaca32e;hb=2d617260aaa5f778ab8dcb006e2a827f4b8f8567;hp=793c061200aca4fe5de9243f787b3714e1f4a8f2;hpb=65701b4a30efdb695776bcf690a2b3cabc928da1;p=fs%2Flustre-release.git diff --git a/lustre/ptlrpc/llog_client.c b/lustre/ptlrpc/llog_client.c index 793c061..6b07ef2 100644 --- a/lustre/ptlrpc/llog_client.c +++ b/lustre/ptlrpc/llog_client.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -44,10 +42,6 @@ #define DEBUG_SUBSYSTEM S_LOG -#ifndef EXPORT_SYMTAB -#define EXPORT_SYMTAB -#endif - #ifdef __KERNEL__ #include #else @@ -60,7 +54,7 @@ #include #define LLOG_CLIENT_ENTRY(ctxt, imp) do { \ - cfs_mutex_down(&ctxt->loc_sem); \ + cfs_mutex_lock(&ctxt->loc_mutex); \ if (ctxt->loc_imp) { \ imp = class_import_get(ctxt->loc_imp); \ } else { \ @@ -69,25 +63,26 @@ "but I'll try again next time. Not fatal.\n", \ ctxt->loc_idx); \ imp = NULL; \ - cfs_mutex_up(&ctxt->loc_sem); \ + cfs_mutex_unlock(&ctxt->loc_mutex); \ return (-EINVAL); \ } \ - cfs_mutex_up(&ctxt->loc_sem); \ + cfs_mutex_unlock(&ctxt->loc_mutex); \ } while(0) #define LLOG_CLIENT_EXIT(ctxt, imp) do { \ - cfs_mutex_down(&ctxt->loc_sem); \ + cfs_mutex_lock(&ctxt->loc_mutex); \ if (ctxt->loc_imp != imp) \ CWARN("loc_imp has changed from %p to %p\n", \ ctxt->loc_imp, imp); \ class_import_put(imp); \ - cfs_mutex_up(&ctxt->loc_sem); \ + cfs_mutex_unlock(&ctxt->loc_mutex); \ } while(0) /* This is a callback from the llog_* functions. * Assumes caller has already pushed us into the kernel context. */ -static int llog_client_create(struct llog_ctxt *ctxt, struct llog_handle **res, - struct llog_logid *logid, char *name) +static int llog_client_create(const struct lu_env *env, struct llog_ctxt *ctxt, + struct llog_handle **res, + struct llog_logid *logid, char *name) { struct obd_import *imp; struct llogd_body *body; @@ -154,7 +149,8 @@ err_free: goto out; } -static int llog_client_destroy(struct llog_handle *loghandle) +static int llog_client_destroy(const struct lu_env *env, + struct llog_handle *loghandle) { struct obd_import *imp; struct ptlrpc_request *req = NULL; @@ -175,7 +171,7 @@ static int llog_client_destroy(struct llog_handle *loghandle) ptlrpc_request_set_replen(req); rc = ptlrpc_queue_wait(req); - + ptlrpc_req_finished(req); err_exit: LLOG_CLIENT_EXIT(loghandle->lgh_ctxt, imp); @@ -183,9 +179,10 @@ err_exit: } -static int llog_client_next_block(struct llog_handle *loghandle, - int *cur_idx, int next_idx, - __u64 *cur_offset, void *buf, int len) +static int llog_client_next_block(const struct lu_env *env, + struct llog_handle *loghandle, + int *cur_idx, int next_idx, + __u64 *cur_offset, void *buf, int len) { struct obd_import *imp; struct ptlrpc_request *req = NULL; @@ -200,7 +197,7 @@ static int llog_client_next_block(struct llog_handle *loghandle, LLOG_ORIGIN_HANDLE_NEXT_BLOCK); if (req == NULL) GOTO(err_exit, rc =-ENOMEM); - + body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY); body->lgd_logid = loghandle->lgh_id; body->lgd_ctxt_idx = loghandle->lgh_ctxt->loc_idx - 1; @@ -237,8 +234,9 @@ err_exit: return rc; } -static int llog_client_prev_block(struct llog_handle *loghandle, - int prev_idx, void *buf, int len) +static int llog_client_prev_block(const struct lu_env *env, + struct llog_handle *loghandle, + int prev_idx, void *buf, int len) { struct obd_import *imp; struct ptlrpc_request *req = NULL; @@ -285,7 +283,8 @@ err_exit: return rc; } -static int llog_client_read_header(struct llog_handle *handle) +static int llog_client_read_header(const struct lu_env *env, + struct llog_handle *handle) { struct obd_import *imp; struct ptlrpc_request *req = NULL; @@ -340,7 +339,8 @@ err_exit: return rc; } -static int llog_client_close(struct llog_handle *handle) +static int llog_client_close(const struct lu_env *env, + struct llog_handle *handle) { /* this doesn't call LLOG_ORIGIN_HANDLE_CLOSE because the servers all close the file at the end of every @@ -357,3 +357,4 @@ struct llog_operations llog_client_ops = { lop_destroy: llog_client_destroy, lop_close: llog_client_close, }; +EXPORT_SYMBOL(llog_client_ops);