+ copied = block_write_end(file, mapping, pos, len, copied, page, fsdata);
+ update_file_sizes(inode, pos, copied);
+ /*
+ * There may be allocated blocks outside of i_size because
+ * we failed to copy some data. Prepare for truncate.
+ */
+ if (pos + len > inode->i_size && ext3_can_truncate(inode))
+ ext3_orphan_add(handle, inode);
+ ret = ext3_journal_stop(handle);