Skip to content

Commit

Permalink
[GFS2] Make glock operations const
Browse files Browse the repository at this point in the history
For all the usual reasons of enforcing correctness and potentially
reducing code size, this patch makes the glock operations const.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Steven Whitehouse committed Aug 30, 2006
1 parent 83b7a66 commit 8fb4b53
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 38 deletions.
30 changes: 15 additions & 15 deletions fs/gfs2/glock.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ static struct gfs2_glock *gfs2_glock_find(struct gfs2_sbd *sdp,
*/

int gfs2_glock_get(struct gfs2_sbd *sdp, uint64_t number,
struct gfs2_glock_operations *glops, int create,
const struct gfs2_glock_operations *glops, int create,
struct gfs2_glock **glp)
{
struct lm_lockname name;
Expand Down Expand Up @@ -480,7 +480,7 @@ static int rq_promote(struct gfs2_holder *gh)
{
struct gfs2_glock *gl = gh->gh_gl;
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

if (!relaxed_state_ok(gl->gl_state, gh->gh_state, gh->gh_flags)) {
if (list_empty(&gl->gl_holders)) {
Expand Down Expand Up @@ -535,7 +535,7 @@ static int rq_promote(struct gfs2_holder *gh)
static int rq_demote(struct gfs2_holder *gh)
{
struct gfs2_glock *gl = gh->gh_gl;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

if (!list_empty(&gl->gl_holders))
return 1;
Expand Down Expand Up @@ -805,7 +805,7 @@ static void state_change(struct gfs2_glock *gl, unsigned int new_state)
static void xmote_bh(struct gfs2_glock *gl, unsigned int ret)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;
struct gfs2_holder *gh = gl->gl_req_gh;
int prev_state = gl->gl_state;
int op_done = 1;
Expand Down Expand Up @@ -915,7 +915,7 @@ static void xmote_bh(struct gfs2_glock *gl, unsigned int ret)
void gfs2_glock_xmote_th(struct gfs2_glock *gl, unsigned int state, int flags)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;
int lck_flags = flags & (LM_FLAG_TRY | LM_FLAG_TRY_1CB |
LM_FLAG_NOEXP | LM_FLAG_ANY |
LM_FLAG_PRIORITY);
Expand Down Expand Up @@ -960,7 +960,7 @@ void gfs2_glock_xmote_th(struct gfs2_glock *gl, unsigned int state, int flags)
static void drop_bh(struct gfs2_glock *gl, unsigned int ret)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;
struct gfs2_holder *gh = gl->gl_req_gh;

clear_bit(GLF_PREFETCH, &gl->gl_flags);
Expand Down Expand Up @@ -1010,7 +1010,7 @@ static void drop_bh(struct gfs2_glock *gl, unsigned int ret)
void gfs2_glock_drop_th(struct gfs2_glock *gl)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;
unsigned int ret;

gfs2_assert_warn(sdp, test_bit(GLF_LOCK, &gl->gl_flags));
Expand Down Expand Up @@ -1081,7 +1081,7 @@ static int glock_wait_internal(struct gfs2_holder *gh)
{
struct gfs2_glock *gl = gh->gh_gl;
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

if (test_bit(HIF_ABORTED, &gh->gh_iflags))
return -EIO;
Expand Down Expand Up @@ -1294,7 +1294,7 @@ int gfs2_glock_wait(struct gfs2_holder *gh)
void gfs2_glock_dq(struct gfs2_holder *gh)
{
struct gfs2_glock *gl = gh->gh_gl;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

if (gh->gh_flags & GL_SYNC)
set_bit(GLF_SYNC, &gl->gl_flags);
Expand Down Expand Up @@ -1339,7 +1339,7 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
static void gfs2_glock_prefetch(struct gfs2_glock *gl, unsigned int state,
int flags)
{
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

spin_lock(&gl->gl_spin);

Expand All @@ -1365,7 +1365,7 @@ static void greedy_work(void *data)
struct greedy *gr = data;
struct gfs2_holder *gh = &gr->gr_gh;
struct gfs2_glock *gl = gh->gh_gl;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;

clear_bit(GLF_SKIP_WAITERS2, &gl->gl_flags);

Expand Down Expand Up @@ -1447,8 +1447,8 @@ void gfs2_glock_dq_uninit(struct gfs2_holder *gh)
*/

int gfs2_glock_nq_num(struct gfs2_sbd *sdp, uint64_t number,
struct gfs2_glock_operations *glops, unsigned int state,
int flags, struct gfs2_holder *gh)
const struct gfs2_glock_operations *glops,
unsigned int state, int flags, struct gfs2_holder *gh)
{
struct gfs2_glock *gl;
int error;
Expand Down Expand Up @@ -1645,7 +1645,7 @@ void gfs2_glock_dq_uninit_m(unsigned int num_gh, struct gfs2_holder *ghs)
*/

void gfs2_glock_prefetch_num(struct gfs2_sbd *sdp, uint64_t number,
struct gfs2_glock_operations *glops,
const struct gfs2_glock_operations *glops,
unsigned int state, int flags)
{
struct gfs2_glock *gl;
Expand Down Expand Up @@ -1827,7 +1827,7 @@ void gfs2_iopen_go_callback(struct gfs2_glock *io_gl, unsigned int state)
static int demote_ok(struct gfs2_glock *gl)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct gfs2_glock_operations *glops = gl->gl_ops;
const struct gfs2_glock_operations *glops = gl->gl_ops;
int demote = 1;

if (test_bit(GLF_STICKY, &gl->gl_flags))
Expand Down
6 changes: 3 additions & 3 deletions fs/gfs2/glock.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ static inline int gfs2_glock_is_blocking(struct gfs2_glock *gl)
}

int gfs2_glock_get(struct gfs2_sbd *sdp,
uint64_t number, struct gfs2_glock_operations *glops,
uint64_t number, const struct gfs2_glock_operations *glops,
int create, struct gfs2_glock **glp);
void gfs2_glock_hold(struct gfs2_glock *gl);
int gfs2_glock_put(struct gfs2_glock *gl);
Expand All @@ -97,15 +97,15 @@ int gfs2_glock_be_greedy(struct gfs2_glock *gl, unsigned int time);

void gfs2_glock_dq_uninit(struct gfs2_holder *gh);
int gfs2_glock_nq_num(struct gfs2_sbd *sdp,
uint64_t number, struct gfs2_glock_operations *glops,
uint64_t number, const struct gfs2_glock_operations *glops,
unsigned int state, int flags, struct gfs2_holder *gh);

int gfs2_glock_nq_m(unsigned int num_gh, struct gfs2_holder *ghs);
void gfs2_glock_dq_m(unsigned int num_gh, struct gfs2_holder *ghs);
void gfs2_glock_dq_uninit_m(unsigned int num_gh, struct gfs2_holder *ghs);

void gfs2_glock_prefetch_num(struct gfs2_sbd *sdp, uint64_t number,
struct gfs2_glock_operations *glops,
const struct gfs2_glock_operations *glops,
unsigned int state, int flags);
void gfs2_glock_inode_squish(struct inode *inode);

Expand Down
18 changes: 9 additions & 9 deletions fs/gfs2/glops.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,13 +493,13 @@ static int quota_go_demote_ok(struct gfs2_glock *gl)
return !atomic_read(&gl->gl_lvb_count);
}

struct gfs2_glock_operations gfs2_meta_glops = {
const struct gfs2_glock_operations gfs2_meta_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_type = LM_TYPE_META
};

struct gfs2_glock_operations gfs2_inode_glops = {
const struct gfs2_glock_operations gfs2_inode_glops = {
.go_xmote_th = inode_go_xmote_th,
.go_xmote_bh = inode_go_xmote_bh,
.go_drop_th = inode_go_drop_th,
Expand All @@ -512,7 +512,7 @@ struct gfs2_glock_operations gfs2_inode_glops = {
.go_type = LM_TYPE_INODE
};

struct gfs2_glock_operations gfs2_rgrp_glops = {
const struct gfs2_glock_operations gfs2_rgrp_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_sync = meta_go_sync,
Expand All @@ -523,40 +523,40 @@ struct gfs2_glock_operations gfs2_rgrp_glops = {
.go_type = LM_TYPE_RGRP
};

struct gfs2_glock_operations gfs2_trans_glops = {
const struct gfs2_glock_operations gfs2_trans_glops = {
.go_xmote_th = trans_go_xmote_th,
.go_xmote_bh = trans_go_xmote_bh,
.go_drop_th = trans_go_drop_th,
.go_type = LM_TYPE_NONDISK
};

struct gfs2_glock_operations gfs2_iopen_glops = {
const struct gfs2_glock_operations gfs2_iopen_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_callback = gfs2_iopen_go_callback,
.go_type = LM_TYPE_IOPEN
};

struct gfs2_glock_operations gfs2_flock_glops = {
const struct gfs2_glock_operations gfs2_flock_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_type = LM_TYPE_FLOCK
};

struct gfs2_glock_operations gfs2_nondisk_glops = {
const struct gfs2_glock_operations gfs2_nondisk_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_type = LM_TYPE_NONDISK
};

struct gfs2_glock_operations gfs2_quota_glops = {
const struct gfs2_glock_operations gfs2_quota_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_demote_ok = quota_go_demote_ok,
.go_type = LM_TYPE_QUOTA
};

struct gfs2_glock_operations gfs2_journal_glops = {
const struct gfs2_glock_operations gfs2_journal_glops = {
.go_xmote_th = gfs2_glock_xmote_th,
.go_drop_th = gfs2_glock_drop_th,
.go_type = LM_TYPE_JOURNAL
Expand Down
18 changes: 9 additions & 9 deletions fs/gfs2/glops.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
#ifndef __GLOPS_DOT_H__
#define __GLOPS_DOT_H__

extern struct gfs2_glock_operations gfs2_meta_glops;
extern struct gfs2_glock_operations gfs2_inode_glops;
extern struct gfs2_glock_operations gfs2_rgrp_glops;
extern struct gfs2_glock_operations gfs2_trans_glops;
extern struct gfs2_glock_operations gfs2_iopen_glops;
extern struct gfs2_glock_operations gfs2_flock_glops;
extern struct gfs2_glock_operations gfs2_nondisk_glops;
extern struct gfs2_glock_operations gfs2_quota_glops;
extern struct gfs2_glock_operations gfs2_journal_glops;
extern const struct gfs2_glock_operations gfs2_meta_glops;
extern const struct gfs2_glock_operations gfs2_inode_glops;
extern const struct gfs2_glock_operations gfs2_rgrp_glops;
extern const struct gfs2_glock_operations gfs2_trans_glops;
extern const struct gfs2_glock_operations gfs2_iopen_glops;
extern const struct gfs2_glock_operations gfs2_flock_glops;
extern const struct gfs2_glock_operations gfs2_nondisk_glops;
extern const struct gfs2_glock_operations gfs2_quota_glops;
extern const struct gfs2_glock_operations gfs2_journal_glops;

#endif /* __GLOPS_DOT_H__ */
4 changes: 2 additions & 2 deletions fs/gfs2/incore.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ struct gfs2_glock_operations {
void (*go_unlock) (struct gfs2_holder * gh);
void (*go_callback) (struct gfs2_glock * gl, unsigned int state);
void (*go_greedy) (struct gfs2_glock * gl);
int go_type;
const int go_type;
};

enum {
Expand Down Expand Up @@ -189,7 +189,7 @@ struct gfs2_glock {
struct list_head gl_waiters2; /* HIF_DEMOTE, HIF_GREEDY */
struct list_head gl_waiters3; /* HIF_PROMOTE */

struct gfs2_glock_operations *gl_ops;
const struct gfs2_glock_operations *gl_ops;

struct gfs2_holder *gl_req_gh;
gfs2_glop_bh_t gl_req_bh;
Expand Down

0 comments on commit 8fb4b53

Please sign in to comment.