patch-2.4.0-test3 linux/fs/sysv/inode.c

Next file: linux/fs/tunnel.c
Previous file: linux/fs/sysv/ialloc.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test2/linux/fs/sysv/inode.c linux/fs/sysv/inode.c
@@ -61,9 +61,11 @@
 
 static void sysv_delete_inode(struct inode *inode)
 {
+	lock_kernel();
 	inode->i_size = 0;
 	sysv_truncate(inode);
 	sysv_free_inode(inode);
+	unlock_kernel();
 }
 
 static void sysv_put_super(struct super_block *);
@@ -496,7 +498,6 @@
 	sb->s_blocksize = sb->sv_block_size;
 	sb->s_blocksize_bits = sb->sv_block_size_bits;
 	/* set up enough so that it can read an inode */
-	sb->s_dev = dev;
 	sb->s_op = &sysv_sops;
 	root_inode = iget(sb,SYSV_ROOT_INO);
 	sb->s_root = d_alloc_root(root_inode);
@@ -1154,11 +1155,13 @@
 	return bh;
 }
 
-void sysv_write_inode(struct inode * inode)
+void sysv_write_inode(struct inode * inode, int wait)
 {
 	struct buffer_head *bh;
+	lock_kernel();
 	bh = sysv_update_inode(inode);
 	brelse(bh);
+	unlock_kernel();
 }
 
 int sysv_sync_inode(struct inode * inode)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)