summaryrefslogtreecommitdiffstats
path: root/fs/ext2
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-24 00:12:35 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-24 00:12:35 +0000
commit482368b1a8e45430672c58c9a42e7d2004367126 (patch)
treece2a1a567d4d62dee7c2e71a46a99cf72cf1d606 /fs/ext2
parente4d0251c6f56ab2e191afb70f80f382793e23f74 (diff)
Merge with 2.3.47. Guys, this is buggy as shit. You've been warned.
Diffstat (limited to 'fs/ext2')
-rw-r--r--fs/ext2/inode.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
index ab7ac0a96..a520ab40f 100644
--- a/fs/ext2/inode.c
+++ b/fs/ext2/inode.c
@@ -35,7 +35,9 @@ static int ext2_update_inode(struct inode * inode, int do_sync);
*/
void ext2_put_inode (struct inode * inode)
{
+ lock_kernel();
ext2_discard_prealloc (inode);
+ unlock_kernel();
}
/*
@@ -43,6 +45,8 @@ void ext2_put_inode (struct inode * inode)
*/
void ext2_delete_inode (struct inode * inode)
{
+ lock_kernel();
+
if (is_bad_inode(inode) ||
inode->i_ino == EXT2_ACL_IDX_INO ||
inode->i_ino == EXT2_ACL_DATA_INO)
@@ -54,6 +58,8 @@ void ext2_delete_inode (struct inode * inode)
if (inode->i_blocks)
ext2_truncate (inode);
ext2_free_inode (inode);
+
+ unlock_kernel();
}
#define inode_bmap(inode, nr) (le32_to_cpu((inode)->u.ext2_i.i_data[(nr)]))
@@ -893,7 +899,9 @@ static int ext2_update_inode(struct inode * inode, int do_sync)
void ext2_write_inode (struct inode * inode)
{
+ lock_kernel();
ext2_update_inode (inode, 0);
+ unlock_kernel();
}
int ext2_sync_inode (struct inode *inode)