[Cluster-devel] [GFS2 PATCH] GFS2: Log the reason for log flushes in every log header

Andrew Price anprice at redhat.com
Mon Dec 11 11:53:10 UTC 2017


On 08/12/17 15:30, Bob Peterson wrote:
> Hi,
> 
> This is a version 2 replacement for this patch, with some improvements.
> ---
> This patch just adds the capability for GFS2 to track which function
> called gfs2_log_flush. This should make it easier to diagnose
> problems based on the sequence of events found in the journals.
> 
> Signed-off-by: Bob Peterson <rpeterso at redhat.com>
<snip>
> --- a/include/uapi/linux/gfs2_ondisk.h
> +++ b/include/uapi/linux/gfs2_ondisk.h
> @@ -406,6 +406,42 @@ struct gfs2_log_header {
>   	__be32 lh_hash;
>   };
>   
> +/*
> + * Log Header version 2 constants - actor who wrote a log header
> + */
> +
> +enum gfs2_log_flushers {
> +	/* Constants reserved for kernel space */
> +	LHF_SHUTDOWN		= 0,

Should 0 be used for "unknown"?

> +	LHF_JDATA_WPAGES	= 1,
> +	LHF_SET_FLAGS		= 2,
> +	LHF_AIL_EMPTY_GL	= 3,
> +	LHF_AIL_FLUSH		= 4,
> +	LHF_RGRP_GO_SYNC	= 5,
> +	LHF_INODE_GO_SYNC	= 6,
> +	LHF_INODE_GO_INVAL	= 7,
> +	LHF_FREEZE_GO_SYNC	= 8,
> +	LHF_KILL_SB		= 9,
> +	LHF_DO_SYNC		= 10,
> +	LHF_INPLACE_RESERVE	= 11,
> +	LHF_WRITE_INODE		= 12,
> +	LHF_MAKE_FS_RO		= 13,
> +	LHF_SYNC_FS		= 14,
> +	LHF_EVICT_INODE		= 15,
> +	LHF_TRANS_END		= 16,
> +	LHF_LOGD_JFLUSH_REQD	= 17,
> +	LHF_LOGD_AIL_FLUSH_REQD	= 18,
> +	LHF_LOG_FLUSHERS	= 19, /* number of kernel log flushers */
> +
> +	/* Constants reserved for user space / gfs2-utils */
> +	LHF_GFS2_CONVERT       	= 26,
> +	LHF_GFS2_EDIT		= 27,
> +	LHF_GFS2_FSCK		= 28,
> +	LHF_GFS2_FSCK_JREPLAY	= 29,
> +	LHF_GFS2_MKFS		= 30,
> +	LHF_GFS2_JADD		= 31

Would it be better to have values for the purposes that the utils would 
need to touch the log header, e.g. LHF_UTIL_REPLAY, LHF_UTIL_FIX or 
LHF_UTIL_CREATE. That way, if a util is renamed or a new util is written 
(even some third party tool that we don't know about) they would still 
have a sensible value to use.

Cheers,
Andy




More information about the Cluster-devel mailing list