patch-2.3.45 linux/kernel/fork.c

Next file: linux/kernel/ksyms.c
Previous file: linux/include/linux/netdevice.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.44/linux/kernel/fork.c linux/kernel/fork.c
@@ -252,18 +252,19 @@
 		tmp->vm_next = NULL;
 		file = tmp->vm_file;
 		if (file) {
+			struct inode *inode = file->f_dentry->d_inode;
 			get_file(file);
 			if (tmp->vm_flags & VM_DENYWRITE)
-				atomic_dec(&file->f_dentry->d_inode->i_writecount);
+				atomic_dec(&inode->i_writecount);
       
 			/* insert tmp into the share list, just after mpnt */
-			spin_lock(&file->f_dentry->d_inode->i_shared_lock);
+			spin_lock(&inode->i_mapping->i_shared_lock);
 			if((tmp->vm_next_share = mpnt->vm_next_share) != NULL)
 				mpnt->vm_next_share->vm_pprev_share =
 					&tmp->vm_next_share;
 			mpnt->vm_next_share = tmp;
 			tmp->vm_pprev_share = &mpnt->vm_next_share;
-			spin_unlock(&file->f_dentry->d_inode->i_shared_lock);
+			spin_unlock(&inode->i_mapping->i_shared_lock);
 		}
 
 		/* Copy the pages, but defer checking for errors */

FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen (who was at: [email protected])