diff options
Diffstat (limited to 'fs/hfs/inode.c')
-rw-r--r-- | fs/hfs/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index 371538b9d..56d1547e7 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -20,6 +20,7 @@ #include <linux/hfs_fs_sb.h> #include <linux/hfs_fs_i.h> #include <linux/hfs_fs.h> +#include <linux/smp_lock.h> /*================ Variable-like macros ================*/ @@ -79,6 +80,7 @@ void hfs_put_inode(struct inode * inode) { struct hfs_cat_entry *entry = HFS_I(inode)->entry; + lock_kernel(); hfs_cat_put(entry); if (atomic_read(&inode->i_count) == 1) { struct hfs_hdr_layout *tmp = HFS_I(inode)->layout; @@ -88,6 +90,7 @@ void hfs_put_inode(struct inode * inode) HFS_DELETE(tmp); } } + unlock_kernel(); } /* |