[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>
diff --git a/fs/gfs2/unlinked.c b/fs/gfs2/unlinked.c
index 405b91b..e92a3a1 100644
--- a/fs/gfs2/unlinked.c
+++ b/fs/gfs2/unlinked.c
@@ -46,12 +46,12 @@
 		goto out;
 	}
 
-	down(&sdp->sd_unlinked_mutex);
+	mutex_lock(&sdp->sd_unlinked_mutex);
 	gfs2_trans_add_bh(ip->i_gl, bh, 1);
 	gfs2_unlinked_tag_out(ut, bh->b_data +
 				  sizeof(struct gfs2_meta_header) +
 				  offset * sizeof(struct gfs2_unlinked_tag));
-	up(&sdp->sd_unlinked_mutex);
+	mutex_unlock(&sdp->sd_unlinked_mutex);
 
  out:
 	brelse(bh);