diff options
author | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 11:32:46 -0400 |
---|---|---|
committer | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 11:32:46 -0400 |
commit | 28e0fa894cd5996d3007ce82f07226f79beb7286 (patch) | |
tree | cb6d92f311c70c106d9623505b4a038d7a827319 /fs | |
parent | 206b6310fd0268a6ca50cf36f03b0f4eee5602ec (diff) |
jfs: Update agstart when resizing volume
A comment indicates that the IAG's agstart does not need to be updated
since it will always point to a block in the same aggregate group, but
jfs_fsck isn't so forgiving and reports it as an error.
I'm fixing this in jfsutils as well, so either a new kernel or new
utilities will be sufficient to fix the problem.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/jfs/jfs_imap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index ed53a4740168..0533e8f3d19e 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c | |||
@@ -2921,10 +2921,9 @@ int diExtendFS(struct inode *ipimap, struct inode *ipbmap) | |||
2921 | continue; | 2921 | continue; |
2922 | } | 2922 | } |
2923 | 2923 | ||
2924 | /* agstart that computes to the same ag is treated as same; */ | ||
2925 | agstart = le64_to_cpu(iagp->agstart); | 2924 | agstart = le64_to_cpu(iagp->agstart); |
2926 | /* iagp->agstart = agstart & ~(mp->db_agsize - 1); */ | ||
2927 | n = agstart >> mp->db_agl2size; | 2925 | n = agstart >> mp->db_agl2size; |
2926 | iagp->agstart = cpu_to_le64((s64)n << mp->db_agl2size); | ||
2928 | 2927 | ||
2929 | /* compute backed inodes */ | 2928 | /* compute backed inodes */ |
2930 | numinos = (EXTSPERIAG - le32_to_cpu(iagp->nfreeexts)) | 2929 | numinos = (EXTSPERIAG - le32_to_cpu(iagp->nfreeexts)) |