diff options
author | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 10:53:46 -0500 |
---|---|---|
committer | Dave Kleikamp <dave.kleikamp@oracle.com> | 2011-06-20 10:53:46 -0500 |
commit | d31b53e3cd069e02290ed8a648aa8c7618d6fe77 (patch) | |
tree | 529f1fab64d7b525e1a77510f3c9b02d24597c65 /fs/jfs/jfs_incore.h | |
parent | 28e0fa894cd5996d3007ce82f07226f79beb7286 (diff) | |
download | linux-3.10-d31b53e3cd069e02290ed8a648aa8c7618d6fe77.tar.gz linux-3.10-d31b53e3cd069e02290ed8a648aa8c7618d6fe77.tar.bz2 linux-3.10-d31b53e3cd069e02290ed8a648aa8c7618d6fe77.zip |
JFS: Don't save agno in the inode
Resizing the file system can result in an in-memory inode being remapped
to a different aggregate group (AG). A cached AG number can cause
problems when trying to free or allocate inodes. Instead, save the IAG's
agstart address and calculate the agno when we need it.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Diffstat (limited to 'fs/jfs/jfs_incore.h')
-rw-r--r-- | fs/jfs/jfs_incore.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index 1439f119ec8..5097839b770 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h @@ -50,8 +50,9 @@ struct jfs_inode_info { short btindex; /* btpage entry index*/ struct inode *ipimap; /* inode map */ unsigned long cflag; /* commit flags */ + long agstart; /* agstart of the containing IAG */ u16 bxflag; /* xflag of pseudo buffer? */ - unchar agno; /* ag number */ + unchar pad; signed char active_ag; /* ag currently allocating from */ lid_t blid; /* lid of pseudo buffer? */ lid_t atlhead; /* anonymous tlock list head */ |