[Ocfs2-tools-devel] [PATCH 1/1] wireshark-ocfs2: print all 64bytes of LVB
Sunil Mushran
sunil.mushran at oracle.com
Mon Jun 8 13:15:13 PDT 2009
checked-in
Jeff Liu wrote:
> bytes_to_str_punct() truncates bytes string length to 48 for each field,
> we display raw bytes string in BASE_HEX, so print 24 bytes for each line to
> avoid being truncated.
>
> to print all 64bytes LVB, we have to split it into 3 lines, first 2 lines 24 bytes,
> then print the left 16 bytes in third line.
>
> Signed-off-by: Jeff Liu <jeff.liu at oracle.com>
> ---
> epan/dissectors/packet-ocfs2.c | 39 ++++++++++++++++++++++++++++++++++-----
> 1 files changed, 34 insertions(+), 5 deletions(-)
>
> diff --git a/epan/dissectors/packet-ocfs2.c b/epan/dissectors/packet-ocfs2.c
> index 96da122..903b349 100644
> --- a/epan/dissectors/packet-ocfs2.c
> +++ b/epan/dissectors/packet-ocfs2.c
> @@ -102,7 +102,9 @@ static int hf_dlm_namelen = -1;
> static int hf_dlm_name = -1;
> static int hf_dlm_cookie = -1;
> static int hf_dlm_requested_type = -1;
> -static int hf_dlm_lvb = -1;
> +static int hf_dlm_lvb1 = -1;
> +static int hf_dlm_lvb2 = -1;
> +static int hf_dlm_lvb3 = -1;
> static int hf_dlm_ast_type = -1;
> static int hf_dlm_blocked_type = -1;
> static int hf_dlm_dead_node = -1;
> @@ -777,6 +779,12 @@ struct dlm_finalize_reco
> guint32 pad2; // unused
> };
>
> +#define DLM_FIELD_BYTES_LEN 24
> +#define LVB_REMAIN_BYTES_LEN (DLM_LVB_LEN - (DLM_FIELD_BYTES_LEN << 1))
> +#define LVB1_OFFSET(x) offsetof(x, lvb[0])
> +#define LVB2_OFFSET(x) (LVB1_OFFSET(x) + DLM_FIELD_BYTES_LEN)
> +#define LVB3_OFFSET(x) (LVB1_OFFSET(x) + (DLM_FIELD_BYTES_LEN << 1))
> +
> static struct dlm_msg_struct_def dlm_struct_defs[] = {
> { "dlm_master_request", "DLM Master Request", DLM_MASTER_REQUEST_MSG, &ett_dlm_master_request, {
> { "node_idx", &hf_dlm_node_idx, FIELD_OFFSET_AND_SIZE(struct dlm_master_request,node_idx), dlm_node_idx_handler},
> @@ -807,7 +815,12 @@ static struct dlm_msg_struct_def dlm_struct_defs[] = {
> { "requested_type",&hf_dlm_requested_type, FIELD_OFFSET_AND_SIZE(struct dlm_convert_lock,requested_type),dlm_lockmode_handler},
> { "namelen", &hf_dlm_namelen, FIELD_OFFSET_AND_SIZE(struct dlm_convert_lock,namelen), dlm_namelen_handler},
> { "name", &hf_dlm_name, FIELD_OFFSET_AND_SIZE(struct dlm_convert_lock,name), dlm_name_handler},
> - { "lvb", &hf_dlm_lvb, offsetof(struct dlm_convert_lock,lvb[0]), DLM_LVB_LEN, dlm_lvb_handler},
> + { "lvb1", &hf_dlm_lvb1, LVB1_OFFSET(struct dlm_convert_lock),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler },
> + { "lvb2", &hf_dlm_lvb2, LVB2_OFFSET(struct dlm_convert_lock),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler },
> + { "lvb3", &hf_dlm_lvb3, LVB3_OFFSET(struct dlm_convert_lock),
> + LVB_REMAIN_BYTES_LEN, dlm_lvb_handler },
> { DLM_MSG_STRUCT_DEF_END } }
> },
> { "dlm_unlock_lock", "DLM Unlock Lock", DLM_UNLOCK_LOCK_MSG, &ett_dlm_unlock_lock, {
> @@ -816,7 +829,12 @@ static struct dlm_msg_struct_def dlm_struct_defs[] = {
> { "node_idx", &hf_dlm_node_idx, FIELD_OFFSET_AND_SIZE(struct dlm_unlock_lock,node_idx), dlm_node_idx_handler},
> { "namelen", &hf_dlm_namelen, FIELD_OFFSET_AND_SIZE(struct dlm_unlock_lock,namelen), dlm_namelen_handler},
> { "name", &hf_dlm_name, FIELD_OFFSET_AND_SIZE(struct dlm_unlock_lock,name), dlm_name_handler},
> - { "lvb", &hf_dlm_lvb, offsetof(struct dlm_unlock_lock,lvb[0]), DLM_LVB_LEN, dlm_lvb_handler},
> + { "lvb1", &hf_dlm_lvb1, LVB1_OFFSET(struct dlm_unlock_lock),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler},
> + { "lvb2", &hf_dlm_lvb2, LVB2_OFFSET(struct dlm_unlock_lock),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler},
> + { "lvb3", &hf_dlm_lvb3, LVB3_OFFSET(struct dlm_unlock_lock),
> + LVB_REMAIN_BYTES_LEN, dlm_lvb_handler},
> { DLM_MSG_STRUCT_DEF_END } }
> },
> { "dlm_proxy_ast", "DLM Proxy AST", DLM_PROXY_AST_MSG, &ett_dlm_proxy_ast, {
> @@ -827,7 +845,12 @@ static struct dlm_msg_struct_def dlm_struct_defs[] = {
> { "blocked_type",&hf_dlm_blocked_type, FIELD_OFFSET_AND_SIZE(struct dlm_proxy_ast,blocked_type), dlm_lockmode_handler},
> { "namelen", &hf_dlm_namelen, FIELD_OFFSET_AND_SIZE(struct dlm_proxy_ast,namelen), dlm_namelen_handler},
> { "name", &hf_dlm_name, FIELD_OFFSET_AND_SIZE(struct dlm_proxy_ast,name), dlm_name_handler},
> - { "lvb", &hf_dlm_lvb, offsetof(struct dlm_proxy_ast,lvb[0]), DLM_LVB_LEN, dlm_lvb_handler},
> + { "lvb1", &hf_dlm_lvb1, LVB1_OFFSET(struct dlm_proxy_ast),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler},
> + { "lvb2", &hf_dlm_lvb2, LVB2_OFFSET(struct dlm_proxy_ast),
> + DLM_FIELD_BYTES_LEN, dlm_lvb_handler},
> + { "lvb3", &hf_dlm_lvb3, LVB3_OFFSET(struct dlm_proxy_ast),
> + LVB_REMAIN_BYTES_LEN, dlm_lvb_handler},
> { DLM_MSG_STRUCT_DEF_END } }
> },
> { "dlm_lock_request", "DLM Lock Request (recovery)", DLM_LOCK_REQUEST_MSG, &ett_dlm_lock_request, {
> @@ -1206,7 +1229,13 @@ void proto_register_ocfs2(void)
> { &hf_dlm_dead_node, { "Dead Node", "ocfs2.dlm.dead_node",
> FT_UINT8, BASE_DEC, NULL, 0x0,
> "Dead node index", HFILL } },
> - { &hf_dlm_lvb, { "LVB", "ocfs2.dlm.lvb",
> + { &hf_dlm_lvb1, { "LVB1", "ocfs2.dlm.lvb",
> + FT_BYTES, BASE_HEX, NULL, 0x0,
> + "Lock value block", HFILL } },
> + { &hf_dlm_lvb2, { "LVB2", "ocfs2.dlm.lvb",
> + FT_BYTES, BASE_HEX, NULL, 0x0,
> + "Lock value block", HFILL } },
> + { &hf_dlm_lvb3, { "LVB3", "ocfs2.dlm.lvb",
> FT_BYTES, BASE_HEX, NULL, 0x0,
> "Lock value block", HFILL } },
> { &hf_dlm_domain_name_len, { "Domain Namelen", "ocfs2.dlm.domain_namelen",
>
More information about the Ocfs2-tools-devel
mailing list