Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38657
b: refs/heads/master
c: a74604b
h: refs/heads/master
i:
  38655: 7b8362b
v: v3
  • Loading branch information
Steven Whitehouse committed Apr 21, 2006
1 parent 3b59bd6 commit 5b1b5bc
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a748422ee45725e04e1d3792fa19dfa90ddfd116
refs/heads/master: a74604bee27da7c9506114e5710f91f388e98296
34 changes: 17 additions & 17 deletions trunk/fs/gfs2/locking.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ struct lmh_wrapper {
of them by name at mount time, e.g. lock_nolock, lock_dlm. */

static struct list_head lmh_list;
static struct semaphore lmh_lock;
static struct mutex lmh_lock;

/**
* gfs_register_lockproto - Register a low-level locking protocol
Expand All @@ -41,11 +41,11 @@ int gfs_register_lockproto(struct lm_lockops *proto)
{
struct lmh_wrapper *lw;

down(&lmh_lock);
mutex_lock(&lmh_lock);

list_for_each_entry(lw, &lmh_list, lw_list) {
if (!strcmp(lw->lw_ops->lm_proto_name, proto->lm_proto_name)) {
up(&lmh_lock);
mutex_unlock(&lmh_lock);
printk(KERN_INFO "GFS2: protocol %s already exists\n",
proto->lm_proto_name);
return -EEXIST;
Expand All @@ -54,14 +54,14 @@ int gfs_register_lockproto(struct lm_lockops *proto)

lw = kzalloc(sizeof(struct lmh_wrapper), GFP_KERNEL);
if (!lw) {
up(&lmh_lock);
mutex_unlock(&lmh_lock);
return -ENOMEM;
}

lw->lw_ops = proto;
list_add(&lw->lw_list, &lmh_list);

up(&lmh_lock);
mutex_unlock(&lmh_lock);

return 0;
}
Expand All @@ -76,18 +76,18 @@ void gfs_unregister_lockproto(struct lm_lockops *proto)
{
struct lmh_wrapper *lw;

down(&lmh_lock);
mutex_lock(&lmh_lock);

list_for_each_entry(lw, &lmh_list, lw_list) {
if (!strcmp(lw->lw_ops->lm_proto_name, proto->lm_proto_name)) {
list_del(&lw->lw_list);
up(&lmh_lock);
mutex_unlock(&lmh_lock);
kfree(lw);
return;
}
}

up(&lmh_lock);
mutex_unlock(&lmh_lock);

printk(KERN_WARNING "GFS2: can't unregister lock protocol %s\n",
proto->lm_proto_name);
Expand Down Expand Up @@ -118,7 +118,7 @@ int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
int error, found;

retry:
down(&lmh_lock);
mutex_lock(&lmh_lock);

found = 0;
list_for_each_entry(lw, &lmh_list, lw_list) {
Expand All @@ -131,7 +131,7 @@ int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
if (!found) {
if (!try && capable(CAP_SYS_MODULE)) {
try = 1;
up(&lmh_lock);
mutex_unlock(&lmh_lock);
request_module(proto_name);
goto retry;
}
Expand All @@ -142,7 +142,7 @@ int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,

if (!try_module_get(lw->lw_ops->lm_owner)) {
try = 0;
up(&lmh_lock);
mutex_unlock(&lmh_lock);
msleep(1000);
goto retry;
}
Expand All @@ -152,17 +152,17 @@ int gfs2_mount_lockproto(char *proto_name, char *table_name, char *host_data,
if (error)
module_put(lw->lw_ops->lm_owner);
out:
up(&lmh_lock);
mutex_unlock(&lmh_lock);
return error;
}

void gfs2_unmount_lockproto(struct lm_lockstruct *lockstruct)
{
down(&lmh_lock);
mutex_lock(&lmh_lock);
lockstruct->ls_ops->lm_unmount(lockstruct->ls_lockspace);
if (lockstruct->ls_ops->lm_owner)
module_put(lockstruct->ls_ops->lm_owner);
up(&lmh_lock);
mutex_unlock(&lmh_lock);
}

/**
Expand All @@ -173,16 +173,16 @@ void gfs2_unmount_lockproto(struct lm_lockstruct *lockstruct)

void gfs2_withdraw_lockproto(struct lm_lockstruct *lockstruct)
{
down(&lmh_lock);
mutex_lock(&lmh_lock);
lockstruct->ls_ops->lm_withdraw(lockstruct->ls_lockspace);
if (lockstruct->ls_ops->lm_owner)
module_put(lockstruct->ls_ops->lm_owner);
up(&lmh_lock);
mutex_unlock(&lmh_lock);
}

void __init gfs2_init_lmh(void)
{
init_MUTEX(&lmh_lock);
mutex_init(&lmh_lock);
INIT_LIST_HEAD(&lmh_list);
}

Expand Down
7 changes: 3 additions & 4 deletions trunk/fs/gfs2/log.c
Original file line number Diff line number Diff line change
Expand Up @@ -587,10 +587,9 @@ void gfs2_log_shutdown(struct gfs2_sbd *sdp)
log_write_header(sdp, GFS2_LOG_HEAD_UNMOUNT, 0);

/* printk(KERN_INFO "sd_log_blks_free %u, sd_jdesc->jd_blocks %u\n", sdp->sd_log_blks_free, sdp->sd_jdesc->jd_blocks); */
gfs2_assert_withdraw(sdp, sdp->sd_log_blks_free ==
sdp->sd_jdesc->jd_blocks);
gfs2_assert_withdraw(sdp, sdp->sd_log_head == sdp->sd_log_tail);
gfs2_assert_withdraw(sdp, list_empty(&sdp->sd_ail2_list));
gfs2_assert_warn(sdp, sdp->sd_log_blks_free == sdp->sd_jdesc->jd_blocks);
gfs2_assert_warn(sdp, sdp->sd_log_head == sdp->sd_log_tail);
gfs2_assert_warn(sdp, list_empty(&sdp->sd_ail2_list));

sdp->sd_log_head = sdp->sd_log_flush_head;
sdp->sd_log_tail = sdp->sd_log_head;
Expand Down
1 change: 0 additions & 1 deletion trunk/fs/gfs2/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ void gfs2_assert_i(struct gfs2_sbd *sdp);
do { \
if (unlikely(!(assertion))) { \
gfs2_assert_i(sdp); \
BUG(); \
} \
} while (0)

Expand Down

0 comments on commit 5b1b5bc

Please sign in to comment.