[
AC_DEFINE(HAVE_LDISKFS_OSD, 1, Enable ldiskfs osd)
-LB_LDISKFS_JBD2_JOURNAL_CALLBACK_SET
-
AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1,
[enable extended attributes for ldiskfs])
AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1,
])
#
-# Check for jbd2_journal_callback_set(), which is needed for commit
-# callbacks. When LU-433 lands jbd2_journal_callback_set() will only
-# remain for legacy reasons and AC_MSG_ERROR can be removed.
-#
-AC_DEFUN([LB_LDISKFS_JBD2_JOURNAL_CALLBACK_SET],
-[
- LB_CHECK_SYMBOL_EXPORT([jbd2_journal_callback_set],
- [fs/jbd2/journal.c],
- [AC_DEFINE(HAVE_JBD2_JOURNAL_CALLBACK_SET, 1,
- [kernel exports jbd2_journal_callback_set])])
-])
-
-#
# Optionally configure/make the ldiskfs sources. If the sources are
# determined to reside in-tree this feature will automatically be
# enabled. If the sources are not in-tree it will be disabled.
#
AC_DEFUN([LB_LDISKFS_DEFINE_OPTIONS],
[
-LB_LDISKFS_JBD2_JOURNAL_CALLBACK_SET
-
AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1,
[enable extended attributes for ldiskfs])
AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1,
[enable fs security for ldiskfs])
])
-#
-# Check for jbd2_journal_callback_set(), which is needed for commit
-# callbacks. When LU-433 lands jbd2_journal_callback_set() will only
-# remain for legacy reasons and AC_MSG_ERROR can be removed.
-#
-AC_DEFUN([LB_LDISKFS_JBD2_JOURNAL_CALLBACK_SET],
-[
- LB_CHECK_SYMBOL_EXPORT([jbd2_journal_callback_set],
- [fs/jbd2/journal.c],
- [AC_DEFINE(HAVE_JBD2_JOURNAL_CALLBACK_SET, 1,
- [kernel exports jbd2_journal_callback_set])])
-])
-
-
AC_DEFUN([LB_LDISKFS_SYMVERS],
[
AC_MSG_CHECKING([ldiskfs module symbols])
#define fsfilt_log_start_commit(journal, tid) jbd2_log_start_commit(journal, tid)
#define fsfilt_log_wait_commit(journal, tid) jbd2_log_wait_commit(journal, tid)
-#ifdef HAVE_EXT4_JOURNAL_CALLBACK_ADD
-# define journal_callback ext4_journal_cb_entry
-# define fsfilt_journal_callback_set(handle, func, jcb) \
- ext4_journal_callback_add(handle, func, jcb)
-#elif defined(HAVE_JBD2_JOURNAL_CALLBACK_SET)
-# define fsfilt_journal_callback_set(handle, func, jcb) \
- jbd2_journal_callback_set(handle, func, jcb)
-#else
-# error missing journal commit callback
-#endif /* HAVE_EXT4_JOURNAL_CALLBACK_ADD */
-
static cfs_mem_cache_t *fcb_cache;
struct fsfilt_cb_data {
- struct journal_callback cb_jcb; /* jbd private data - MUST BE FIRST */
- fsfilt_cb_t cb_func; /* MDS/OBD completion function */
- struct obd_device *cb_obd; /* MDS/OBD completion device */
- __u64 cb_last_rcvd; /* MDS/OST last committed operation */
- void *cb_data; /* MDS/OST completion function data */
+ struct ext4_journal_cb_entry cb_jcb; /* private data - MUST BE FIRST */
+ fsfilt_cb_t cb_func; /* MDS/OBD completion function */
+ struct obd_device *cb_obd; /* MDS/OBD completion device */
+ __u64 cb_last_rcvd; /* MDS/OST last committed operation */
+ void *cb_data; /* MDS/OST completion function data */
};
static char *fsfilt_ext3_get_label(struct super_block *sb)
/*
* Concurrency: shouldn't matter.
*/
-#ifdef HAVE_LDISKFS_JOURNAL_CALLBACK_ADD
static void osd_trans_commit_cb(struct super_block *sb,
- struct journal_callback *jcb, int error)
-#else
-static void osd_trans_commit_cb(struct journal_callback *jcb, int error)
-#endif
+ struct ldiskfs_journal_cb_entry *jcb, int error)
{
struct osd_thandle *oh = container_of0(jcb, struct osd_thandle, ot_jcb);
struct thandle *th = &oh->ot_super;
* notice we don't do this in osd_trans_start()
* as underlying transaction can change during truncate
*/
- osd_journal_callback_set(hdl, osd_trans_commit_cb,
+ ldiskfs_journal_callback_add(hdl, osd_trans_commit_cb,
&oh->ot_jcb);
LASSERT(oti->oti_txns == 1);
#include <ldiskfs/ldiskfs.h>
#include <ldiskfs/ldiskfs_jbd2.h>
-#ifdef HAVE_LDISKFS_JOURNAL_CALLBACK_ADD
-# define journal_callback ldiskfs_journal_cb_entry
-# define osd_journal_callback_set(handle, func, jcb) \
- ldiskfs_journal_callback_add(handle, func, jcb)
-#else
-# define osd_journal_callback_set(handle, func, jcb) \
- jbd2_journal_callback_set(handle, func, jcb)
-#endif
/* fsfilt_{get|put}_ops */
#include <lustre_fsfilt.h>
struct osd_thandle {
struct thandle ot_super;
handle_t *ot_handle;
- struct journal_callback ot_jcb;
+ struct ldiskfs_journal_cb_entry ot_jcb;
cfs_list_t ot_dcb_list;
/* Link to the device, for debugging. */
struct lu_ref_link *ot_dev_link;