aboutsummaryrefslogtreecommitdiff
path: root/fs/gfs2/ops_file.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/ops_file.c
parent5c4e9e036678fae65c9288e1c00a6f33cd447283 (diff)
[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/ops_file.c')
-rw-r--r--fs/gfs2/ops_file.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c
index b8603783229..cf2e26e0724 100644
--- a/fs/gfs2/ops_file.c
+++ b/fs/gfs2/ops_file.c
@@ -688,7 +688,7 @@ static int gfs2_open(struct inode *inode, struct file *file)
if (!fp)
return -ENOMEM;
- init_MUTEX(&fp->f_fl_mutex);
+ mutex_init(&fp->f_fl_mutex);
fp->f_inode = ip;
fp->f_vfile = file;
@@ -858,7 +858,7 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED;
flags = ((IS_SETLKW(cmd)) ? 0 : LM_FLAG_TRY) | GL_EXACT | GL_NOCACHE;
- down(&fp->f_fl_mutex);
+ mutex_lock(&fp->f_fl_mutex);
gl = fl_gh->gh_gl;
if (gl) {
@@ -890,7 +890,7 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
}
out:
- up(&fp->f_fl_mutex);
+ mutex_unlock(&fp->f_fl_mutex);
return error;
}
@@ -900,11 +900,11 @@ static void do_unflock(struct file *file, struct file_lock *fl)
struct gfs2_file *fp = get_v2fp(file);
struct gfs2_holder *fl_gh = &fp->f_fl_gh;
- down(&fp->f_fl_mutex);
+ mutex_lock(&fp->f_fl_mutex);
flock_lock_file_wait(file, fl);
if (fl_gh->gh_gl)
gfs2_glock_dq_uninit(fl_gh);
- up(&fp->f_fl_mutex);
+ mutex_unlock(&fp->f_fl_mutex);
}
/**