GFS2: Move recovery variables to journal structure in memory
authorBob Peterson <rpeterso@redhat.com>
Thu, 6 Mar 2014 22:19:15 +0000 (17:19 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 7 Mar 2014 09:14:48 +0000 (09:14 +0000)
commita17d758b661d6fa01a0d466d7bdda3c131bb68f9
tree974c88f31959ab2f54483542c1b96e1fc257612b
parentfc554ed3d89d220b9d0c020e19aa52fb6bf1d673
GFS2: Move recovery variables to journal structure in memory

If multiple nodes fail and their recovery work runs simultaneously, they
would use the same unprotected variables in the superblock. For example,
they would stomp on each other's revoked blocks lists, which resulted
in file system metadata corruption. This patch moves the necessary
variables so that each journal has its own separate area for tracking
its journal replay.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/incore.h
fs/gfs2/lops.c
fs/gfs2/ops_fstype.c
fs/gfs2/recovery.c
fs/gfs2/recovery.h