···1268 if (!page_has_buffers(page))1269 create_empty_buffers(page, 1 << inode->i_blkbits, 0);1270000000001271 /*1272 * Convert delayed allocate, unwritten or unmapped space1273 * to real space and flush out to disk.
···1268 if (!page_has_buffers(page))1269 create_empty_buffers(page, 1 << inode->i_blkbits, 0);12701271+1272+ /*1273+ * VM calculation for nr_to_write seems off. Bump it way1274+ * up, this gets simple streaming writes zippy again.1275+ * To be reviewed again after Jens' writeback changes.1276+ */1277+ wbc->nr_to_write *= 4;1278+1279 /*1280 * Convert delayed allocate, unwritten or unmapped space1281 * to real space and flush out to disk.
+2-2
fs/xfs/linux-2.6/xfs_iops.c
···680 else681 bm.bmv_length = BTOBB(length);682683- /* our formatter will tell xfs_getbmap when to stop. */684- bm.bmv_count = MAXEXTNUM;685 bm.bmv_iflags = BMV_IF_PREALLOC;686 if (fieinfo->fi_flags & FIEMAP_FLAG_XATTR)687 bm.bmv_iflags |= BMV_IF_ATTRFORK;
···680 else681 bm.bmv_length = BTOBB(length);682683+ /* We add one because in getbmap world count includes the header */684+ bm.bmv_count = fieinfo->fi_extents_max + 1;685 bm.bmv_iflags = BMV_IF_PREALLOC;686 if (fieinfo->fi_flags & FIEMAP_FLAG_XATTR)687 bm.bmv_iflags |= BMV_IF_ATTRFORK;