diff options
author | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 17:32:46 +0200 |
---|---|---|
committer | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 17:32:46 +0200 |
commit | 28e0fa894cd5996d3007ce82f07226f79beb7286 (patch) | |
tree | cb6d92f311c70c106d9623505b4a038d7a827319 /fs | |
parent | jfs: old_agsize should be 64 bits in jfs_extendfs (diff) | |
download | linux-28e0fa894cd5996d3007ce82f07226f79beb7286.tar.xz linux-28e0fa894cd5996d3007ce82f07226f79beb7286.zip |
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) continue; } - /* agstart that computes to the same ag is treated as same; */ agstart = le64_to_cpu(iagp->agstart); - /* iagp->agstart = agstart & ~(mp->db_agsize - 1); */ n = agstart >> mp->db_agl2size; + iagp->agstart = cpu_to_le64((s64)n << mp->db_agl2size); /* compute backed inodes */ numinos = (EXTSPERIAG - le32_to_cpu(iagp->nfreeexts)) |