summaryrefslogtreecommitdiff
path: root/fs/jfs/resize.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-21 12:30:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-21 12:30:07 -0700
commit9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0 (patch)
tree1270f24f89f10d832e879dd1352ef0209dd3aebe /fs/jfs/resize.c
parenta486b0af797e19ff79c6943cc8986111f2569fe8 (diff)
parentc7f2e1f0ac142a657a1de00d404e1c8345b20598 (diff)
downloadlwn-9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0.tar.gz
lwn-9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: add jfs specific ->setattr call jfs: fix diAllocExt error in resizing filesystem jfs_dmap.[ch]: trivial typo fix: s/heigth/height/g
Diffstat (limited to 'fs/jfs/resize.c')
-rw-r--r--fs/jfs/resize.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/jfs/resize.c b/fs/jfs/resize.c
index 7f24a0bb08ca..1aba0039f1c9 100644
--- a/fs/jfs/resize.c
+++ b/fs/jfs/resize.c
@@ -81,6 +81,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
struct inode *iplist[1];
struct jfs_superblock *j_sb, *j_sb2;
uint old_agsize;
+ int agsizechanged = 0;
struct buffer_head *bh, *bh2;
/* If the volume hasn't grown, get out now */
@@ -333,6 +334,9 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
*/
if ((rc = dbExtendFS(ipbmap, XAddress, nblocks)))
goto error_out;
+
+ agsizechanged |= (bmp->db_agsize != old_agsize);
+
/*
* the map now has extended to cover additional nblocks:
* dn_mapsize = oldMapsize + nblocks;
@@ -432,7 +436,7 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
* will correctly identify the new ag);
*/
/* if new AG size the same as old AG size, done! */
- if (bmp->db_agsize != old_agsize) {
+ if (agsizechanged) {
if ((rc = diExtendFS(ipimap, ipbmap)))
goto error_out;