lkml.org 
[lkml]   [2008]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch 1/2] HFS: Convert bitmap_lock in a mutex
Apple Macintosh file system: The semaphore bitmap_lock is used as a mutex. 
Convert it to the mutex API

Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>

--

Index: linux-2.6/fs/hfs/bitmap.c
===================================================================
--- linux-2.6.orig/fs/hfs/bitmap.c 2008-05-11 20:10:11.000000000 +0200
+++ linux-2.6/fs/hfs/bitmap.c 2008-05-11 20:10:18.000000000 +0200
@@ -145,7 +145,7 @@
if (!*num_bits)
return 0;

- down(&HFS_SB(sb)->bitmap_lock);
+ mutex_lock(&HFS_SB(sb)->bitmap_lock);
bitmap = HFS_SB(sb)->bitmap;

pos = hfs_find_set_zero_bits(bitmap, HFS_SB(sb)->fs_ablocks, goal, num_bits);
@@ -162,7 +162,7 @@
HFS_SB(sb)->free_ablocks -= *num_bits;
hfs_bitmap_dirty(sb);
out:
- up(&HFS_SB(sb)->bitmap_lock);
+ mutex_unlock(&HFS_SB(sb)->bitmap_lock);
return pos;
}

@@ -205,7 +205,7 @@
if ((start + count) > HFS_SB(sb)->fs_ablocks)
return -2;

- down(&HFS_SB(sb)->bitmap_lock);
+ mutex_lock(&HFS_SB(sb)->bitmap_lock);
/* bitmap is always on a 32-bit boundary */
curr = HFS_SB(sb)->bitmap + (start / 32);
len = count;
@@ -236,7 +236,7 @@
}
out:
HFS_SB(sb)->free_ablocks += len;
- up(&HFS_SB(sb)->bitmap_lock);
+ mutex_unlock(&HFS_SB(sb)->bitmap_lock);
hfs_bitmap_dirty(sb);

return 0;
Index: linux-2.6/fs/hfs/hfs_fs.h
===================================================================
--- linux-2.6.orig/fs/hfs/hfs_fs.h 2008-05-11 20:10:11.000000000 +0200
+++ linux-2.6/fs/hfs/hfs_fs.h 2008-05-11 20:14:08.000000000 +0200
@@ -11,6 +11,7 @@

#include <linux/slab.h>
#include <linux/types.h>
+#include <linux/mutex.h>
#include <linux/buffer_head.h>
#include <linux/fs.h>

@@ -139,7 +140,7 @@

struct nls_table *nls_io, *nls_disk;

- struct semaphore bitmap_lock;
+ struct mutex bitmap_lock;

unsigned long flags;

Index: linux-2.6/fs/hfs/super.c
===================================================================
--- linux-2.6.orig/fs/hfs/super.c 2008-05-11 20:10:11.000000000 +0200
+++ linux-2.6/fs/hfs/super.c 2008-05-11 20:10:18.000000000 +0200
@@ -372,7 +372,7 @@

sb->s_op = &hfs_super_operations;
sb->s_flags |= MS_NODIRATIME;
- init_MUTEX(&sbi->bitmap_lock);
+ mutex_init(&sbi->bitmap_lock);

res = hfs_mdb_get(sb);
if (res) {
--
Matthias Kaehlcke
Embedded Linux Engineer
Barcelona

La posibilidad de realizar un suenyo es lo
que hace que la vida sea interesante
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-

\
 
 \ /
  Last update: 2008-05-11 20:17    [W:0.049 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site