aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/rgrp.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-02-21 12:51:39 +0000
committerSteven Whitehouse <swhiteho@redhat.com>2006-02-21 12:51:39 +0000
commitf55ab26a8f92a23988c3e6da28dae4741933a4e2 (patch)
treeb6f9e89ce1b2ccde8d81314aeea06f6a02f882f7 /fs/gfs2/rgrp.c
parent[GFS2] Fix a case where we didn't get unstuffing right (diff)
downloadlinux-dev-f55ab26a8f92a23988c3e6da28dae4741933a4e2.tar.xz
linux-dev-f55ab26a8f92a23988c3e6da28dae4741933a4e2.zip
[GFS2] Use mutices rather than semaphores
As well as a number of minor bug fixes, this patch changes GFS to use mutices rather than semaphores. This results in better information in case there are any locking problems. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/rgrp.c')
-rw-r--r--fs/gfs2/rgrp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 758cc565813a..2e69e5cda967 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -182,9 +182,9 @@ static void clear_rgrpdi(struct gfs2_sbd *sdp)
void gfs2_clear_rgrpd(struct gfs2_sbd *sdp)
{
- down(&sdp->sd_rindex_mutex);
+ mutex_lock(&sdp->sd_rindex_mutex);
clear_rgrpdi(sdp);
- up(&sdp->sd_rindex_mutex);
+ mutex_unlock(&sdp->sd_rindex_mutex);
}
/**
@@ -301,7 +301,7 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
if (!rgd)
goto fail;
- init_MUTEX(&rgd->rd_mutex);
+ mutex_init(&rgd->rd_mutex);
lops_init_le(&rgd->rd_le, &gfs2_rg_lops);
rgd->rd_sbd = sdp;
@@ -363,13 +363,13 @@ int gfs2_rindex_hold(struct gfs2_sbd *sdp, struct gfs2_holder *ri_gh)
/* Read new copy from disk if we don't have the latest */
if (sdp->sd_rindex_vn != gl->gl_vn) {
- down(&sdp->sd_rindex_mutex);
+ mutex_lock(&sdp->sd_rindex_mutex);
if (sdp->sd_rindex_vn != gl->gl_vn) {
error = gfs2_ri_update(ip);
if (error)
gfs2_glock_dq_uninit(ri_gh);
}
- up(&sdp->sd_rindex_mutex);
+ mutex_unlock(&sdp->sd_rindex_mutex);
}
return error;
@@ -394,13 +394,13 @@ int gfs2_rgrp_bh_get(struct gfs2_rgrpd *rgd)
unsigned int x, y;
int error;
- down(&rgd->rd_mutex);
+ mutex_lock(&rgd->rd_mutex);
spin_lock(&sdp->sd_rindex_spin);
if (rgd->rd_bh_count) {
rgd->rd_bh_count++;
spin_unlock(&sdp->sd_rindex_spin);
- up(&rgd->rd_mutex);
+ mutex_unlock(&rgd->rd_mutex);
return 0;
}
spin_unlock(&sdp->sd_rindex_spin);
@@ -436,7 +436,7 @@ int gfs2_rgrp_bh_get(struct gfs2_rgrpd *rgd)
rgd->rd_bh_count++;
spin_unlock(&sdp->sd_rindex_spin);
- up(&rgd->rd_mutex);
+ mutex_unlock(&rgd->rd_mutex);
return 0;
@@ -447,7 +447,7 @@ int gfs2_rgrp_bh_get(struct gfs2_rgrpd *rgd)
bi->bi_bh = NULL;
gfs2_assert_warn(sdp, !bi->bi_clone);
}
- up(&rgd->rd_mutex);
+ mutex_unlock(&rgd->rd_mutex);
return error;
}