OSDN Git Service

GFS2: Reduce code redundancy writing log headers
authorBob Peterson <rpeterso@redhat.com>
Mon, 18 Dec 2017 18:48:29 +0000 (12:48 -0600)
committerBob Peterson <rpeterso@redhat.com>
Fri, 22 Dec 2017 13:51:29 +0000 (07:51 -0600)
commit588bff95c94efc05f9e1a0b19015c9408ed7c0ef
tree2c85e871e881f39874265f91653328694c1e2d35
parent850d2d915fa69011bef9bd668499cce889fdd8b3
GFS2: Reduce code redundancy writing log headers

Before this patch, there was a lot of code redundancy between functions
log_write_header (which uses bio) and clean_journal (which uses
buffer_head). This patch reduces the redundancy to simplify the code
and make log header writing more consistent. We want more consistency
and reduced redundancy because we plan to add a bunch of new fields
to improve performance (by eliminating the local statfs and quota files)
improve metadata integrity (by adding new crcs and such) and for better
debugging (by adding new fields to track when and where metadata was
pushed through the journals.) We don't want to duplicate setting these
new fields, nor allow for human error in the process.

This reduction in code redundancy is accomplished by introducing a new
helper function, gfs2_write_log_header which uses bio rather than bh.
That simplifies recovery function clean_journal() to use the new helper
function and iomap rather than redundancy and block_map (and eventually
we can maybe remove block_map). It also reduces our dependency on
buffer_heads.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
fs/gfs2/log.c
fs/gfs2/log.h
fs/gfs2/recovery.c