{
        struct inode *inode = dreq->inode;
 
-       if (dreq->iocb && write) {
-               loff_t pos = dreq->iocb->ki_pos + dreq->count;
-
-               spin_lock(&inode->i_lock);
-               if (i_size_read(inode) < pos)
-                       i_size_write(inode, pos);
-               spin_unlock(&inode->i_lock);
-       }
-
        if (write)
                nfs_zap_mapping(inode, inode->i_mapping);
 
        if (!result) {
                result = nfs_direct_wait(dreq);
                if (result > 0) {
-                       struct inode *inode = mapping->host;
-
                        iocb->ki_pos = pos + result;
-                       spin_lock(&inode->i_lock);
-                       if (i_size_read(inode) < iocb->ki_pos)
-                               i_size_write(inode, iocb->ki_pos);
-                       spin_unlock(&inode->i_lock);
-
                        /* XXX: should check the generic_write_sync retval */
                        generic_write_sync(iocb, result);
                }