Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
b=13557
[fs/lustre-release.git]
/
lustre
/
include
/
lustre_log.h
diff --git
a/lustre/include/lustre_log.h
b/lustre/include/lustre_log.h
index
9f6725f
..
e32a840
100644
(file)
--- a/
lustre/include/lustre_log.h
+++ b/
lustre/include/lustre_log.h
@@
-217,6
+217,14
@@
struct llog_ctxt {
void *llog_proc_cb;
};
void *llog_proc_cb;
};
+#ifndef __KERNEL__
+
+#define cap_raise(c, flag) do {} while(0)
+
+#define CAP_SYS_RESOURCE 24
+
+#endif /* !__KERNEL__ */
+
static inline void llog_gen_init(struct llog_ctxt *ctxt)
{
struct obd_device *obd = ctxt->loc_exp->exp_obd;
static inline void llog_gen_init(struct llog_ctxt *ctxt)
{
struct obd_device *obd = ctxt->loc_exp->exp_obd;
@@
-292,6
+300,7
@@
static inline int llog_write_rec(struct llog_handle *handle,
int numcookies, void *buf, int idx)
{
struct llog_operations *lop;
int numcookies, void *buf, int idx)
{
struct llog_operations *lop;
+ __u32 cap;
int rc, buflen;
ENTRY;
int rc, buflen;
ENTRY;
@@
-309,7
+318,10
@@
static inline int llog_write_rec(struct llog_handle *handle,
buflen = rec->lrh_len;
LASSERT(size_round(buflen) == buflen);
buflen = rec->lrh_len;
LASSERT(size_round(buflen) == buflen);
+ cap = current->cap_effective;
+ cap_raise(current->cap_effective, CAP_SYS_RESOURCE);
rc = lop->lop_write_rec(handle, rec, logcookies, numcookies, buf, idx);
rc = lop->lop_write_rec(handle, rec, logcookies, numcookies, buf, idx);
+ current->cap_effective = cap;
RETURN(rc);
}
RETURN(rc);
}
@@
-405,6
+417,7
@@
static inline int llog_create(struct llog_ctxt *ctxt, struct llog_handle **res,
struct llog_logid *logid, char *name)
{
struct llog_operations *lop;
struct llog_logid *logid, char *name)
{
struct llog_operations *lop;
+ __u32 cap;
int rc;
ENTRY;
int rc;
ENTRY;
@@
-414,7
+427,10
@@
static inline int llog_create(struct llog_ctxt *ctxt, struct llog_handle **res,
if (lop->lop_create == NULL)
RETURN(-EOPNOTSUPP);
if (lop->lop_create == NULL)
RETURN(-EOPNOTSUPP);
+ cap = current->cap_effective;
+ cap_raise(current->cap_effective, CAP_SYS_RESOURCE);
rc = lop->lop_create(ctxt, res, logid, name);
rc = lop->lop_create(ctxt, res, logid, name);
+ current->cap_effective = cap;
RETURN(rc);
}
RETURN(rc);
}