[GFS2] Remove one typedef
This removes one of the typedefs from the locking interface. It is replaced by a forward declaration of the gfs2 superblock. The other two are not so easy to solve since in their case, they can refer to one of two possible structures. Cc: David Teigland <teigland@redhat.com> Cc: Jan Engelhardt <jengelh@linux01.gwdg.de> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
Родитель
b9201ce9a8
Коммит
1c089c325d
|
@ -1704,7 +1704,7 @@ static void blocking_cb(struct gfs2_sbd *sdp, struct lm_lockname *name,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gfs2_glock_cb - Callback used by locking module
|
* gfs2_glock_cb - Callback used by locking module
|
||||||
* @fsdata: Pointer to the superblock
|
* @sdp: Pointer to the superblock
|
||||||
* @type: Type of callback
|
* @type: Type of callback
|
||||||
* @data: Type dependent data pointer
|
* @data: Type dependent data pointer
|
||||||
*
|
*
|
||||||
|
@ -1713,9 +1713,8 @@ static void blocking_cb(struct gfs2_sbd *sdp, struct lm_lockname *name,
|
||||||
* a journal from another client needs to be recovered.
|
* a journal from another client needs to be recovered.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void gfs2_glock_cb(lm_fsdata_t *fsdata, unsigned int type, void *data)
|
void gfs2_glock_cb(struct gfs2_sbd *sdp, unsigned int type, void *data)
|
||||||
{
|
{
|
||||||
struct gfs2_sbd *sdp = (struct gfs2_sbd *)fsdata;
|
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case LM_CB_NEED_E:
|
case LM_CB_NEED_E:
|
||||||
|
|
|
@ -140,7 +140,7 @@ static inline int gfs2_glock_nq_init(struct gfs2_glock *gl,
|
||||||
int gfs2_lvb_hold(struct gfs2_glock *gl);
|
int gfs2_lvb_hold(struct gfs2_glock *gl);
|
||||||
void gfs2_lvb_unhold(struct gfs2_glock *gl);
|
void gfs2_lvb_unhold(struct gfs2_glock *gl);
|
||||||
|
|
||||||
void gfs2_glock_cb(lm_fsdata_t *fsdata, unsigned int type, void *data);
|
void gfs2_glock_cb(struct gfs2_sbd *sdp, unsigned int type, void *data);
|
||||||
|
|
||||||
void gfs2_iopen_go_callback(struct gfs2_glock *gl, unsigned int state);
|
void gfs2_iopen_go_callback(struct gfs2_glock *gl, unsigned int state);
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,9 @@
|
||||||
|
|
||||||
typedef void lm_lockspace_t;
|
typedef void lm_lockspace_t;
|
||||||
typedef void lm_lock_t;
|
typedef void lm_lock_t;
|
||||||
typedef void lm_fsdata_t;
|
struct gfs2_sbd;
|
||||||
|
|
||||||
typedef void (*lm_callback_t) (lm_fsdata_t *fsdata, unsigned int type,
|
typedef void (*lm_callback_t) (struct gfs2_sbd *sdp, unsigned int type, void *data);
|
||||||
void *data);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* lm_mount() flags
|
* lm_mount() flags
|
||||||
|
@ -183,7 +182,7 @@ struct lm_lockops {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int (*lm_mount) (char *table_name, char *host_data,
|
int (*lm_mount) (char *table_name, char *host_data,
|
||||||
lm_callback_t cb, lm_fsdata_t *fsdata,
|
lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
unsigned int min_lvb_size, int flags,
|
unsigned int min_lvb_size, int flags,
|
||||||
struct lm_lockstruct *lockstruct,
|
struct lm_lockstruct *lockstruct,
|
||||||
struct kobject *fskobj);
|
struct kobject *fskobj);
|
||||||
|
@ -275,7 +274,7 @@ void gfs2_unregister_lockproto(struct lm_lockops *proto);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
|
int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
|
||||||
lm_callback_t cb, lm_fsdata_t *fsdata,
|
lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
unsigned int min_lvb_size, int flags,
|
unsigned int min_lvb_size, int flags,
|
||||||
struct lm_lockstruct *lockstruct,
|
struct lm_lockstruct *lockstruct,
|
||||||
struct kobject *fskobj);
|
struct kobject *fskobj);
|
||||||
|
|
|
@ -99,7 +99,7 @@ void gfs2_unregister_lockproto(struct lm_lockops *proto)
|
||||||
* @table_name - the name of the lock space
|
* @table_name - the name of the lock space
|
||||||
* @host_data - data specific to this host
|
* @host_data - data specific to this host
|
||||||
* @cb - the callback to the code using the lock module
|
* @cb - the callback to the code using the lock module
|
||||||
* @fsdata - data to pass back with the callback
|
* @sdp - The GFS2 superblock
|
||||||
* @min_lvb_size - the mininum LVB size that the caller can deal with
|
* @min_lvb_size - the mininum LVB size that the caller can deal with
|
||||||
* @flags - LM_MFLAG_*
|
* @flags - LM_MFLAG_*
|
||||||
* @lockstruct - a structure returned describing the mount
|
* @lockstruct - a structure returned describing the mount
|
||||||
|
@ -108,7 +108,7 @@ void gfs2_unregister_lockproto(struct lm_lockops *proto)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
|
int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
|
||||||
lm_callback_t cb, lm_fsdata_t *fsdata,
|
lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
unsigned int min_lvb_size, int flags,
|
unsigned int min_lvb_size, int flags,
|
||||||
struct lm_lockstruct *lockstruct,
|
struct lm_lockstruct *lockstruct,
|
||||||
struct kobject *fskobj)
|
struct kobject *fskobj)
|
||||||
|
@ -147,7 +147,7 @@ retry:
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
error = lw->lw_ops->lm_mount(table_name, host_data, cb, fsdata,
|
error = lw->lw_ops->lm_mount(table_name, host_data, cb, sdp,
|
||||||
min_lvb_size, flags, lockstruct, fskobj);
|
min_lvb_size, flags, lockstruct, fskobj);
|
||||||
if (error)
|
if (error)
|
||||||
module_put(lw->lw_ops->lm_owner);
|
module_put(lw->lw_ops->lm_owner);
|
||||||
|
|
|
@ -67,7 +67,7 @@ struct gdlm_ls {
|
||||||
int fsflags;
|
int fsflags;
|
||||||
dlm_lockspace_t *dlm_lockspace;
|
dlm_lockspace_t *dlm_lockspace;
|
||||||
lm_callback_t fscb;
|
lm_callback_t fscb;
|
||||||
lm_fsdata_t *fsdata;
|
struct gfs2_sbd *sdp;
|
||||||
int recover_jid;
|
int recover_jid;
|
||||||
int recover_jid_done;
|
int recover_jid_done;
|
||||||
int recover_jid_status;
|
int recover_jid_status;
|
||||||
|
|
|
@ -14,7 +14,7 @@ int gdlm_drop_period;
|
||||||
struct lm_lockops gdlm_ops;
|
struct lm_lockops gdlm_ops;
|
||||||
|
|
||||||
|
|
||||||
static struct gdlm_ls *init_gdlm(lm_callback_t cb, lm_fsdata_t *fsdata,
|
static struct gdlm_ls *init_gdlm(lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
int flags, char *table_name)
|
int flags, char *table_name)
|
||||||
{
|
{
|
||||||
struct gdlm_ls *ls;
|
struct gdlm_ls *ls;
|
||||||
|
@ -27,7 +27,7 @@ static struct gdlm_ls *init_gdlm(lm_callback_t cb, lm_fsdata_t *fsdata,
|
||||||
ls->drop_locks_count = gdlm_drop_count;
|
ls->drop_locks_count = gdlm_drop_count;
|
||||||
ls->drop_locks_period = gdlm_drop_period;
|
ls->drop_locks_period = gdlm_drop_period;
|
||||||
ls->fscb = cb;
|
ls->fscb = cb;
|
||||||
ls->fsdata = fsdata;
|
ls->sdp = sdp;
|
||||||
ls->fsflags = flags;
|
ls->fsflags = flags;
|
||||||
spin_lock_init(&ls->async_lock);
|
spin_lock_init(&ls->async_lock);
|
||||||
INIT_LIST_HEAD(&ls->complete);
|
INIT_LIST_HEAD(&ls->complete);
|
||||||
|
@ -120,7 +120,7 @@ static int make_args(struct gdlm_ls *ls, char *data_arg, int *nodir)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int gdlm_mount(char *table_name, char *host_data,
|
static int gdlm_mount(char *table_name, char *host_data,
|
||||||
lm_callback_t cb, lm_fsdata_t *fsdata,
|
lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
unsigned int min_lvb_size, int flags,
|
unsigned int min_lvb_size, int flags,
|
||||||
struct lm_lockstruct *lockstruct,
|
struct lm_lockstruct *lockstruct,
|
||||||
struct kobject *fskobj)
|
struct kobject *fskobj)
|
||||||
|
@ -131,7 +131,7 @@ static int gdlm_mount(char *table_name, char *host_data,
|
||||||
if (min_lvb_size > GDLM_LVB_SIZE)
|
if (min_lvb_size > GDLM_LVB_SIZE)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ls = init_gdlm(cb, fsdata, flags, table_name);
|
ls = init_gdlm(cb, sdp, flags, table_name);
|
||||||
if (!ls)
|
if (!ls)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ static ssize_t recover_show(struct gdlm_ls *ls, char *buf)
|
||||||
static ssize_t recover_store(struct gdlm_ls *ls, const char *buf, size_t len)
|
static ssize_t recover_store(struct gdlm_ls *ls, const char *buf, size_t len)
|
||||||
{
|
{
|
||||||
ls->recover_jid = simple_strtol(buf, NULL, 0);
|
ls->recover_jid = simple_strtol(buf, NULL, 0);
|
||||||
ls->fscb(ls->fsdata, LM_CB_NEED_RECOVERY, &ls->recover_jid);
|
ls->fscb(ls->sdp, LM_CB_NEED_RECOVERY, &ls->recover_jid);
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ static void process_blocking(struct gdlm_lock *lp, int bast_mode)
|
||||||
gdlm_assert(0, "unknown bast mode %u", lp->bast_mode);
|
gdlm_assert(0, "unknown bast mode %u", lp->bast_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
ls->fscb(ls->fsdata, cb, &lp->lockname);
|
ls->fscb(ls->sdp, cb, &lp->lockname);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void process_complete(struct gdlm_lock *lp)
|
static void process_complete(struct gdlm_lock *lp)
|
||||||
|
@ -232,7 +232,7 @@ out:
|
||||||
(lp->cur > DLM_LOCK_NL) && (prev_mode > DLM_LOCK_NL))
|
(lp->cur > DLM_LOCK_NL) && (prev_mode > DLM_LOCK_NL))
|
||||||
acb.lc_ret |= LM_OUT_CACHEABLE;
|
acb.lc_ret |= LM_OUT_CACHEABLE;
|
||||||
|
|
||||||
ls->fscb(ls->fsdata, LM_CB_ASYNC, &acb);
|
ls->fscb(ls->sdp, LM_CB_ASYNC, &acb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int no_work(struct gdlm_ls *ls, int blocking)
|
static inline int no_work(struct gdlm_ls *ls, int blocking)
|
||||||
|
@ -318,7 +318,7 @@ static int gdlm_thread(void *data)
|
||||||
gdlm_do_lock(lp);
|
gdlm_do_lock(lp);
|
||||||
|
|
||||||
if (drop)
|
if (drop)
|
||||||
ls->fscb(ls->fsdata, LM_CB_DROPLOCKS, NULL);
|
ls->fscb(ls->sdp, LM_CB_DROPLOCKS, NULL);
|
||||||
|
|
||||||
schedule();
|
schedule();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ struct nolock_lockspace {
|
||||||
static struct lm_lockops nolock_ops;
|
static struct lm_lockops nolock_ops;
|
||||||
|
|
||||||
static int nolock_mount(char *table_name, char *host_data,
|
static int nolock_mount(char *table_name, char *host_data,
|
||||||
lm_callback_t cb, lm_fsdata_t *fsdata,
|
lm_callback_t cb, struct gfs2_sbd *sdp,
|
||||||
unsigned int min_lvb_size, int flags,
|
unsigned int min_lvb_size, int flags,
|
||||||
struct lm_lockstruct *lockstruct,
|
struct lm_lockstruct *lockstruct,
|
||||||
struct kobject *fskobj)
|
struct kobject *fskobj)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче