diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 12:17:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 12:17:37 -0700 |
commit | f5266cbd2fca04dbd0387a67f550b6667ffa4ed2 (patch) | |
tree | ee3c3a8d92fc1745d63baa6e069959694a11dbe4 /fs/xfs | |
parent | a5bc92cdf2ab27a15732976004b3755c40740f57 (diff) | |
parent | c8a4051c3731b6db224482218cfd535ab9393ff8 (diff) | |
download | linux-stable-f5266cbd2fca04dbd0387a67f550b6667ffa4ed2.tar.gz linux-stable-f5266cbd2fca04dbd0387a67f550b6667ffa4ed2.tar.bz2 linux-stable-f5266cbd2fca04dbd0387a67f550b6667ffa4ed2.zip |
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: bump up nr_to_write in xfs_vm_writepage
xfs: reduce bmv_count in xfs_vn_fiemap
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 8 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index 7ec89fc05b2b..aecf2519db76 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -1268,6 +1268,14 @@ xfs_vm_writepage( if (!page_has_buffers(page)) create_empty_buffers(page, 1 << inode->i_blkbits, 0); + + /* + * VM calculation for nr_to_write seems off. Bump it way + * up, this gets simple streaming writes zippy again. + * To be reviewed again after Jens' writeback changes. + */ + wbc->nr_to_write *= 4; + /* * Convert delayed allocate, unwritten or unmapped space * to real space and flush out to disk. diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 58973bb46038..8070b34cc287 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c @@ -680,8 +680,8 @@ xfs_vn_fiemap( else bm.bmv_length = BTOBB(length); - /* our formatter will tell xfs_getbmap when to stop. */ - bm.bmv_count = MAXEXTNUM; + /* We add one because in getbmap world count includes the header */ + bm.bmv_count = fieinfo->fi_extents_max + 1; bm.bmv_iflags = BMV_IF_PREALLOC; if (fieinfo->fi_flags & FIEMAP_FLAG_XATTR) bm.bmv_iflags |= BMV_IF_ATTRFORK; |