static inline rwlock_t *gl_lock_addr(unsigned int x)
{
- return &gl_hash_locks[(x) & (GL_HASH_LOCK_SZ-1)];
+ return &gl_hash_locks[x & (GL_HASH_LOCK_SZ-1)];
}
#else /* not SMP, so no spinlocks required */
static inline rwlock_t *gl_lock_addr(x)
}
}
-/**
- * gfs2_iopen_go_callback - Try to kick the inode/vnode associated with an
- * iopen glock from memory
- * @io_gl: the iopen glock
- * @state: the state into which the glock should be put
- *
- */
-
-void gfs2_iopen_go_callback(struct gfs2_glock *io_gl, unsigned int state)
-{
-
- if (state != LM_ST_UNLOCKED)
- return;
- /* FIXME: remove this? */
-}
-
/**
* demote_ok - Check to see if it's ok to unlock a glock
* @gl: the glock
{
unsigned int x;
- for (x = 0; x < GFS2_GL_HASH_SIZE; x++) {
+ for (x = 0; x < GFS2_GL_HASH_SIZE; x++)
examine_bucket(scan_glock, sdp, x);
- cond_resched();
- }
}
/**
void gfs2_glock_cb(void *cb_data, unsigned int type, void *data);
-void gfs2_iopen_go_callback(struct gfs2_glock *gl, unsigned int state);
-
void gfs2_glock_schedule_for_reclaim(struct gfs2_glock *gl);
void gfs2_reclaim_glock(struct gfs2_sbd *sdp);
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,
};