diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 0f0b1eadb98dd6dd5f74faa98d8b04012fd0a9f6..84be02e93652bd8e5548d8f07ad6e57c5947c817 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -925,7 +925,7 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode, set_buffer_new(bh_result); got_it: map_bh(bh_result, inode->i_sb, le32_to_cpu(chain[depth-1].key)); - if (blocks_to_boundary == 0) + if (count > blocks_to_boundary) set_buffer_boundary(bh_result); err = count; /* Clean up and exit */