|
@@ -2163,7 +2163,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
|
|
|
|
|
|
mpd->io_submit.io_end->offset =
|
|
mpd->io_submit.io_end->offset =
|
|
((loff_t)map->m_lblk) << inode->i_blkbits;
|
|
((loff_t)map->m_lblk) << inode->i_blkbits;
|
|
- while (map->m_len) {
|
|
|
|
|
|
+ do {
|
|
err = mpage_map_one_extent(handle, mpd);
|
|
err = mpage_map_one_extent(handle, mpd);
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
struct super_block *sb = inode->i_sb;
|
|
struct super_block *sb = inode->i_sb;
|
|
@@ -2201,7 +2201,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
|
|
err = mpage_map_and_submit_buffers(mpd);
|
|
err = mpage_map_and_submit_buffers(mpd);
|
|
if (err < 0)
|
|
if (err < 0)
|
|
return err;
|
|
return err;
|
|
- }
|
|
|
|
|
|
+ } while (map->m_len);
|
|
|
|
|
|
/* Update on-disk size after IO is submitted */
|
|
/* Update on-disk size after IO is submitted */
|
|
disksize = ((loff_t)mpd->first_page) << PAGE_CACHE_SHIFT;
|
|
disksize = ((loff_t)mpd->first_page) << PAGE_CACHE_SHIFT;
|