From 35385d7a83b4cae6d5ea5f80f3b3377d94178344 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Sun, 9 Jul 2000 23:29:35 +0000 Subject: Merge with 2.4.0-test3-pre7. --- fs/qnx4/inode.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'fs/qnx4/inode.c') diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 0785ee368..4e6dce60b 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c @@ -23,6 +23,7 @@ #include #include #include +#include #include @@ -62,9 +63,11 @@ int qnx4_sync_inode(struct inode *inode) static void qnx4_delete_inode(struct inode *inode) { QNX4DEBUG(("qnx4: deleting inode [%lu]\n", (unsigned long) inode->i_ino)); + lock_kernel(); inode->i_size = 0; qnx4_truncate(inode); qnx4_free_inode(inode); + unlock_kernel(); } static void qnx4_write_super(struct super_block *sb) @@ -91,9 +94,11 @@ static void qnx4_write_inode(struct inode *inode, int unused) } QNX4DEBUG(("qnx4: write inode 2.\n")); block = ino / QNX4_INODES_PER_BLOCK; + lock_kernel(); if (!(bh = bread(inode->i_dev, block, QNX4_BLOCK_SIZE))) { printk("qnx4: major problem: unable to read inode from dev " "%s\n", kdevname(inode->i_dev)); + unlock_kernel(); return; } raw_inode = ((struct qnx4_inode_entry *) bh->b_data) + @@ -109,6 +114,7 @@ static void qnx4_write_inode(struct inode *inode, int unused) raw_inode->di_first_xtnt.xtnt_size = cpu_to_le32(inode->i_blocks); mark_buffer_dirty(bh, 1); brelse(bh); + unlock_kernel(); } #endif -- cgit v1.2.3