diff options
author | Abhi Das <adas@redhat.com> | 2020-10-20 15:58:05 -0500 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2020-10-23 15:47:38 +0200 |
commit | bedb0f056faa94e953e7b3da5a77d25e0008364b (patch) | |
tree | 7a5d7967818d59a20d10fbd9371261a8fde088c5 /fs/gfs2/lops.h | |
parent | 97fd734ba17e32463742c569137f54f713c27fe0 (diff) | |
download | linux-bedb0f056faa94e953e7b3da5a77d25e0008364b.tar.gz linux-bedb0f056faa94e953e7b3da5a77d25e0008364b.tar.bz2 linux-bedb0f056faa94e953e7b3da5a77d25e0008364b.zip |
gfs2: Recover statfs info in journal head
Apply the outstanding statfs changes in the journal head to the
master statfs file. Zero out the local statfs file for good measure.
Previously, statfs updates would be read in from the local statfs inode and
synced to the master statfs inode during recovery.
We now use the statfs updates in the journal head to update the master statfs
inode instead of reading in from the local statfs inode. To preserve backward
compatibility with kernels that can't do this, we still need to keep the
local statfs inode up to date by writing changes to it. At some point in the
future, we can do away with the local statfs inodes altogether and keep the
statfs changes solely in the journal.
Signed-off-by: Abhi Das <adas@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/lops.h')
-rw-r--r-- | fs/gfs2/lops.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h index 9c5e4e491e03..4a3d8aecdf82 100644 --- a/fs/gfs2/lops.h +++ b/fs/gfs2/lops.h @@ -27,6 +27,7 @@ extern void gfs2_log_submit_bio(struct bio **biop, int opf); extern void gfs2_pin(struct gfs2_sbd *sdp, struct buffer_head *bh); extern int gfs2_find_jhead(struct gfs2_jdesc *jd, struct gfs2_log_header_host *head, bool keep_cache); +extern void gfs2_meta_sync(struct gfs2_glock *gl); static inline unsigned int buf_limit(struct gfs2_sbd *sdp) { |