Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 361583
b: refs/heads/master
c: ff95ec2
h: refs/heads/master
i:
  361581: aeb45b1
  361579: c9169ba
  361575: 3d49f2d
  361567: d309508
v: v3
  • Loading branch information
Dmitry Monakhov authored and Theodore Ts'o committed Mar 4, 2013
1 parent cbff560 commit 2bd4fcb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ec22ba8edb507395c95fbc617eea26a6b2d98797
refs/heads/master: ff95ec22cd7faa0d8b58dcc4207f21502df7b00b
13 changes: 12 additions & 1 deletion trunk/fs/ext4/extents.c
Original file line number Diff line number Diff line change
Expand Up @@ -3387,8 +3387,19 @@ static int ext4_convert_unwritten_extents_endio(handle_t *handle,
"block %llu, max_blocks %u\n", inode->i_ino,
(unsigned long long)ee_block, ee_len);

/* If extent is larger than requested then split is required */
/* If extent is larger than requested it is a clear sign that we still
* have some extent state machine issues left. So extent_split is still
* required.
* TODO: Once all related issues will be fixed this situation should be
* illegal.
*/
if (ee_block != map->m_lblk || ee_len > map->m_len) {
#ifdef EXT4_DEBUG
ext4_warning("Inode (%ld) finished: extent logical block %llu,"
" len %u; IO logical block %llu, len %u\n",
inode->i_ino, (unsigned long long)ee_block, ee_len,
(unsigned long long)map->m_lblk, map->m_len);
#endif
err = ext4_split_unwritten_extents(handle, inode, map, path,
EXT4_GET_BLOCKS_CONVERT);
if (err < 0)
Expand Down

0 comments on commit 2bd4fcb

Please sign in to comment.