};
struct plain_handle_data {
- cfs_list_t phd_entry;
- struct llog_handle *phd_cat_handle;
- struct llog_cookie phd_cookie; /* cookie of this log in its cat */
+ struct list_head phd_entry;
+ struct llog_handle *phd_cat_handle;
+ /* cookie of this log in its cat */
+ struct llog_cookie phd_cookie;
};
struct cat_handle_data {
- cfs_list_t chd_head;
- struct llog_handle *chd_current_log; /* currently open log */
- struct llog_handle *chd_next_log; /* llog to be used next */
+ struct list_head chd_head;
+ struct llog_handle *chd_current_log;/* currently open log */
+ struct llog_handle *chd_next_log; /* llog to be used next */
};
static inline void logid_to_fid(struct llog_logid *id, struct lu_fid *fid)
int llog_cat_close(const struct lu_env *env, struct llog_handle *cathandle);
int llog_cat_add_rec(const struct lu_env *env, struct llog_handle *cathandle,
struct llog_rec_hdr *rec, struct llog_cookie *reccookie,
- void *buf, struct thandle *th);
+ struct thandle *th);
int llog_cat_declare_add_rec(const struct lu_env *env,
struct llog_handle *cathandle,
struct llog_rec_hdr *rec, struct thandle *th);
int llog_cat_add(const struct lu_env *env, struct llog_handle *cathandle,
- struct llog_rec_hdr *rec, struct llog_cookie *reccookie,
- void *buf);
+ struct llog_rec_hdr *rec, struct llog_cookie *reccookie);
int llog_cat_cancel_records(const struct lu_env *env,
struct llog_handle *cathandle, int count,
struct llog_cookie *cookies);
int obd_llog_finish(struct obd_device *obd, int count);
/* llog_ioctl.c */
+struct obd_ioctl_data;
int llog_ioctl(const struct lu_env *env, struct llog_ctxt *ctxt, int cmd,
struct obd_ioctl_data *data);
int llog_catalog_list(const struct lu_env *env, struct dt_device *d,
int (*lop_write_rec)(const struct lu_env *env,
struct llog_handle *loghandle,
struct llog_rec_hdr *rec,
- struct llog_cookie *cookie, int cookiecount,
- void *buf, int idx, struct thandle *th);
+ struct llog_cookie *cookie,
+ int idx, struct thandle *th);
/**
* Add new record in llog catalog. Does the same as llog_write_rec()
* but using llog catalog.
struct llog_rec_hdr *rec, struct thandle *th);
int (*lop_add)(const struct lu_env *env, struct llog_handle *lgh,
struct llog_rec_hdr *rec, struct llog_cookie *cookie,
- void *buf, struct thandle *th);
+ struct thandle *th);
};
/* In-memory descriptor for a log object or log catalog */
#define LLOG_PROC_BREAK 0x0001
#define LLOG_DEL_RECORD 0x0002
+#define LLOG_DEL_PLAIN 0x0003
static inline int llog_obd2ops(struct llog_ctxt *ctxt,
struct llog_operations **lop)
__llog_ctxt_put(NULL, ctxt);
}
-static inline void llog_group_init(struct obd_llog_group *olg, int group)
+static inline void llog_group_init(struct obd_llog_group *olg)
{
init_waitqueue_head(&olg->olg_waitq);
spin_lock_init(&olg->olg_lock);
mutex_init(&olg->olg_cat_processing);
- olg->olg_seq = group;
}
static inline int llog_group_set_ctxt(struct obd_llog_group *olg,
RETURN(rc);
}
+struct llog_cfg_rec {
+ struct llog_rec_hdr lcr_hdr;
+ struct lustre_cfg lcr_cfg;
+ struct llog_rec_tail lcr_tail;
+};
+
+struct llog_cfg_rec *lustre_cfg_rec_new(int cmd, struct lustre_cfg_bufs *bufs);
+void lustre_cfg_rec_free(struct llog_cfg_rec *lcr);
+
+enum {
+ LLOG_NEXT_IDX = -1,
+ LLOG_HEADER_IDX = 0,
+};
+
/* llog.c */
int llog_exist(struct llog_handle *loghandle);
int llog_declare_create(const struct lu_env *env,
struct thandle *th);
int llog_write_rec(const struct lu_env *env, struct llog_handle *handle,
struct llog_rec_hdr *rec, struct llog_cookie *logcookies,
- int numcookies, void *buf, int idx, struct thandle *th);
+ int idx, struct thandle *th);
int llog_add(const struct lu_env *env, struct llog_handle *lgh,
struct llog_rec_hdr *rec, struct llog_cookie *logcookies,
- void *buf, struct thandle *th);
+ struct thandle *th);
int llog_declare_add(const struct lu_env *env, struct llog_handle *lgh,
struct llog_rec_hdr *rec, struct thandle *th);
int lustre_process_log(struct super_block *sb, char *logname,
int llog_erase(const struct lu_env *env, struct llog_ctxt *ctxt,
struct llog_logid *logid, char *name);
int llog_write(const struct lu_env *env, struct llog_handle *loghandle,
- struct llog_rec_hdr *rec, struct llog_cookie *reccookie,
- int cookiecount, void *buf, int idx);
+ struct llog_rec_hdr *rec, int idx);
/** @} log */