patch-2.3.47 linux/fs/smbfs/inode.c

Next file: linux/fs/super.c
Previous file: linux/fs/proc/inode.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.46/linux/fs/smbfs/inode.c linux/fs/smbfs/inode.c
@@ -483,16 +483,7 @@
 					 attr->ia_size);
 		if (error)
 			goto out;
-		/*
-		 * We don't implement an i_op->truncate operation,
-		 * so we have to update the page cache here.
-		 */
-		if (attr->ia_size < inode->i_size)
-		{
-			/* must die */
-			truncate_inode_pages(inode->i_mapping, attr->ia_size);
-			inode->i_size = attr->ia_size;
-		}
+		vmtruncate(inode, attr->ia_size);
 		refresh = 1;
 	}
 
@@ -563,8 +554,6 @@
 out:
 	if (refresh)
 		smb_refresh_inode(dentry);
-	if (!error && (attr->ia_valid & ATTR_SIZE))
-		vmtruncate(inode, attr->ia_size);
 	return error;
 }
 

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