*
* Returns: errno
*/
-
+#if 0
int gfs2_unstuffer_sync(struct gfs2_inode *ip, struct buffer_head *dibh,
uint64_t block, void *private)
{
return error;
}
+#endif /* 0 */
/**
* gfs2_unstuff_dinode - Unstuff a dinode when the data has grown too big
typedef int (*gfs2_unstuffer_t) (struct gfs2_inode * ip,
struct buffer_head * dibh, uint64_t block,
void *private);
-int gfs2_unstuffer_sync(struct gfs2_inode *ip, struct buffer_head *dibh,
- uint64_t block, void *private);
int gfs2_unstuff_dinode(struct gfs2_inode *ip, gfs2_unstuffer_t unstuffer,
void *private);
* Takes a dent from which to grab space as an argument. Returns the
* newly created dent.
*/
-struct gfs2_dirent *gfs2_init_dirent(struct inode *inode,
- struct gfs2_dirent *dent,
- const struct qstr *name,
- struct buffer_head *bh)
+static struct gfs2_dirent *gfs2_init_dirent(struct inode *inode,
+ struct gfs2_dirent *dent,
+ const struct qstr *name,
+ struct buffer_head *bh)
{
struct gfs2_inode *ip = inode->u.generic_ip;
struct gfs2_dirent *ndent;
return gfs2_ea_remove_i(ip, er);
}
-struct gfs2_eattr_operations gfs2_user_eaops = {
+static struct gfs2_eattr_operations gfs2_user_eaops = {
.eo_get = user_eo_get,
.eo_set = user_eo_set,
.eo_remove = user_eo_remove,
unsigned int gfs2_ea_name2type(const char *name, char **truncated_name);
-extern struct gfs2_eattr_operations gfs2_user_eaops;
extern struct gfs2_eattr_operations gfs2_system_eaops;
extern struct gfs2_eattr_operations *gfs2_ea_ops[];
return error;
}
+#if 0
static int gfs2_ea_repack_i(struct gfs2_inode *ip)
{
return error;
}
+#endif /* 0 */
+
struct ea_list {
struct gfs2_ea_request *ei_er;
unsigned int ei_size;
struct gfs2_ea_header *el_prev;
};
-int gfs2_ea_repack(struct gfs2_inode *ip);
-
int gfs2_ea_get_i(struct gfs2_inode *ip, struct gfs2_ea_request *er);
int gfs2_ea_set_i(struct gfs2_inode *ip, struct gfs2_ea_request *er);
int gfs2_ea_remove_i(struct gfs2_inode *ip, struct gfs2_ea_request *er);
typedef void (*glock_examiner) (struct gfs2_glock * gl);
+static int gfs2_dump_lockstate(struct gfs2_sbd *sdp);
+
/**
* relaxed_state_ok - is a requested lock compatible with the current lock mode?
* @actual: the current state of the lock
* Returns: NULL, or the struct gfs2_glock with the requested number
*/
-struct gfs2_glock *gfs2_glock_find(struct gfs2_sbd *sdp,
- struct lm_lockname *name)
+static struct gfs2_glock *gfs2_glock_find(struct gfs2_sbd *sdp,
+ struct lm_lockname *name)
{
struct gfs2_gl_hash_bucket *bucket = &sdp->sd_gl_hash[gl_hash(name)];
struct gfs2_glock *gl;
* Returns: the holder structure, NULL on ENOMEM
*/
-struct gfs2_holder *gfs2_holder_get(struct gfs2_glock *gl, unsigned int state,
- int flags, gfp_t gfp_flags)
+static struct gfs2_holder *gfs2_holder_get(struct gfs2_glock *gl,
+ unsigned int state,
+ int flags, gfp_t gfp_flags)
{
struct gfs2_holder *gh;
*
*/
-void gfs2_holder_put(struct gfs2_holder *gh)
+static void gfs2_holder_put(struct gfs2_holder *gh)
{
gfs2_holder_uninit(gh);
kfree(gh);
* Returns: 1 if the glock is acquired
*/
-int gfs2_glmutex_trylock(struct gfs2_glock *gl)
+static int gfs2_glmutex_trylock(struct gfs2_glock *gl)
{
int acquired = 1;
*
*/
-void gfs2_glock_prefetch(struct gfs2_glock *gl, unsigned int state, int flags)
+static void gfs2_glock_prefetch(struct gfs2_glock *gl, unsigned int state,
+ int flags)
{
struct gfs2_glock_operations *glops = gl->gl_ops;
* @gl: the glock
*
*/
-
+#if 0
void gfs2_glock_force_drop(struct gfs2_glock *gl)
{
struct gfs2_holder gh;
wait_for_completion(&gh.gh_wait);
gfs2_holder_uninit(&gh);
}
+#endif /* 0 */
static void greedy_work(void *data)
{
gfs2_glock_put(gl);
}
+#if 0
void gfs2_lvb_sync(struct gfs2_glock *gl)
{
gfs2_glmutex_lock(gl);
gfs2_glmutex_unlock(gl);
}
+#endif /* 0 */
static void blocking_cb(struct gfs2_sbd *sdp, struct lm_lockname *name,
unsigned int state)
*
*/
-int gfs2_dump_lockstate(struct gfs2_sbd *sdp)
+static int gfs2_dump_lockstate(struct gfs2_sbd *sdp)
{
struct gfs2_gl_hash_bucket *bucket;
struct gfs2_glock *gl;
return ret;
}
-struct gfs2_glock *gfs2_glock_find(struct gfs2_sbd *sdp,
- struct lm_lockname *name);
int gfs2_glock_get(struct gfs2_sbd *sdp,
uint64_t number, struct gfs2_glock_operations *glops,
int create, struct gfs2_glock **glp);
void gfs2_holder_reinit(unsigned int state, unsigned flags,
struct gfs2_holder *gh);
void gfs2_holder_uninit(struct gfs2_holder *gh);
-struct gfs2_holder *gfs2_holder_get(struct gfs2_glock *gl, unsigned int state,
- int flags, gfp_t gfp_flags);
-void gfs2_holder_put(struct gfs2_holder *gh);
void gfs2_glock_xmote_th(struct gfs2_glock *gl, unsigned int state, int flags);
void gfs2_glock_drop_th(struct gfs2_glock *gl);
void gfs2_glmutex_lock(struct gfs2_glock *gl);
-int gfs2_glmutex_trylock(struct gfs2_glock *gl);
void gfs2_glmutex_unlock(struct gfs2_glock *gl);
int gfs2_glock_nq(struct gfs2_holder *gh);
int gfs2_glock_wait(struct gfs2_holder *gh);
void gfs2_glock_dq(struct gfs2_holder *gh);
-void gfs2_glock_prefetch(struct gfs2_glock *gl, unsigned int state, int flags);
-void gfs2_glock_force_drop(struct gfs2_glock *gl);
-
int gfs2_glock_be_greedy(struct gfs2_glock *gl, unsigned int time);
void gfs2_glock_dq_uninit(struct gfs2_holder *gh);
int gfs2_lvb_hold(struct gfs2_glock *gl);
void gfs2_lvb_unhold(struct gfs2_glock *gl);
-void gfs2_lvb_sync(struct gfs2_glock *gl);
void gfs2_glock_cb(lm_fsdata_t *fsdata, unsigned int type, void *data);
void gfs2_scand_internal(struct gfs2_sbd *sdp);
void gfs2_gl_hash_clear(struct gfs2_sbd *sdp, int wait);
-int gfs2_dump_lockstate(struct gfs2_sbd *sdp);
-
#endif /* __GLOCK_DOT_H__ */
sdp->sd_lockstruct.ls_ops->lm_unhold_lvb(lock, lvb);
}
+#if 0
void gfs2_lm_sync_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char *lvb)
{
if (likely(!test_bit(SDF_SHUTDOWN, &sdp->sd_flags)))
sdp->sd_lockstruct.ls_ops->lm_sync_lvb(lock, lvb);
}
+#endif /* 0 */
int gfs2_lm_plock_get(struct gfs2_sbd *sdp, struct lm_lockname *name,
struct file *file, struct file_lock *fl)
void gfs2_lm_cancel(struct gfs2_sbd *sdp, lm_lock_t *lock);
int gfs2_lm_hold_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char **lvbp);
void gfs2_lm_unhold_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char *lvb);
-void gfs2_lm_sync_lvb(struct gfs2_sbd *sdp, lm_lock_t *lock, char *lvb);
int gfs2_lm_plock_get(struct gfs2_sbd *sdp,
struct lm_lockname *name,
struct file *file, struct file_lock *fl);
str->namelen = GDLM_STRNAME_BYTES;
}
-int gdlm_create_lp(struct gdlm_ls *ls, struct lm_lockname *name,
- struct gdlm_lock **lpp)
+static int gdlm_create_lp(struct gdlm_ls *ls, struct lm_lockname *name,
+ struct gdlm_lock **lpp)
{
struct gdlm_lock *lp;
return LM_OUT_ASYNC;
}
-unsigned int gdlm_do_unlock(struct gdlm_lock *lp)
+static unsigned int gdlm_do_unlock(struct gdlm_lock *lp)
{
struct gdlm_ls *ls = lp->ls;
unsigned int lkf = 0;
clear_bit(LFL_DLM_CANCEL, &lp->flags);
}
-int gdlm_add_lvb(struct gdlm_lock *lp)
+static int gdlm_add_lvb(struct gdlm_lock *lp)
{
char *lvb;
return 0;
}
-void gdlm_del_lvb(struct gdlm_lock *lp)
+static void gdlm_del_lvb(struct gdlm_lock *lp)
{
kfree(lp->lvb);
lp->lvb = NULL;
void gdlm_queue_delayed(struct gdlm_lock *);
void gdlm_submit_delayed(struct gdlm_ls *);
int gdlm_release_all_locks(struct gdlm_ls *);
-int gdlm_create_lp(struct gdlm_ls *, struct lm_lockname *, struct gdlm_lock **);
void gdlm_delete_lp(struct gdlm_lock *);
-int gdlm_add_lvb(struct gdlm_lock *);
-void gdlm_del_lvb(struct gdlm_lock *);
unsigned int gdlm_do_lock(struct gdlm_lock *);
-unsigned int gdlm_do_unlock(struct gdlm_lock *);
int gdlm_get_lock(lm_lockspace_t *, struct lm_lockname *, lm_lock_t **);
void gdlm_put_lock(lm_lock_t *);
extern struct lm_lockops gdlm_ops;
-int __init init_lock_dlm(void)
+static int __init init_lock_dlm(void)
{
int error;
return 0;
}
-void __exit exit_lock_dlm(void)
+static void __exit exit_lock_dlm(void)
{
gdlm_plock_exit();
gdlm_sysfs_exit();
unsigned int nl_lvb_size;
};
-struct lm_lockops nolock_ops;
+static struct lm_lockops nolock_ops;
static int nolock_mount(char *table_name, char *host_data,
lm_callback_t cb, lm_fsdata_t *fsdata,
{
}
-struct lm_lockops nolock_ops = {
+static struct lm_lockops nolock_ops = {
.lm_proto_name = "lock_nolock",
.lm_mount = nolock_mount,
.lm_others_may_mount = nolock_others_may_mount,
.lm_owner = THIS_MODULE,
};
-int __init init_nolock(void)
+static int __init init_nolock(void)
{
int error;
return 0;
}
-void __exit exit_nolock(void)
+static void __exit exit_nolock(void)
{
gfs_unregister_lockproto(&nolock_ops);
}
str->qb_value = cpu_to_be64(qb->qb_value);
}
+#if 0
void gfs2_quota_lvb_print(struct gfs2_quota_lvb *qb)
{
pv(qb, qb_magic, "%u");
pv(qb, qb_warn, "%llu");
pv(qb, qb_value, "%lld");
}
+#endif /* 0 */
void gfs2_quota_lvb_in(struct gfs2_quota_lvb *qb, char *lvb);
void gfs2_quota_lvb_out(struct gfs2_quota_lvb *qb, char *lvb);
-void gfs2_quota_lvb_print(struct gfs2_quota_lvb *qb);
#endif /* __LVB_DOT_H__ */
* @count: the number of bytes
*
*/
-
+#if 0
static void print_array(char *title, char *buf, int count)
{
int x;
if (x % 16)
printk("\n");
}
+#endif /* 0 */
/*
* gfs2_xxx_in - read in an xxx struct
str->no_addr = cpu_to_be64(no->no_addr);
}
-void gfs2_inum_print(struct gfs2_inum *no)
+static void gfs2_inum_print(struct gfs2_inum *no)
{
pv(no, no_formal_ino, "%llu");
pv(no, no_addr, "%llu");
str->mh_format = cpu_to_be32(mh->mh_format);
}
-void gfs2_meta_header_print(struct gfs2_meta_header *mh)
+static void gfs2_meta_header_print(struct gfs2_meta_header *mh)
{
pv(mh, mh_magic, "0x%.8X");
pv(mh, mh_type, "%u");
memcpy(sb->sb_locktable, str->sb_locktable, GFS2_LOCKNAME_LEN);
}
+#if 0
void gfs2_sb_print(struct gfs2_sb *sb)
{
gfs2_meta_header_print(&sb->sb_header);
pv(sb, sb_lockproto, "%s");
pv(sb, sb_locktable, "%s");
}
+#endif /* 0 */
void gfs2_rindex_in(struct gfs2_rindex *ri, char *buf)
{
}
+#if 0
void gfs2_rindex_out(struct gfs2_rindex *ri, char *buf)
{
struct gfs2_rindex *str = (struct gfs2_rindex *)buf;
memset(str->ri_reserved, 0, sizeof(str->ri_reserved));
}
+#endif /* 0 */
+
void gfs2_rindex_print(struct gfs2_rindex *ri)
{
pv(ri, ri_addr, "%llu");
memset(&str->rg_reserved, 0, sizeof(str->rg_reserved));
}
+#if 0
void gfs2_rgrp_print(struct gfs2_rgrp *rg)
{
gfs2_meta_header_print(&rg->rg_header);
pa(rg, rg_reserved, 36);
}
+#endif /* 0 */
void gfs2_quota_in(struct gfs2_quota *qu, char *buf)
{
qu->qu_value = be64_to_cpu(str->qu_value);
}
+#if 0
+
void gfs2_quota_out(struct gfs2_quota *qu, char *buf)
{
struct gfs2_quota *str = (struct gfs2_quota *)buf;
pv(qu, qu_value, "%lld");
}
+#endif /* 0 */
+
void gfs2_dinode_in(struct gfs2_dinode *di, char *buf)
{
struct gfs2_dinode *str = (struct gfs2_dinode *)buf;
pv(di, di_eattr, "%llu");
}
+#if 0
+
void gfs2_dirent_print(struct gfs2_dirent *de, char *name)
{
char buf[GFS2_FNAMESIZE + 1];
printk(KERN_INFO " name = %s\n", buf);
}
+#endif /* 0 */
+
void gfs2_log_header_in(struct gfs2_log_header *lh, char *buf)
{
struct gfs2_log_header *str = (struct gfs2_log_header *)buf;
lh->lh_hash = be32_to_cpu(str->lh_hash);
}
+#if 0
+
void gfs2_log_header_print(struct gfs2_log_header *lh)
{
gfs2_meta_header_print(&lh->lh_header);
pa(ld, ld_reserved, 32);
}
+#endif /* 0 */
+
void gfs2_inum_range_in(struct gfs2_inum_range *ir, char *buf)
{
struct gfs2_inum_range *str = (struct gfs2_inum_range *)buf;
str->ir_length = cpu_to_be64(ir->ir_length);
}
+#if 0
void gfs2_inum_range_print(struct gfs2_inum_range *ir)
{
pv(ir, ir_start, "%llu");
pv(ir, ir_length, "%llu");
}
+#endif /* 0 */
void gfs2_statfs_change_in(struct gfs2_statfs_change *sc, char *buf)
{
str->sc_dinodes = cpu_to_be64(sc->sc_dinodes);
}
+#if 0
void gfs2_statfs_change_print(struct gfs2_statfs_change *sc)
{
pv(sc, sc_total, "%lld");
pv(sc, sc_free, "%lld");
pv(sc, sc_dinodes, "%lld");
}
+#endif /* 0 */
void gfs2_unlinked_tag_in(struct gfs2_unlinked_tag *ut, char *buf)
{
str->__pad = 0;
}
+#if 0
+
void gfs2_unlinked_tag_print(struct gfs2_unlinked_tag *ut)
{
gfs2_inum_print(&ut->ut_inum);
pv(ut, ut_flags, "%u");
}
+#endif /* 0 */
+
void gfs2_quota_change_in(struct gfs2_quota_change *qc, char *buf)
{
struct gfs2_quota_change *str = (struct gfs2_quota_change *)buf;
qc->qc_id = be32_to_cpu(str->qc_id);
}
+#if 0
+
void gfs2_quota_change_print(struct gfs2_quota_change *qc)
{
pv(qc, qc_change, "%lld");
pv(qc, qc_id, "%u");
}
-
+#endif /* 0 */
return error;
}
+#if 0
int gfs2_quota_read(struct gfs2_sbd *sdp, int user, uint32_t id,
struct gfs2_quota *q)
{
return error;
}
+#endif /* 0 */
int gfs2_quota_init(struct gfs2_sbd *sdp)
{
int gfs2_quota_sync(struct gfs2_sbd *sdp);
int gfs2_quota_refresh(struct gfs2_sbd *sdp, int user, uint32_t id);
-int gfs2_quota_read(struct gfs2_sbd *sdp, int user, uint32_t id,
- struct gfs2_quota *q);
int gfs2_quota_init(struct gfs2_sbd *sdp);
void gfs2_quota_scan(struct gfs2_sbd *sdp);
return 0;
}
-int gfs2_do_upgrade(struct gfs2_sbd *sdp, struct gfs2_glock *sb_gl)
-{
- return 0;
-}
-
/**
* gfs2_jindex_hold - Grab a lock on the jindex
* @sdp: The GFS2 superblock
* Returns: errno
*/
-int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp, struct gfs2_holder *t_gh)
+static int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp,
+ struct gfs2_holder *t_gh)
{
struct gfs2_inode *ip;
struct gfs2_holder ji_gh;
int gfs2_check_sb(struct gfs2_sbd *sdp, struct gfs2_sb *sb, int silent);
int gfs2_read_sb(struct gfs2_sbd *sdp, struct gfs2_glock *gl, int silent);
-int gfs2_do_upgrade(struct gfs2_sbd *sdp, struct gfs2_glock *gl_sb);
static inline unsigned int gfs2_jindex_size(struct gfs2_sbd *sdp)
{
int gfs2_statfs_i(struct gfs2_sbd *sdp, struct gfs2_statfs_change *sc);
int gfs2_statfs_slow(struct gfs2_sbd *sdp, struct gfs2_statfs_change *sc);
-int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp, struct gfs2_holder *t_gh);
int gfs2_freeze_fs(struct gfs2_sbd *sdp);
void gfs2_unfreeze_fs(struct gfs2_sbd *sdp);
/* Printing functions */
-extern void gfs2_inum_print(struct gfs2_inum *no);
-extern void gfs2_meta_header_print(struct gfs2_meta_header *mh);
-extern void gfs2_sb_print(struct gfs2_sb *sb);
extern void gfs2_rindex_print(struct gfs2_rindex *ri);
-extern void gfs2_rgrp_print(struct gfs2_rgrp *rg);
-extern void gfs2_quota_print(struct gfs2_quota *qu);
extern void gfs2_dinode_print(struct gfs2_dinode *di);
-extern void gfs2_dirent_print(struct gfs2_dirent *de, char *name);
-extern void gfs2_leaf_print(struct gfs2_leaf *lf);
-extern void gfs2_ea_header_print(struct gfs2_ea_header *ea, char *name);
-extern void gfs2_log_header_print(struct gfs2_log_header *lh);
-extern void gfs2_log_descriptor_print(struct gfs2_log_descriptor *ld);
-extern void gfs2_inum_range_print(struct gfs2_inum_range *ir);
-extern void gfs2_statfs_change_print(struct gfs2_statfs_change *sc);
-extern void gfs2_unlinked_tag_print(struct gfs2_unlinked_tag *ut);
-extern void gfs2_quota_change_print(struct gfs2_quota_change *qc);
#endif /* __KERNEL__ */