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 | |
| 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>
| -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)) |
