2 * Lustre 1.6 dissection (http://www.lustre.org/)
3 * Author: Laurent George <george@ocre.cea.fr>
4 * based on packet-agentx.c and packet-afs.c
5 * partially generated by Pidl
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1999 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 #include <epan/packet.h>
35 #include <epan/dissectors/packet-windows-common.h>
36 #include <plugins/lnet/packet-lnet.h>
39 /* --------------------------------------------------------------------------------------- */
40 /* def and macro to know where we are the the lustre payload */
41 #define LUSTRE_MAGIC_OFFSET 8
42 #define LUSTRE_MSG_MAGIC_V1 0x0BD00BD0
43 #define LUSTRE_MSG_MAGIC_V2 0x0BD00BD3
45 #define LUSTRE_BUFCOUNT_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 0 : 60)
46 #define LUSTRE_BUFCOUNT ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) \
47 ? (tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)) : ((tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF))) )
48 /* remark : BUFLENOFF don't have the same meaning if it's for v1 or v2
49 * v1 : LUSTRE_BUFLEN_OFF = offset buflen[0] - 4 bytes.
50 * v2 : LUSTRE_BUFLEN_OFF = offset buflen[0]
52 #define LUSTRE_BUFLEN_OFF ((tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET)== LUSTRE_MSG_MAGIC_V2) ? 32 : 60)
54 #define LUSTRE_REQ_REC_OFF 1 /* normal request record offset */
55 #define LUSTRE_REPLY_REC_OFF 1 /* normal reply record offset */
57 #define LUSTRE_DLM_INTENT_IT_OFF 2 /* intent lock it offset */
58 #define LUSTRE_DLM_INTENT_REC_OFF 3 /* intent lock record offset */
59 #define LUSTRE_DLM_LOCKREPLY_OFF 1 /* lockrep offset */
60 #define LUSTRE_DLM_REPLY_REC_OFF 2 /* reply record offset */
61 /* --------------------------------------------------------------------------------------- */
64 #define LUSTRE_PTLRPC_MSG_VERSION 0x00000003
65 #define LUSTRE_VERSION_MASK 0xffff0000
66 #define LUSTRE_OBD_VERSION 0x00010000
67 #define LUSTRE_MDS_VERSION 0x00020000
68 #define LUSTRE_OST_VERSION 0x00030000
69 #define LUSTRE_DLM_VERSION 0x00040000
70 #define LUSTRE_LOG_VERSION 0x00050000
71 #define LUSTRE_MGS_VERSION 0x00060000
75 #define LOV_MAGIC_V1 0x0BD10BD0
76 #define LOV_MAGIC LOV_MAGIC_V1
77 #define LOV_MAGIC_JOIN_V1 0x0BD20BD0
80 OST_REPLY = 0, /* reply ? */
94 /* OST_SAN_READ = 14, deprecated */
95 /* OST_SAN_WRITE = 15, deprecated */
100 OST_QUOTA_ADJUST_QUNIT = 20,
111 #define OBD_FIRST_OPC OBD_PING
115 MDS_GETATTR_NAME = 34,
126 MDS_DONE_WRITING = 45,
138 #define IT_OPEN 0x0001
139 #define IT_CREAT 0x0002
140 #define IT_READDIR 0x0004
141 #define IT_GETATTR 0x0008
142 #define IT_LOOKUP 0x0010
143 #define IT_UNLINK 0x0020
144 #define IT_GETXATTR 0x0040
145 #define IT_EXEC 0x0080
146 #define IT_PIN 0x0100
150 #define MDS_FIRST_OPC MDS_GETATTR
151 #define LDLM_FIRST_OPC LDLM_ENQUEUE
169 LDLM_BL_CALLBACK = 104,
170 LDLM_CP_CALLBACK = 105,
171 LDLM_GL_CALLBACK = 106,
174 #define LDLM_FIRST_OPC LDLM_ENQUEUE
176 #define LDLM_FL_LOCK_CHANGED 0x000001
177 #define LDLM_FL_BLOCK_GRANTED 0x000002
178 #define LDLM_FL_BLOCK_CONV 0x000004
179 #define LDLM_FL_BLOCK_WAIT 0x000008
180 #define LDLM_FL_CBPENDING 0x000010
181 #define LDLM_FL_AST_SENT 0x000020
182 #define LDLM_FL_WAIT_NOREPROC 0x000040
183 #define LDLM_FL_CANCEL 0x000080
184 #define LDLM_FL_REPLAY 0x000100
185 #define LDLM_FL_INTENT_ONLY 0x000200
186 #define LDLM_FL_LOCAL_ONLY 0x000400
187 #define LDLM_FL_FAILED 0x000800
188 #define LDLM_FL_HAS_INTENT 0x001000
189 #define LDLM_FL_CANCELING 0x002000
190 #define LDLM_FL_LOCAL 0x004000
191 #define LDLM_FL_WARN 0x008000
192 #define LDLM_FL_DISCARD_DATA 0x010000
193 #define LDLM_FL_NO_TIMEOUT 0x020000
194 #define LDLM_FL_BLOCK_NOWAIT 0x040000
195 #define LDLM_FL_TEST_LOCK 0x080000
196 #define LDLM_FL_LVB_READY 0x100000
197 #define LDLM_FL_KMS_IGNORE 0x200000
198 #define LDLM_FL_NO_LRU 0x400000
199 #define LDLM_FL_CANCEL_ON_BLOCK 0x800000
200 #define LDLM_FL_CP_REQD 0x1000000
201 #define LDLM_FL_CLEANED 0x2000000
202 #define LDLM_FL_ATOMIC_CB 0x4000000
203 #define LDLM_FL_BL_AST 0x10000000
204 #define LDLM_FL_BL_DONE 0x20000000
205 #define LDLM_FL_DENY_ON_CONTENTION 0x40000000
206 #define LDLM_AST_DISCARD_DATA 0x80000000
210 #define LDLM_ENQUEUE (101)
211 #define LDLM_CONVERT (102)
212 #define LDLM_CANCEL (103)
213 #define LDLM_BL_CALLBACK (104)
214 #define LDLM_CP_CALLBACK (105)
215 #define LDLM_GL_CALLBACK (106)
216 #define LCK_MINMODE (0)
223 #define LCK_GROUP (64)
224 #define LDLM_PLAIN (10)
225 #define LDLM_EXTENT (11)
226 #define LDLM_FLOCK (12)
227 #define LDLM_IBITS (13)
228 //#define MGS_CONNECT (250)
229 #define OBD_PING (400)
232 * Opcodes for mountconf (mgs and mgc)
237 MGS_EXCEPTION, /* node died, etc. */
238 MGS_TARGET_REG, /* whenever target starts up */
243 #define MGS_FIRST_OPC MGS_CONNECT
247 LLOG_ORIGIN_HANDLE_CREATE = 501,
248 LLOG_ORIGIN_HANDLE_NEXT_BLOCK = 502,
249 LLOG_ORIGIN_HANDLE_READ_HEADER = 503,
250 LLOG_ORIGIN_HANDLE_WRITE_REC = 504,
251 LLOG_ORIGIN_HANDLE_CLOSE = 505,
252 LLOG_ORIGIN_CONNECT = 506,
253 LLOG_CATINFO = 507, /* for lfs catinfo */
254 LLOG_ORIGIN_HANDLE_PREV_BLOCK = 508,
255 LLOG_ORIGIN_HANDLE_DESTROY = 509, /* for destroy llog object*/
259 #define LLOG_FIRST_OPC LLOG_ORIGIN_HANDLE_CREATE
260 /*flag for the LLOG*/
261 #define LLOG_OP_MAGIC 0x10600000
262 #define LLOG_OP_MASK 0xfff00000
265 LLOG_PAD_MAGIC = LLOG_OP_MAGIC | 0x00000,
266 OST_SZ_REC = LLOG_OP_MAGIC | 0x00f00,
267 OST_RAID1_REC = LLOG_OP_MAGIC | 0x01000,
268 MDS_UNLINK_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_UNLINK,
269 MDS_SETATTR_REC = LLOG_OP_MAGIC | 0x10000 | (MDS_REINT << 8) | REINT_SETATTR,
270 OBD_CFG_REC = LLOG_OP_MAGIC | 0x20000,
271 PTL_CFG_REC = LLOG_OP_MAGIC | 0x30000, /* obsolete */
272 LLOG_GEN_REC = LLOG_OP_MAGIC | 0x40000,
273 LLOG_JOIN_REC = LLOG_OP_MAGIC | 0x50000, /* obsolete */
274 LLOG_HDR_MAGIC = LLOG_OP_MAGIC | 0x45539,
275 LLOG_LOGID_MAGIC = LLOG_OP_MAGIC | 0x4553b,
279 /*defined in lustre/include/lustre/lustre_idl.h*/
280 #define LLOG_F_ZAP_WHEN_EMPTY 0x1
281 #define LLOG_F_IS_CAT 0x2
282 #define LLOG_F_IS_PLAIN 0x4
284 #define PTL_RPC_MSG_REQUEST 4711
285 #define PTL_RPC_MSG_ERR 4712
286 #define PTL_RPC_MSG_REPLY 4713
289 /* Ett declarations */
290 static gint ett_lustre_llog_log_llh_flags = -1 ;
291 static gint ett_lustre = -1;
292 static gint ett_lustre_lustre_handle_cookie = -1;
293 static gint ett_lustre_lustre_msg_v1 = -1;
294 static gint ett_lustre_lustre_handle_v1 = -1;
295 static gint ett_lustre_lustre_msg_v2 = -1;
296 static gint ett_lustre_ptlrpc_body = -1;
297 static gint ett_lustre_lustre_handle_v2 = -1;
298 static gint ett_lustre_obd_connect_data = -1;
299 static gint ett_lustre_lov_mds_md_v1 = -1;
300 static gint ett_lustre_lov_ost_data_v1 = -1;
301 static gint ett_lustre_obd_statfs = -1;
302 static gint ett_lustre_obd_ioobj = -1;
303 static gint ett_lustre_niobuf_remote = -1;
304 static gint ett_lustre_ost_lvb = -1;
305 static gint ett_lustre_ll_fid = -1;
306 static gint ett_lustre_mds_status_req = -1;
307 static gint ett_lustre_mds_body = -1;
308 static gint ett_lustre_obd_quotactl = -1;
309 static gint ett_lustre_obd_dqinfo = -1;
310 static gint ett_lustre_obd_dqblk = -1;
311 static gint ett_lustre_quota_adjust_qunit = -1;
312 static gint ett_lustre_mds_rec_setattr = -1;
313 static gint ett_lustre_mds_rec_create = -1;
314 static gint ett_lustre_mds_rec_link = -1;
315 static gint ett_lustre_mds_rec_unlink = -1;
316 static gint ett_lustre_mds_rec_rename = -1;
317 static gint ett_lustre_lov_desc = -1;
318 static gint ett_lustre_obd_uuid = -1;
319 static gint ett_lustre_ldlm_res_id = -1;
320 static gint ett_lustre_ldlm_extent = -1;
321 static gint ett_lustre_ldlm_inodebits = -1;
322 static gint ett_lustre_ldlm_flock = -1;
323 static gint ett_lustre_ldlm_intent_opc = -1;
324 static gint ett_lustre_ldlm_resource_desc = -1;
325 static gint ett_lustre_ldlm_lock_desc = -1;
326 static gint ett_lustre_ldlm_request = -1;
327 static gint ett_lustre_lustre_handle = -1;
328 static gint ett_lustre_ldlm_reply = -1;
329 static gint ett_lustre_mgs_send_param = -1;
330 static gint ett_lustre_mgs_target_info = -1;
331 static gint ett_lustre_cfg_marker = -1;
332 static gint ett_lustre_llog_catid = -1;
333 static gint ett_lustre_llog_rec_hdr = -1;
334 static gint ett_lustre_llog_logid_rec = -1;
335 static gint ett_lustre_llog_logid = -1;
336 static gint ett_lustre_llog_rec_tail = -1;
337 static gint ett_lustre_lov_mds_md = -1;
338 static gint ett_lustre_llog_create_rec = -1;
339 static gint ett_lustre_llog_orphan_rec = -1;
340 static gint ett_lustre_llog_unlink_rec = -1;
341 static gint ett_lustre_llog_setattr_rec = -1;
342 static gint ett_lustre_llog_size_change_rec = -1;
343 static gint ett_lustre_llog_gen_rec = -1;
344 static gint ett_lustre_llog_log_hdr = -1;
345 static gint ett_lustre_llog_cookie = -1;
346 static gint ett_lustre_llogd_body = -1;
347 static gint ett_lustre_llogd_conn_body = -1;
348 static gint ett_lustre_llog_gen = -1;
349 static gint ett_lustre_obdo = -1;
350 static gint ett_lustre_ost_body = -1;
351 static gint ett_lustre_qunit_data = -1;
352 static gint ett_lustre_qunit_data_old2 = -1;
353 static gint ett_lustre_qunit_data_old = -1;
354 static gint ett_lustre_ldlm_lock_flags = -1 ;
356 /* -----------------------------------------------*/
357 /* Header field declarations */
358 static int hf_lustre_ptlrpc_body_pb = -1 ;
359 static int hf_lustre_mds_body = -1 ;
360 static int hf_lustre_ost_body = -1 ;
361 static int hf_lustre_obd_statfs = -1 ;
362 static int hf_lustre_obd_quotactl = -1 ;
363 static int hf_lustre_quota_adjust_qunit = -1 ;
364 static int hf_lustre_extra_padding = -1 ;
365 static int hf_lustre_ldlm_reply = -1 ;
366 static int hf_lustre_ldlm_request = -1 ;
367 static int hf_lustre_mds_rec_create = -1 ;
368 static int hf_lustre_mds_rec_link = -1 ;
369 static int hf_lustre_mds_rec_unlink = -1 ;
370 static int hf_lustre_obd_uuid = -1 ;
371 static int hf_lustre_obd_connect_data = -1 ;
372 static int hf_lustre_ldlm_intent = -1;
373 static int hf_lustre_obd_ioobj = -1 ;
374 static int hf_lustre_niobuf_remote = -1 ;
375 static int hf_lustre_ost_key = -1 ;
376 static int hf_lustre_nio= -1 ;
377 static int hf_lustre_ost_val= -1;
378 static int hf_lustre_llogd_body = -1;
379 static int hf_lustre_llogd_log_hdr= -1;
380 static int hf_lustre_llog_logid_rec =-1 ;
381 static int hf_lustre_llogd_chunk= -1;
382 static int hf_lustre_llogd_keyword= -1;
383 static int hf_lustre_llogd_client= -1;
384 static int hf_lustre_llogd_name= -1;
386 static int hf_lustre_mds_xattr_name = -1;
387 static int hf_lustre_lov_mds_md_v1= -1;
388 static int hf_lustre_llog_cookie= -1;
389 static int hf_lustre_mds_md_data= -1;
390 static int hf_lustre_mds_reint_opcode= -1;
391 static int hf_lustre_mds_xattr_eadata = -1;
393 static int hf_lustre_reint_name= -1;
394 static int hf_lustre_reint_old_name= -1;
395 static int hf_lustre_reint_new_name= -1;
397 static int hf_lustre_mgs_target_info = -1 ;
398 static int hf_lustre_mgs_send_param = -1;
400 static int hf_lustre_ost_lvb = -1 ;
402 static int hf_lustre_ldlm_fl_lock_changed = -1;
403 static int hf_lustre_ldlm_fl_block_granted = -1;
404 static int hf_lustre_ldlm_fl_block_conv = -1;
405 static int hf_lustre_ldlm_fl_block_wait = -1;
406 static int hf_lustre_ldlm_fl_cbpending = -1;
407 static int hf_lustre_ldlm_fl_ast_sent = -1;
408 static int hf_lustre_ldlm_fl_wait_noreproc = -1;
409 static int hf_lustre_ldlm_fl_cancel = -1;
410 static int hf_lustre_ldlm_fl_replay = -1;
411 static int hf_lustre_ldlm_fl_intent_only = -1;
412 static int hf_lustre_ldlm_fl_local_only = -1;
413 static int hf_lustre_ldlm_fl_failed = -1;
414 static int hf_lustre_ldlm_fl_has_intent = -1;
415 static int hf_lustre_ldlm_fl_canceling = -1;
416 static int hf_lustre_ldlm_fl_local = -1;
417 static int hf_lustre_ldlm_fl_warn = -1;
418 static int hf_lustre_ldlm_fl_discard_data = -1;
419 static int hf_lustre_ldlm_fl_no_timeout = -1;
420 static int hf_lustre_ldlm_fl_block_nowait = -1;
421 static int hf_lustre_ldlm_fl_test_lock = -1;
422 static int hf_lustre_ldlm_fl_lvb_ready = -1;
423 static int hf_lustre_ldlm_fl_kms_ignore = -1;
424 static int hf_lustre_ldlm_fl_no_lru = -1;
425 static int hf_lustre_ldlm_fl_cancel_on_block = -1;
426 static int hf_lustre_ldlm_fl_cp_reqd = -1;
427 static int hf_lustre_ldlm_fl_cleaned = -1;
428 static int hf_lustre_ldlm_fl_atomic_cb = -1;
429 static int hf_lustre_ldlm_fl_bl_ast = -1;
430 static int hf_lustre_ldlm_fl_bl_done = -1;
431 static int hf_lustre_ldlm_fl_deny_on_contention = -1;
432 static int hf_lustre_ldlm_ast_discard_data = -1;
434 static int hf_lustre_mds_body_ctime = -1;
435 static int hf_lustre_mds_body_fid1 = -1;
436 static int hf_lustre_mds_body_nlink = -1;
437 static int hf_lustre_mds_body_flags = -1;
438 static int hf_lustre_mds_body_fsgid = -1;
439 static int hf_lustre_mds_body_mtime = -1;
440 static int hf_lustre_mds_body_uid = -1;
441 static int hf_lustre_mds_body_mode = -1;
442 static int hf_lustre_mds_body_max_cookiesize = -1;
443 static int hf_lustre_mds_body_io_epoch = -1;
444 static int hf_lustre_mds_body_ino = -1;
445 static int hf_lustre_mds_body_fid2 = -1;
446 static int hf_lustre_mds_body_padding_4 = -1;
447 static int hf_lustre_mds_body_aclsize = -1;
448 static int hf_lustre_mds_body_valid = -1;
449 static int hf_lustre_mds_body_generation = -1;
450 static int hf_lustre_mds_body_atime = -1;
451 static int hf_lustre_mds_body_handle = -1;
452 static int hf_lustre_mds_body_max_mdsize = -1;
453 static int hf_lustre_mds_body_rdev = -1;
454 static int hf_lustre_mds_body_blocks = -1;
455 static int hf_lustre_mds_body_fsuid = -1;
456 static int hf_lustre_mds_body_gid = -1;
457 static int hf_lustre_lustre_handle_cookie = -1;
458 static int hf_lustre_mds_body_suppgid = -1;
459 static int hf_lustre_mds_body_size = -1;
460 static int hf_lustre_mds_body_eadatasize = -1;
461 static int hf_lustre_mds_body_capability = -1;
463 static int hf_lustre_ptlrpc_body_pb_last_committed = -1;
464 static int hf_lustre_ptlrpc_body_pb_version = -1;
465 static int hf_lustre_lustre_msg_v1_lm_bufcount = -1;
466 static int hf_lustre_obd_ioobj_ioo_id = -1;
467 static int hf_lustre_ptlrpc_body_pb_slv = -1;
468 static int hf_lustre_lustre_msg_v1_lm_handle = -1;
469 static int hf_lustre_ost_lvb_lvb_atime = -1;
470 static int hf_lustre_ptlrpc_body_pb_timeout = -1;
471 static int hf_lustre_obd_statfs_os_bavail = -1;
472 static int hf_lustre_obd_statfs_os_bsize = -1;
473 static int hf_lustre_lustre_msg_v2_lm_repsize = -1;
474 static int hf_lustre_lov_mds_md_v1_lmm_stripe_size = -1;
475 static int hf_lustre_lustre_msg_v1_lm_last_xid = -1;
476 static int hf_lustre_ll_fid_f_type = -1;
477 static int hf_lustre_lustre_msg_v2_lm_cksum = -1;
478 static int hf_lustre_lustre_msg_v2_lm_buflens = -1;
479 static int hf_lustre_lustre_msg_v1_lm_status = -1;
480 static int hf_lustre_lustre_msg_v1_lm_type = -1;
481 static int hf_lustre_niobuf_remote_len = -1;
482 static int hf_lustre_lov_mds_md_v1_lmm_magic = -1;
483 static int hf_lustre_ptlrpc_body_pb_op_flags = -1;
484 static int hf_lustre_ost_lvb_lvb_ctime = -1;
485 static int hf_lustre_ptlrpc_body_pb_type = -1;
486 static int hf_lustre_obd_connect_data_ocd_nllg = -1;
487 static int hf_lustre_obd_connect_data_ocd_nllu = -1;
488 static int hf_lustre_ll_fid_generation = -1;
489 static int hf_lustre_ost_lvb_lvb_mtime = -1;
490 static int hf_lustre_obd_connect_data_ocd_ibits_known = -1;
491 static int hf_lustre_lustre_msg_v2_lm_padding_3 = -1;
492 static int hf_lustre_ptlrpc_body_pb_flags = -1;
493 static int hf_lustre_obd_statfs_os_spare4 = -1;
494 static int hf_lustre_obd_connect_data_ocd_group = -1;
495 static int hf_lustre_lov_ost_data_v1_l_object_gr = -1;
496 static int hf_lustre_lov_mds_md_v1_lmm_object_gr = -1;
497 static int hf_lustre_obd_connect_data_ocd_brw_size = -1;
498 static int hf_lustre_ptlrpc_body_pb_limit = -1;
499 static int hf_lustre_obd_statfs_os_maxbytes = -1;
500 static int hf_lustre_obd_statfs_os_spare5 = -1;
501 static int hf_lustre_lustre_msg_v2_lm_flags = -1;
502 static int hf_lustre_obd_statfs_os_ffree = -1;
503 static int hf_lustre_obd_statfs_os_files = -1;
504 static int hf_lustre_lov_mds_md_v1_lmm_stripe_count = -1;
505 static int hf_lustre_lustre_msg_v1_lm_flags = -1;
506 static int hf_lustre_lustre_msg_v1_lm_last_committed = -1;
507 static int hf_lustre_obd_statfs_os_spare9 = -1;
508 static int hf_lustre_obd_connect_data_ocd_index = -1;
509 static int hf_lustre_opnum = -1;
510 static int hf_lustre_lustre_msg_v1_lm_buflens = -1;
511 static int hf_lustre_obd_statfs_os_spare1 = -1;
512 static int hf_lustre_obd_statfs_os_spare8 = -1;
513 static int hf_lustre_lustre_msg_v1_lm_conn_cnt = -1;
514 static int hf_lustre_ptlrpc_body_pb_transno = -1;
515 static int hf_lustre_ptlrpc_body_pb_service_time = -1;
516 static int hf_lustre_ptlrpc_body_pb_conn_cnt = -1;
517 static int hf_lustre_ptlrpc_body_pb_opc = -1;
518 static int hf_lustre_obd_connect_data_ocd_connect_flags = -1;
519 static int hf_lustre_lov_ost_data_v1_l_object_id = -1;
520 static int hf_lustre_lov_ost_data_v1_l_ost_gen = -1;
521 static int hf_lustre_obd_statfs_os_bfree = -1;
522 static int hf_lustre_obd_connect_data_ocd_version = -1;
523 static int hf_lustre_lov_mds_md_v1_lmm_objects = -1;
524 static int hf_lustre_mds_status_req_flags = -1;
525 static int hf_lustre_obd_statfs_os_namelen = -1;
526 static int hf_lustre_obd_statfs_os_blocks = -1;
527 static int hf_lustre_lustre_msg_v2_lm_secflvr = -1;
528 static int hf_lustre_lustre_msg_v1_lm_transno = -1;
529 static int hf_lustre_lov_mds_md_v1_lmm_pattern = -1;
530 static int hf_lustre_lustre_msg_v1_lm_opc = -1;
531 static int hf_lustre_obd_connect_data_ocd_grant = -1;
532 static int hf_lustre_obd_ioobj_ioo_bufcnt = -1;
533 static int hf_lustre_lustre_msg_v1_lm_version = -1;
534 static int hf_lustre_obd_statfs_os_spare7 = -1;
535 static int hf_lustre_obd_statfs_os_fsid = -1;
536 static int hf_lustre_obd_connect_data_ocd_cksum_types = -1;
537 static int hf_lustre_ost_lvb_lvb_size = -1;
538 static int hf_lustre_obd_statfs_os_type = -1;
539 static int hf_lustre_obd_statfs_os_spare6 = -1;
540 static int hf_lustre_obd_statfs_os_state = -1;
541 static int hf_lustre_obd_statfs_os_spare3 = -1;
542 static int hf_lustre_lustre_msg_v2_lm_magic = -1;
543 static int hf_lustre_lov_mds_md_v1_lmm_object_id = -1;
544 static int hf_lustre_ptlrpc_body_pb_last_seen = -1;
545 static int hf_lustre_obd_ioobj_ioo_type = -1;
546 static int hf_lustre_ptlrpc_body_pb_last_xid = -1;
547 static int hf_lustre_ptlrpc_body_pb_status = -1;
548 static int hf_lustre_niobuf_remote_flags = -1;
549 static int hf_lustre_ll_fid_id = -1;
550 static int hf_lustre_ost_lvb_lvb_blocks = -1;
551 static int hf_lustre_lustre_msg_v2_lm_padding_2 = -1;
552 static int hf_lustre_obd_connect_data_padding1 = -1;
553 static int hf_lustre_lov_ost_data_v1_l_ost_idx = -1;
554 static int hf_lustre_obd_connect_data_padding2 = -1;
555 static int hf_lustre_obd_ioobj_ioo_gr = -1;
556 static int hf_lustre_niobuf_remote_offset=-1;
557 static int hf_lustre_mds_status_req_repbuf = -1;
558 static int hf_lustre_obd_statfs_os_spare2 = -1;
559 static int hf_lustre_lustre_msg_v2_lm_bufcount = -1;
560 static int hf_lustre_ptlrpc_body_pb_handle = -1;
561 static int hf_lustre_obd_connect_data_ocd_transno = -1;
562 static int hf_lustre_lustre_msg_v1_lm_magic = -1;
563 static int hf_lustre_llog_unlink_rec_lur_tail = -1;
564 static int hf_lustre_llog_size_change_rec_lsc_io_epoch = -1;
565 static int hf_lustre_mgs_target_info_mti_flags = -1;
566 static int hf_lustre_ldlm_reply_lock_policy_res1 = -1;
567 static int hf_lustre_mds_rec_link_lk_fsuid = -1;
568 static int hf_lustre_llogd_body_lgd_len = -1;
569 static int hf_lustre_qunit_data_old_qd_id = -1;
570 static int hf_lustre_llog_logid_rec_padding1 = -1;
571 static int hf_lustre_quota_adjust_qunit_padding1 = -1;
572 static int hf_lustre_llog_size_change_rec_lsc_fid = -1;
573 static int hf_lustre_llog_rec_hdr_padding = -1;
574 static int hf_lustre_mds_rec_create_cr_time = -1;
575 static int hf_lustre_mds_rec_create_cr_padding_1 = -1;
576 static int hf_lustre_obdo_o_nlink = -1;
577 static int hf_lustre_mds_rec_rename_rn_suppgid2 = -1;
578 static int hf_lustre_mds_rec_link_lk_padding_4 = -1;
579 static int hf_lustre_mds_rec_link_lk_cap = -1;
580 static int hf_lustre_ldlm_extent_gid = -1;
581 static int hf_lustre_obdo_o_uid = -1;
582 static int hf_lustre_mds_rec_create_cr_padding_5 = -1;
583 static int hf_lustre_obdo_o_valid = -1;
584 static int hf_lustre_ldlm_reply_lock_flags = -1;
585 static int hf_lustre_mds_rec_link_lk_padding_3 = -1;
586 static int hf_lustre_obdo_o_misc = -1;
587 static int hf_lustre_mds_rec_setattr_sa_suppgid = -1;
588 static int hf_lustre_mds_rec_setattr_sa_attr_flags = -1;
589 static int hf_lustre_mds_rec_rename_rn_padding_2 = -1;
590 static int hf_lustre_ldlm_request_lock_handle = -1;
591 static int hf_lustre_llog_logid_lgl_oid = -1;
592 static int hf_lustre_ldlm_inodebits_bits = -1;
593 static int hf_lustre_llog_log_hdr_llh_count = -1;
594 static int hf_lustre_mds_rec_unlink_ul_padding_4 = -1;
595 static int hf_lustre_llog_gen_rec_lgr_tail = -1;
596 static int hf_lustre_llog_catid_lci_padding3 = -1;
597 static int hf_lustre_qunit_data_qd_qunit = -1;
598 static int hf_lustre_mds_rec_unlink_ul_fid1 = -1;
599 static int hf_lustre_llog_setattr_rec_padding = -1;
600 static int hf_lustre_mds_rec_rename_rn_opcode = -1;
601 static int hf_lustre_mds_rec_create_cr_flags = -1;
602 static int hf_lustre_mds_rec_rename_rn_fid1 = -1;
603 static int hf_lustre_llog_cookie_lgc_lgl = -1;
604 static int hf_lustre_obd_quotactl_qc_dqinfo = -1;
605 static int hf_lustre_llog_log_hdr_llh_bitmap = -1;
606 static int hf_lustre_mds_rec_setattr_sa_size = -1;
607 static int hf_lustre_mds_rec_rename_rn_suppgid1 = -1;
608 static int hf_lustre_obd_quotactl_qc_stat = -1;
609 static int hf_lustre_qunit_data_old2_qd_id = -1;
610 static int hf_lustre_llog_logid_rec_padding2 = -1;
611 static int hf_lustre_mds_rec_unlink_ul_mode = -1;
612 static int hf_lustre_llog_orphan_rec_lor_tail = -1;
613 static int hf_lustre_llog_logid_rec_padding5 = -1;
614 static int hf_lustre_mds_rec_create_cr_fsgid = -1;
615 static int hf_lustre_ldlm_intent_opc = -1;
616 static int hf_lustre_llog_rec_hdr_lrh_type = -1;
617 static int hf_lustre_mds_rec_link_lk_fsgid = -1;
618 static int hf_lustre_llog_rec_hdr_lrh_len = -1;
619 static int hf_lustre_llog_setattr_rec_lsr_uid = -1;
620 static int hf_lustre_lov_desc_ld_padding_1 = -1;
621 static int hf_lustre_obdo_o_padding_4 = -1;
622 static int hf_lustre_mgs_target_info_padding = -1;
623 static int hf_lustre_obd_quotactl_qc_dqblk = -1;
624 static int hf_lustre_llogd_conn_body_lgdc_gen = -1;
625 static int hf_lustre_mds_rec_create_cr_padding_2 = -1;
626 static int hf_lustre_mds_rec_setattr_sa_ctime = -1;
627 static int hf_lustre_llog_log_hdr_llh_tail = -1;
628 static int hf_lustre_obdo_o_size = -1;
629 static int hf_lustre_mds_rec_setattr_sa_cap = -1;
630 static int hf_lustre_ldlm_extent_start = -1;
631 static int hf_lustre_mds_rec_unlink_ul_opcode = -1;
632 static int hf_lustre_llog_size_change_rec_lsc_hdr = -1;
633 static int hf_lustre_mds_rec_unlink_ul_time = -1;
634 static int hf_lustre_llog_create_rec_lcr_tail = -1;
635 static int hf_lustre_mds_rec_setattr_sa_mode = -1;
636 static int hf_lustre_llog_logid_lgl_ogr = -1;
637 static int hf_lustre_llog_create_rec_lcr_hdr = -1;
638 static int hf_lustre_llog_cookie_lgc_padding = -1;
639 static int hf_lustre_mds_rec_create_cr_cap = -1;
640 static int hf_lustre_qunit_data_old_qd_type = -1;
641 static int hf_lustre_ldlm_flock_blocking_export = -1;
642 static int hf_lustre_mds_rec_setattr_sa_gid = -1;
643 static int hf_lustre_lov_desc_ld_pattern = -1;
644 static int hf_lustre_qunit_data_qd_id = -1;
645 static int hf_lustre_mgs_target_info_mti_fsname = -1;
646 static int hf_lustre_ldlm_request_lock_flags = -1;
647 static int hf_lustre_obdo_o_mode = -1;
648 static int hf_lustre_mgs_target_info_mti_svname = -1;
649 static int hf_lustre_llogd_body_lgd_logid = -1;
650 static int hf_lustre_mds_rec_create_cr_opcode = -1;
651 static int hf_lustre_llog_log_hdr_llh_size = -1;
652 static int hf_lustre_llog_create_rec_padding = -1;
653 static int hf_lustre_obdo_o_handle = -1;
654 static int hf_lustre_obdo_o_atime = -1;
655 static int hf_lustre_quota_adjust_qunit_qaq_id = -1;
656 static int hf_lustre_mds_rec_rename_rn_fid2 = -1;
657 static int hf_lustre_mds_rec_create_cr_replayfid = -1;
658 static int hf_lustre_ldlm_lock_desc_l_policy_data = -1;
659 static int hf_lustre_mds_rec_link_lk_suppgid1 = -1;
660 static int hf_lustre_obd_quotactl_qc_cmd = -1;
661 static int hf_lustre_mds_rec_rename_rn_padding_3 = -1;
662 static int hf_lustre_qunit_data_padding = -1;
663 static int hf_lustre_quota_adjust_qunit_qaq_flags = -1;
664 static int hf_lustre_ldlm_lock_desc_l_granted_mode = -1;
665 static int hf_lustre_obdo_o_gr = -1;
666 static int hf_lustre_mds_rec_unlink_ul_padding_2 = -1;
667 static int hf_lustre_obdo_o_gid = -1;
668 static int hf_lustre_llog_catid_lci_logid = -1;
669 static int hf_lustre_llog_rec_tail_lrt_index = -1;
670 static int hf_lustre_lov_desc_ld_default_stripe_count = -1;
671 static int hf_lustre_ldlm_resource_desc_lr_padding = -1;
672 static int hf_lustre_cfg_marker_cm_vers = -1;
673 static int hf_lustre_mds_rec_create_cr_fid = -1;
674 static int hf_lustre_llog_unlink_rec_lur_hdr = -1;
675 static int hf_lustre_llogd_body_lgd_index = -1;
676 static int hf_lustre_cfg_marker_cm_tgtname = -1;
677 static int hf_lustre_mds_rec_unlink_ul_padding_1 = -1;
678 static int hf_lustre_mds_rec_unlink_ul_cap = -1;
679 static int hf_lustre_llog_setattr_rec_lsr_ogen = -1;
680 static int hf_lustre_mds_rec_create_cr_padding_3 = -1;
681 static int hf_lustre_llog_logid_rec_lid_hdr = -1;
682 static int hf_lustre_obdo_o_ioepoch = -1;
683 static int hf_lustre_ost_body_oa = -1;
684 static int hf_lustre_llog_logid_rec_padding3 = -1;
685 static int hf_lustre_llog_log_hdr_llh_flags = -1;
686 static int hf_lustre_llog_setattr_rec_lsr_oid = -1;
687 static int hf_lustre_mds_rec_create_cr_mode = -1;
688 static int hf_lustre_llog_size_change_rec_padding = -1;
689 static int hf_lustre_mgs_target_info_mti_config_ver = -1;
690 static int hf_lustre_cfg_marker_cm_createtime = -1;
691 static int hf_lustre_qunit_data_old_qd_count = -1;
692 static int hf_lustre_mds_rec_setattr_sa_uid = -1;
693 static int hf_lustre_llog_catid_lci_padding1 = -1;
694 static int hf_lustre_mds_rec_setattr_sa_atime = -1;
695 static int hf_lustre_lov_desc_ld_active_tgt_count = -1;
696 static int hf_lustre_obdo_o_lcookie = -1;
697 static int hf_lustre_llog_gen_rec_lgr_gen = -1;
698 static int hf_lustre_obdo_o_id = -1;
699 static int hf_lustre_mgs_target_info_mti_uuid = -1;
700 static int hf_lustre_mds_rec_link_lk_padding_1 = -1;
701 static int hf_lustre_llog_rec_hdr_lrh_index = -1;
702 static int hf_lustre_llog_setattr_rec_lsr_hdr = -1;
703 static int hf_lustre_mgs_target_info_mti_stripe_index = -1;
704 static int hf_lustre_llog_gen_conn_cnt = -1;
705 static int hf_lustre_obdo_o_padding_6 = -1;
706 static int hf_lustre_mds_rec_create_cr_suppgid = -1;
707 static int hf_lustre_llog_cookie_lgc_index = -1;
708 static int hf_lustre_lov_desc_ld_uuid = -1;
709 static int hf_lustre_llog_create_rec_lcr_oid = -1;
710 static int hf_lustre_ldlm_reply_lock_desc = -1;
711 static int hf_lustre_lov_desc_ld_padding_0 = -1;
712 static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
713 static int hf_lustre_llog_orphan_rec_lor_hdr = -1;
714 static int hf_lustre_mds_rec_rename_rn_fsuid = -1;
715 static int hf_lustre_cfg_marker_cm_flags = -1;
716 static int hf_lustre_obdo_o_padding_3 = -1;
717 static int hf_lustre_mds_rec_create_cr_fsuid = -1;
718 static int hf_lustre_mds_rec_unlink_ul_fsgid = -1;
719 static int hf_lustre_ldlm_request_lock_desc = -1;
720 static int hf_lustre_mds_rec_unlink_ul_fsuid = -1;
721 static int hf_lustre_mds_rec_link_lk_suppgid2 = -1;
722 static int hf_lustre_llog_orphan_rec_padding = -1;
723 static int hf_lustre_obdo_o_flags = -1;
724 static int hf_lustre_mgs_target_info_mti_params = -1;
725 static int hf_lustre_llog_logid_lgl_ogen = -1;
726 static int hf_lustre_mds_rec_setattr_sa_valid = -1;
727 static int hf_lustre_cfg_marker_cm_comment = -1;
728 static int hf_lustre_llog_unlink_rec_lur_oid = -1;
729 static int hf_lustre_qunit_data_qd_count = -1;
730 static int hf_lustre_mds_rec_rename_rn_padding_1 = -1;
731 static int hf_lustre_obdo_o_mtime = -1;
732 static int hf_lustre_mds_rec_rename_rn_fsgid = -1;
733 static int hf_lustre_mds_rec_rename_rn_cap = -1;
734 static int hf_lustre_obdo_o_blksize = -1;
735 static int hf_lustre_mds_rec_unlink_ul_suppgid = -1;
736 static int hf_lustre_ldlm_res_id_name = -1;
737 static int hf_lustre_mds_rec_link_lk_time = -1;
738 static int hf_lustre_ldlm_reply_lock_handle = -1;
739 static int hf_lustre_mds_rec_unlink_ul_padding_3 = -1;
740 static int hf_lustre_llogd_body_lgd_saved_index = -1;
741 static int hf_lustre_mds_rec_rename_rn_padding_4 = -1;
742 static int hf_lustre_qunit_data_old_qd_isblk = -1;
743 static int hf_lustre_obdo_o_blocks = -1;
744 static int hf_lustre_lov_desc_ld_padding_2 = -1;
745 static int hf_lustre_mds_rec_link_lk_fid2 = -1;
746 static int hf_lustre_llog_logid_rec_lid_tail = -1;
747 static int hf_lustre_obdo_o_grant = -1;
748 static int hf_lustre_obdo_o_padding_2 = -1;
749 static int hf_lustre_quota_adjust_qunit_qaq_iunit_sz = -1;
750 static int hf_lustre_llog_unlink_rec_padding = -1;
751 static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
752 static int hf_lustre_ldlm_extent_end = -1;
753 static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
754 static int hf_lustre_llog_orphan_rec_lor_ogen = -1;
755 static int hf_lustre_llogd_body_lgd_llh_flags = -1;
756 static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
757 static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
758 static int hf_lustre_llog_orphan_rec_lor_oid = -1;
759 static int hf_lustre_ldlm_reply_lock_padding = -1;
760 static int hf_lustre_obd_quotactl_qc_id = -1;
761 static int hf_lustre_mds_rec_create_cr_padding_4 = -1;
762 static int hf_lustre_llog_logid_rec_padding4 = -1;
763 static int hf_lustre_mds_rec_link_lk_padding_2 = -1;
764 static int hf_lustre_llog_setattr_rec_lsr_gid = -1;
765 static int hf_lustre_obd_quotactl_qc_type = -1;
766 static int hf_lustre_cfg_marker_padding = -1;
767 static int hf_lustre_mgs_target_info_mti_nids = -1;
768 static int hf_lustre_obdo_o_stripe_idx = -1;
769 static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
770 static int hf_lustre_mds_rec_setattr_sa_fsuid = -1;
771 static int hf_lustre_ldlm_flock_blocking_pid = -1;
772 static int hf_lustre_lov_desc_ld_tgt_count = -1;
773 static int hf_lustre_llogd_body_lgd_cur_offset=-1;
774 static int hf_lustre_llog_create_rec_lcr_ogen = -1;
775 static int hf_lustre_qunit_data_old2_qd_count = -1;
776 static int hf_lustre_qunit_data_old2_qd_flags = -1;
777 static int hf_lustre_ldlm_flock_start = -1;
778 static int hf_lustre_quota_adjust_qunit_qaq_bunit_sz = -1;
779 static int hf_lustre_ldlm_flock_pid = -1;
780 static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
781 static int hf_lustre_mds_rec_setattr_sa_opcode = -1;
782 static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
783 static int hf_lustre_mds_rec_link_lk_fid1 = -1;
784 static int hf_lustre_cfg_marker_cm_step = -1;
785 static int hf_lustre_mgs_send_param_mgs_param = -1;
786 static int hf_lustre_llog_create_rec_lcr_fid = -1;
787 static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
788 static int hf_lustre_ldlm_resource_desc_lr_name = -1;
789 static int hf_lustre_llog_rec_tail_lrt_len = -1;
790 static int hf_lustre_mds_rec_setattr_sa_mtime = -1;
791 static int hf_lustre_llog_log_hdr_llh_timestamp = -1;
792 static int hf_lustre_llog_catid_lci_padding2 = -1;
793 static int hf_lustre_llogd_conn_body_lgdc_ctxt_idx = -1;
794 static int hf_lustre_cfg_marker_cm_canceltime = -1;
795 static int hf_lustre_mgs_target_info_mti_lustre_ver = -1;
796 static int hf_lustre_obdo_o_padding_1 = -1;
797 static int hf_lustre_qunit_data_qd_flags = -1;
798 static int hf_lustre_llog_logid_rec_lid_id = -1;
799 static int hf_lustre_obdo_o_generation = -1;
800 static int hf_lustre_llog_gen_mnt_cnt = -1;
801 static int hf_lustre_llog_size_change_rec_lsc_tail = -1;
802 static int hf_lustre_obdo_o_padding_5 = -1;
803 static int hf_lustre_ldlm_lock_desc_l_resource = -1;
804 static int hf_lustre_mds_rec_rename_rn_time = -1;
805 static int hf_lustre_mds_rec_create_cr_rdev = -1;
806 static int hf_lustre_obdo_o_fid = -1;
807 static int hf_lustre_mds_rec_setattr_sa_fid = -1;
808 static int hf_lustre_ldlm_request_lock_count = -1;
809 static int hf_lustre_ldlm_flock_end = -1;
810 static int hf_lustre_mds_rec_link_lk_opcode = -1;
811 static int hf_lustre_mgs_target_info_mti_nid_count = -1;
812 static int hf_lustre_obdo_o_ctime = -1;
813 static int hf_lustre_ldlm_reply_lock_policy_res2 = -1;
814 static int hf_lustre_llogd_body_lgd_ctxt_idx = -1;
815 static int hf_lustre_mds_rec_unlink_ul_fid2 = -1;
816 static int hf_lustre_lov_desc_ld_qos_maxage = -1;
817 static int hf_lustre_ldlm_resource_desc_lr_type = -1;
818 static int hf_lustre_llog_setattr_rec_lsr_tail = -1;
819 static int hf_lustre_llog_cookie_lgc_subsys = -1;
820 static int hf_lustre_llog_log_hdr_llh_hdr = -1;
821 static int hf_lustre_mds_rec_setattr_sa_fsgid = -1;
822 static int hf_lustre_mds_rec_setattr_sa_padding = -1;
823 static int hf_lustre_llog_log_hdr_llh_reserved = -1;
825 /* Header field declarations for field from lustre_user.h*/
826 static int hf_lustre_obd_dqinfo_dqi_valid = -1;
827 static int hf_lustre_obd_dqblk_dqb_isoftlimit = -1;
828 static int hf_lustre_obd_dqblk_dqb_bhardlimit = -1;
829 static int hf_lustre_obd_dqblk_dqb_curspace = -1;
830 static int hf_lustre_obd_dqblk_dqb_itime = -1;
831 static int hf_lustre_obd_dqblk_dqb_valid = -1;
832 static int hf_lustre_obd_dqinfo_dqi_igrace = -1;
833 static int hf_lustre_obd_dqinfo_dqi_bgrace = -1;
834 static int hf_lustre_obd_dqblk_padding = -1;
835 static int hf_lustre_obd_dqblk_dqb_curinodes = -1;
836 static int hf_lustre_obd_dqblk_dqb_bsoftlimit = -1;
837 static int hf_lustre_obd_dqinfo_dqi_flags = -1;
838 static int hf_lustre_obd_dqblk_dqb_btime = -1;
839 static int hf_lustre_obd_dqblk_dqb_ihardlimit = -1;
840 static int hf_lustre_ldlm_intent_opc_open = -1 ;
841 static int hf_lustre_ldlm_intent_opc_creat = -1;
842 static int hf_lustre_ldlm_intent_opc_readdir = -1;
843 static int hf_lustre_ldlm_intent_opc_getattr = -1;
844 static int hf_lustre_ldlm_intent_opc_lookup = -1;
845 static int hf_lustre_ldlm_intent_opc_unlink = -1;
846 static int hf_lustre_ldlm_intent_opc_getxattr = -1;
847 static int hf_lustre_ldlm_intent_opc_exec = -1;
848 static int hf_lustre_ldlm_intent_opc_pin = -1;
849 static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
850 static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
851 static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
852 /* --------------------------------------------------------------------*/
855 /* proto declaration */
856 static gint proto_lustre = -1;
861 static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
862 static int lustre_dissect_element_ldlm_lock_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_);
863 static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
866 /* ======================================================================== */
868 const value_string lustre_ldlm_opcode[] = {
869 { IT_OPEN , "IT_OPEN "},
870 { IT_CREAT , "IT_CREAT "},
871 { IT_READDIR , "IT_READDIR "},
872 { IT_GETATTR , "IT_GETATTR "},
873 { IT_LOOKUP , "IT_LOOKUP "},
874 { IT_UNLINK , "IT_UNLINK "},
875 { IT_GETXATTR, "IT_GETXATTR"},
876 { IT_EXEC , "IT_EXEC "},
877 { IT_PIN , "IT_PIN "},
881 const value_string lustre_lov_magic[] = {
882 { LOV_MAGIC_V1, "LOV_MAGIC_V1" },
886 const value_string lustre_ldlm_flags_vals[] = {
887 {0x000001 , "LDLM_FL_LOCK_CHANGED"},
888 {0x000002 , "LDLM_FL_BLOCK_GRANTED"},
889 {0x000004 , "LDLM_FL_BLOCK_CONV"},
890 {0x000008 , "LDLM_FL_BLOCK_WAIT"},
891 {0x000010 , "LDLM_FL_CBPENDING"},
892 {0x000020 , "LDLM_FL_AST_SENT"},
893 {0x000040 , "LDLM_FL_WAIT_NOREPROC"},
894 {0x000080 , "LDLM_FL_CANCEL"},
895 {0x000100 , "LDLM_FL_REPLAY"},
896 {0x000200 , "LDLM_FL_INTENT_ONLY"},
897 {0x000400 , "LDLM_FL_LOCAL_ONLY"},
898 {0x000800 , "LDLM_FL_FAILED"},
899 {0x001000 , "LDLM_FL_HAS_INTENT"},
900 {0x002000 , "LDLM_FL_CANCELING"},
901 {0x004000 , "LDLM_FL_LOCAL"},
902 {0x008000 , "LDLM_FL_WARN"},
903 {0x010000 , "LDLM_FL_DISCARD_DATA"},
904 {0x020000 , "LDLM_FL_NO_TIMEOUT"},
905 {0x040000 , "LDLM_FL_BLOCK_NOWAIT"},
906 {0x080000 , "LDLM_FL_TEST_LOCK"},
907 {0x100000 , "LDLM_FL_LVB_READY"},
908 {0x200000 , "LDLM_FL_KMS_IGNORE"},
909 {0x400000 , "LDLM_FL_NO_LRU"},
910 {0x800000 , "LDLM_FL_CANCEL_ON_BLOCK"},
911 {0x1000000 , "LDLM_FL_CP_REQD"},
912 {0x2000000 , "LDLM_FL_CLEANED"},
913 {0x4000000 , "LDLM_FL_ATOMIC_CB"},
914 {0x10000000 , "LDLM_FL_BL_AST"},
915 {0x20000000 , "LDLM_FL_BL_DONE"},
916 {0x40000000 , "LDLM_FL_DENY_ON_CONTENTION"},
917 {0x80000000 , "LDLM_AST_DISCARD_DATA"},
921 const value_string lustre_llog_op_type[] = {
922 {LLOG_PAD_MAGIC ,"LLOG_PAD_MAGIC "},
923 {OST_SZ_REC ,"OST_SZ_REC "},
924 {OST_RAID1_REC ,"OST_RAID1_REC "},
925 {MDS_UNLINK_REC ,"MDS_UNLINK_REC "},
926 {MDS_SETATTR_REC ,"MDS_SETATTR_REC "},
927 {OBD_CFG_REC ,"OBD_CFG_REC "},
928 {PTL_CFG_REC ,"PTL_CFG_REC "},
929 {LLOG_GEN_REC ,"LLOG_GEN_REC "},
930 {LLOG_JOIN_REC ,"LLOG_JOIN_REC "},
931 {LLOG_HDR_MAGIC ,"LLOG_HDR_MAGIC "},
932 {LLOG_LOGID_MAGIC ,"LLOG_LOGID_MAGIC"},
936 const value_string lustre_llog_hdr_llh_flags[]= {
937 {LLOG_F_ZAP_WHEN_EMPTY , "LLOhdr_llh_G_F_ZAP_WHEN_EMPTY"},
938 {LLOG_F_IS_CAT , "LLOhdr_llh_G_F_IS_CAT"},
939 {LLOG_F_IS_PLAIN , "LLOG_F_IS_PLAIN"},
943 const value_string lustre_mds_flags_vals[] = {
944 {0x1,"MDS_BFLAG_UNCOMMITTED_WRITES"},
945 {0x80000000, "MDS_BFLAG_EXT_FLAGS"}, /* == EXT3_RESERVED_FL */
946 {0x00000008, "MDS_SYNC_FL "}, /* Synchronous updates */
947 {0x00000010, "MDS_IMMUTABLE_FL "}, /* Immutable file */
948 {0x00000020, "MDS_APPEND_FL "}, /* writes to file may only append */
949 {0x00000080, "MDS_NOATIME_FL "}, /* do not update atime */
950 {0x00010000, "MDS_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
954 const value_string lustre_LMTypes[] = {
955 { PTL_RPC_MSG_REQUEST, "request"},
956 { PTL_RPC_MSG_ERR , "error"},
957 { PTL_RPC_MSG_REPLY , "reply"},
961 const value_string lustre_mds_reint_t_vals[] = {
962 { REINT_SETATTR, "REINT_SETATTR" },
963 { REINT_CREATE, "REINT_CREATE" },
964 { REINT_LINK, "REINT_LINK" },
965 { REINT_UNLINK, "REINT_UNLINK" },
966 { REINT_RENAME, "REINT_RENAME" },
967 { REINT_OPEN, "REINT_OPEN" },
970 const value_string lustre_op_codes[] = {
979 {7 , "OST_GET_INFO"},
981 {9 , "OST_DISCONNECT"},
986 {14 , "OST_SAN_READ(deprecated)"},
987 {15 , "OST_SAN_WRITE(deprecated)"},
989 {17 , "OST_SET_INFO"},
990 {18 , "OST_QUOTACHECK"},
991 {19 , "OST_QUOTACTL"},
992 {20 , "OST_LAST_OPC"},
994 {33 , "MDS_GETATTR"},
995 {34 , "MDS_GETATTR_NAME"},
998 {37 , "MDS_READPAGE"},
999 {38 , "MDS_CONNECT"},
1000 {39 , "MDS_DISCONNECT"},
1001 {40 , "MDS_GETSTATUS"},
1002 {41 , "MDS_STATFS"},
1006 {45 , "MDS_DONE_WRITING"},
1007 {46 , "MDS_SET_INFO"},
1008 {47 , "MDS_QUOTACHECK"},
1009 {48 , "MDS_QUOTACTL"},
1010 {49 , "MDS_GETXATTR"},
1011 {50 , "MDS_SETXATTR"},
1012 {51 , "MDS_LAST_OPC"},
1014 {101 , "LDLM_ENQUEUE"},
1015 {102 , "LDLM_CONVERT"},
1016 {103 , "LDLM_CANCEL"},
1017 {104 , "LDLM_BL_CALLBACK"},
1018 {105 , "LDLM_CP_CALLBACK"},
1019 {106 , "LDLM_GL_CALLBACK"},
1020 {107 , "LDLM_LAST_OPC"},
1022 {250 , "MGS_CONNECT"},
1023 {251 , "MGS_DISCONNECT"},
1024 {252 , "MGS_EXCEPTION"},
1025 {253 , "MGS_TARGET_REG"},
1026 {254 , "MGS_TARGET_DEL"},
1027 {255 , "MGS_SET_INFO"},
1028 {256 , "MGS_LAST_OPC"},
1031 {401 , "OBD_LOG_CANCEL"},
1032 {402 , "OBD_QC_CALLBACK"},
1033 {403 , "OBD_LAST_OPC"},
1035 { 501, "LLOG_ORIGIN_HANDLE_CREATE"},
1036 { 502, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK"},
1037 { 503, "LLOG_ORIGIN_HANDLE_READ_HEADER"},
1038 { 504, "LLOG_ORIGIN_HANDLE_WRITE_REC"},
1039 { 505, "LLOG_ORIGIN_HANDLE_CLOSE"},
1040 { 506, "LLOG_ORIGIN_CONNECT"},
1041 { 507, "LLOG_CATINFO"},
1042 { 508, "LLOG_ORIGIN_HANDLE_PREV_BLOCK"},
1043 { 509, "LLOG_ORIGIN_HANDLE_DESTROY"},
1046 /*const value_string lustre_ldlm_mode_t_vals[] = {*/
1047 /* { LCK_MINMODE, "MINMODE" },*/
1048 /* { LCK_EX, "EX" },*/
1049 /* { LCK_PW, "PW" },*/
1050 /* { LCK_PR, "PR" },*/
1051 /* { LCK_CW, "CW" },*/
1052 /* { LCK_CR, "CR" },*/
1053 /* { LCK_NL, "NL" },*/
1054 /* { LCK_GROUP, "GROUP" },*/
1058 /* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
1059 const value_string lustre_ldlm_mode_t_vals[] = {
1060 { LCK_MINMODE, "MINMODE" },
1061 { LCK_EX, "Exclusive" },
1062 { LCK_PW, "Protected Write" },
1063 { LCK_PR, "Protected Read" },
1064 { LCK_CW, "Concurrent Write" },
1065 { LCK_CR, "Concurrent Read" },
1067 { LCK_GROUP, "GROUP" },
1071 const value_string lustre_ldlm_type_t_vals[] = {
1072 { LDLM_PLAIN, "LDLM_PLAIN" },
1073 { LDLM_EXTENT,"LDLM_EXTENT" },
1074 { LDLM_FLOCK, "LDLM_FLOCK" },
1075 { LDLM_IBITS, "LDLM_IBITS" },
1080 const value_string lustre_llog_cmd_t_vals[] = {
1081 { LLOG_ORIGIN_HANDLE_CREATE, "LLOG_ORIGIN_HANDLE_CREATE" },
1082 { LLOG_ORIGIN_HANDLE_NEXT_BLOCK, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK" },
1083 { LLOG_ORIGIN_HANDLE_READ_HEADER, "LLOG_ORIGIN_HANDLE_READ_HEADER" },
1084 { LLOG_ORIGIN_HANDLE_WRITE_REC, "LLOG_ORIGIN_HANDLE_WRITE_REC" },
1085 { LLOG_ORIGIN_HANDLE_CLOSE, "LLOG_ORIGIN_HANDLE_CLOSE" },
1086 { LLOG_ORIGIN_CONNECT, "LLOG_ORIGIN_CONNECT" },
1087 { LLOG_CATINFO, "LLOG_CATINFO" },
1088 { LLOG_ORIGIN_HANDLE_PREV_BLOCK, "LLOG_ORIGIN_HANDLE_PREV_BLOCK" },
1089 { LLOG_ORIGIN_HANDLE_DESTROY, "LLOG_ORIGIN_HANDLE_DESTROY" },
1094 /* ------------------------------------------------------------------- */
1095 /* display functions */
1096 /* ------------------------------------------------------------------- */
1097 /* display str in left corner and in COL */
1098 /* TODO : do we need to use inline here ?*/
1099 /* @gint col : the col where we add the information */
1100 inline static void display_info_str(proto_item *pi, column_info *cinfo, gint col, const gchar* str)
1103 proto_item_append_text(pi, str);
1106 if (check_col(cinfo, col))
1107 col_append_str(cinfo, col, str);
1111 * Need to be (re)written
1113 static void display_info_fstr(proto_item *pi, column_info *cinfo, gint col, const char* format, const gchar * str){
1116 //va_start(ap, format);
1117 proto_item_append_text(pi, format, str);
1122 if (check_col(cinfo, col)){
1124 // va_start(ap, format);
1125 col_append_fstr(cinfo, col, format, str);
1132 /* ------------------------------ basic dissect functions ------------------------ */
1135 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1137 proto_tree_add_item(tree, hfindex, tvb, offset, 8, TRUE);
1143 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1145 proto_tree_add_item(tree, hfindex, tvb, offset, 4, TRUE);
1151 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1153 proto_tree_add_item(tree, hfindex, tvb, offset, 1, TRUE);
1156 /* ------------------------------------------------------------------------- */
1161 /* IDL: struct lustre_handle { */
1162 /* IDL: uint64 cookie; */
1166 lustre_dissect_element_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1168 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_handle_cookie);
1174 lustre_dissect_struct_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1176 proto_item *item = NULL;
1177 proto_tree *tree = NULL;
1183 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1184 tree = proto_item_add_subtree(item, ett_lustre_lustre_handle_cookie);
1187 offset=lustre_dissect_element_handle_cookie(tvb, offset, pinfo, tree);
1190 proto_item_set_len(item, offset-old_offset);
1195 /* IDL: struct obd_connect_data { */
1196 /* IDL: uint64 ocd_connect_flags; */
1197 /* IDL: uint32 ocd_version; */
1198 /* IDL: uint32 ocd_grant; */
1199 /* IDL: uint32 ocd_index; */
1200 /* IDL: uint32 ocd_brw_size; */
1201 /* IDL: uint64 ocd_ibits_known; */
1202 /* IDL: uint32 ocd_nllu; */
1203 /* IDL: uint32 ocd_nllg; */
1204 /* IDL: uint64 ocd_transno; */
1205 /* IDL: uint32 ocd_group; */
1206 /* IDL: uint32 ocd_cksum_types; */
1207 /* IDL: uint64 padding1; */
1208 /* IDL: uint64 padding2; */
1212 lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1214 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_connect_flags);
1220 lustre_dissect_element_obd_connect_data_ocd_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1222 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_version);
1228 lustre_dissect_element_obd_connect_data_ocd_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1230 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_grant);
1236 lustre_dissect_element_obd_connect_data_ocd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1238 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_index);
1244 lustre_dissect_element_obd_connect_data_ocd_brw_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1246 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_brw_size);
1252 lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1254 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_ibits_known);
1260 lustre_dissect_element_obd_connect_data_ocd_nllu(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1262 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllu);
1268 lustre_dissect_element_obd_connect_data_ocd_nllg(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1270 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllg);
1276 lustre_dissect_element_obd_connect_data_ocd_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1278 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_transno);
1284 lustre_dissect_element_obd_connect_data_ocd_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1286 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_group);
1292 lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1294 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_cksum_types);
1300 lustre_dissect_element_obd_connect_data_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1302 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding1);
1308 lustre_dissect_element_obd_connect_data_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1310 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding2);
1316 lustre_dissect_struct_obd_connect_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1318 proto_item *item = NULL;
1319 proto_tree *tree = NULL;
1327 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1328 tree = proto_item_add_subtree(item, ett_lustre_obd_connect_data);
1331 offset=lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvb, offset, pinfo, tree);
1333 offset=lustre_dissect_element_obd_connect_data_ocd_version(tvb, offset, pinfo, tree);
1335 offset=lustre_dissect_element_obd_connect_data_ocd_grant(tvb, offset, pinfo, tree);
1337 offset=lustre_dissect_element_obd_connect_data_ocd_index(tvb, offset, pinfo, tree);
1339 offset=lustre_dissect_element_obd_connect_data_ocd_brw_size(tvb, offset, pinfo, tree);
1341 offset=lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvb, offset, pinfo, tree);
1343 offset=lustre_dissect_element_obd_connect_data_ocd_nllu(tvb, offset, pinfo, tree);
1345 offset=lustre_dissect_element_obd_connect_data_ocd_nllg(tvb, offset, pinfo, tree);
1347 offset=lustre_dissect_element_obd_connect_data_ocd_transno(tvb, offset, pinfo, tree);
1349 offset=lustre_dissect_element_obd_connect_data_ocd_group(tvb, offset, pinfo, tree);
1351 offset=lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvb, offset, pinfo, tree);
1353 offset=lustre_dissect_element_obd_connect_data_padding1(tvb, offset, pinfo, tree);
1355 offset=lustre_dissect_element_obd_connect_data_padding2(tvb, offset, pinfo, tree);
1358 proto_item_set_len(item, offset-old_offset);
1364 /* IDL: struct lov_ost_data_v1 { */
1365 /* IDL: uint64 l_object_id; */
1366 /* IDL: uint64 l_object_gr; */
1367 /* IDL: uint32 l_ost_gen; */
1368 /* IDL: uint32 l_ost_idx; */
1372 lustre_dissect_element_lov_ost_data_v1_l_object_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1374 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_id);
1380 lustre_dissect_element_lov_ost_data_v1_l_object_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1382 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_gr);
1388 lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1390 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_gen);
1396 lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1398 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_idx);
1404 lustre_dissect_struct_lov_ost_data_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1406 proto_item *item = NULL;
1407 proto_tree *tree = NULL;
1415 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1416 tree = proto_item_add_subtree(item, ett_lustre_lov_ost_data_v1);
1419 offset=lustre_dissect_element_lov_ost_data_v1_l_object_id(tvb, offset, pinfo, tree);
1421 offset=lustre_dissect_element_lov_ost_data_v1_l_object_gr(tvb, offset, pinfo, tree);
1423 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvb, offset, pinfo, tree);
1425 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvb, offset, pinfo, tree);
1428 proto_item_set_len(item, offset-old_offset);
1433 /* IDL: struct lov_mds_md_v1 { */
1434 /* IDL: uint32 lmm_magic; */
1435 /* IDL: uint32 lmm_pattern; */
1436 /* IDL: uint64 lmm_object_id; */
1437 /* IDL: uint64 lmm_object_gr; */
1438 /* IDL: uint32 lmm_stripe_size; */
1439 /* IDL: uint32 lmm_stripe_count; */
1440 /* IDL: struct lov_ost_data_v1 { */
1441 /* IDL: } lmm_objects[0]; <-- en fait on en a lmm_stripe_count */
1445 lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1447 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_magic);
1453 lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1455 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_pattern);
1461 lustre_dissect_element_lov_mds_md_v1_lmm_object_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1463 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_id);
1469 lustre_dissect_element_lov_mds_md_v1_lmm_object_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1471 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_gr);
1477 lustre_dissect_element_lov_mds_md_v1_lmm_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1479 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_size);
1485 lustre_dissect_element_lov_mds_md_v1_lmm_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1487 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_count);
1493 lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1495 offset=lustre_dissect_struct_lov_ost_data_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1_lmm_objects);
1500 lustre_dissect_element_lov_mds_md_v1_lmm_objects(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int num)
1503 /*g_print("num = %d", num);*/
1504 for (i = 0; i < num; i++){
1505 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvb, offset, pinfo, tree);
1514 lustre_dissect_struct_lov_mds_md_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1516 proto_item *item = NULL;
1517 proto_tree *tree = NULL;
1520 guint32 stripe_count ;
1526 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1527 tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v1);
1530 offset=lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvb, offset, pinfo, tree);
1532 offset=lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvb, offset, pinfo, tree);
1534 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_id(tvb, offset, pinfo, tree);
1536 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_gr(tvb, offset, pinfo, tree);
1538 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_size(tvb, offset, pinfo, tree);
1540 stripe_count = tvb_get_letohl(tvb,offset);
1541 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_count(tvb, offset, pinfo, tree);
1543 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects(tvb, offset, pinfo, tree, stripe_count);
1546 proto_item_set_len(item, offset-old_offset);
1553 /* IDL: struct obd_statfs { */
1554 /* IDL: uint64 os_type; */
1555 /* IDL: uint64 os_blocks; */
1556 /* IDL: uint64 os_bfree; */
1557 /* IDL: uint64 os_bavail; */
1558 /* IDL: uint64 os_files; */
1559 /* IDL: uint64 os_ffree; */
1560 /* IDL: uint8 os_fsid[40]; */
1561 /* IDL: uint32 os_bsize; */
1562 /* IDL: uint32 os_namelen; */
1563 /* IDL: uint64 os_maxbytes; */
1564 /* IDL: uint32 os_state; */
1565 /* IDL: uint32 os_spare1; */
1566 /* IDL: uint32 os_spare2; */
1567 /* IDL: uint32 os_spare3; */
1568 /* IDL: uint32 os_spare4; */
1569 /* IDL: uint32 os_spare5; */
1570 /* IDL: uint32 os_spare6; */
1571 /* IDL: uint32 os_spare7; */
1572 /* IDL: uint32 os_spare8; */
1573 /* IDL: uint32 os_spare9; */
1577 lustre_dissect_element_obd_statfs_os_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1579 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_type);
1585 lustre_dissect_element_obd_statfs_os_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1587 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_blocks);
1593 lustre_dissect_element_obd_statfs_os_bfree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1595 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bfree);
1601 lustre_dissect_element_obd_statfs_os_bavail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1603 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bavail);
1609 lustre_dissect_element_obd_statfs_os_files(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1611 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_files);
1617 lustre_dissect_element_obd_statfs_os_ffree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1619 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_ffree);
1625 lustre_dissect_element_obd_statfs_os_fsid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1627 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_fsid);
1633 lustre_dissect_element_obd_statfs_os_fsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1636 for (i = 0; i < 40; i++)
1637 offset=lustre_dissect_element_obd_statfs_os_fsid_(tvb, offset, pinfo, tree);
1645 lustre_dissect_element_obd_statfs_os_bsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1647 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bsize);
1653 lustre_dissect_element_obd_statfs_os_namelen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1655 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_namelen);
1661 lustre_dissect_element_obd_statfs_os_maxbytes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1663 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_maxbytes);
1669 lustre_dissect_element_obd_statfs_os_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1671 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_state);
1677 lustre_dissect_element_obd_statfs_os_spare1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1679 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare1);
1685 lustre_dissect_element_obd_statfs_os_spare2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1687 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare2);
1693 lustre_dissect_element_obd_statfs_os_spare3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1695 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare3);
1701 lustre_dissect_element_obd_statfs_os_spare4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1703 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare4);
1709 lustre_dissect_element_obd_statfs_os_spare5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1711 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare5);
1717 lustre_dissect_element_obd_statfs_os_spare6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1719 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare6);
1725 lustre_dissect_element_obd_statfs_os_spare7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1727 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare7);
1733 lustre_dissect_element_obd_statfs_os_spare8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1735 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare8);
1741 lustre_dissect_element_obd_statfs_os_spare9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1743 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare9);
1749 lustre_dissect_struct_obd_statfs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1751 proto_item *item = NULL;
1752 proto_tree *tree = NULL;
1760 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1761 tree = proto_item_add_subtree(item, ett_lustre_obd_statfs);
1764 offset=lustre_dissect_element_obd_statfs_os_type(tvb, offset, pinfo, tree);
1766 offset=lustre_dissect_element_obd_statfs_os_blocks(tvb, offset, pinfo, tree);
1768 offset=lustre_dissect_element_obd_statfs_os_bfree(tvb, offset, pinfo, tree);
1770 offset=lustre_dissect_element_obd_statfs_os_bavail(tvb, offset, pinfo, tree);
1772 offset=lustre_dissect_element_obd_statfs_os_files(tvb, offset, pinfo, tree);
1774 offset=lustre_dissect_element_obd_statfs_os_ffree(tvb, offset, pinfo, tree);
1776 offset=lustre_dissect_element_obd_statfs_os_fsid(tvb, offset, pinfo, tree);
1778 offset=lustre_dissect_element_obd_statfs_os_bsize(tvb, offset, pinfo, tree);
1780 offset=lustre_dissect_element_obd_statfs_os_namelen(tvb, offset, pinfo, tree);
1782 offset=lustre_dissect_element_obd_statfs_os_maxbytes(tvb, offset, pinfo, tree);
1784 offset=lustre_dissect_element_obd_statfs_os_state(tvb, offset, pinfo, tree);
1786 offset=lustre_dissect_element_obd_statfs_os_spare1(tvb, offset, pinfo, tree);
1788 offset=lustre_dissect_element_obd_statfs_os_spare2(tvb, offset, pinfo, tree);
1790 offset=lustre_dissect_element_obd_statfs_os_spare3(tvb, offset, pinfo, tree);
1792 offset=lustre_dissect_element_obd_statfs_os_spare4(tvb, offset, pinfo, tree);
1794 offset=lustre_dissect_element_obd_statfs_os_spare5(tvb, offset, pinfo, tree);
1796 offset=lustre_dissect_element_obd_statfs_os_spare6(tvb, offset, pinfo, tree);
1798 offset=lustre_dissect_element_obd_statfs_os_spare7(tvb, offset, pinfo, tree);
1800 offset=lustre_dissect_element_obd_statfs_os_spare8(tvb, offset, pinfo, tree);
1802 offset=lustre_dissect_element_obd_statfs_os_spare9(tvb, offset, pinfo, tree);
1805 proto_item_set_len(item, offset-old_offset);
1810 /* IDL: struct obd_ioobj { */
1811 /* IDL: uint64 ioo_id; */
1812 /* IDL: uint64 ioo_gr; */
1813 /* IDL: uint32 ioo_type; */
1814 /* IDL: uint32 ioo_bufcnt; */
1818 lustre_dissect_element_obd_ioobj_ioo_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1820 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_id);
1826 lustre_dissect_element_obd_ioobj_ioo_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1828 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_gr);
1834 lustre_dissect_element_obd_ioobj_ioo_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1836 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_type);
1842 lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1844 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_bufcnt);
1850 lustre_dissect_struct_obd_ioobj(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1852 proto_item *item = NULL;
1853 proto_tree *tree = NULL;
1861 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1862 tree = proto_item_add_subtree(item, ett_lustre_obd_ioobj);
1865 offset=lustre_dissect_element_obd_ioobj_ioo_id(tvb, offset, pinfo, tree);
1867 offset=lustre_dissect_element_obd_ioobj_ioo_gr(tvb, offset, pinfo, tree);
1869 offset=lustre_dissect_element_obd_ioobj_ioo_type(tvb, offset, pinfo, tree);
1871 offset=lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvb, offset, pinfo, tree);
1874 proto_item_set_len(item, offset-old_offset);
1879 /* IDL: struct niobuf_remote { */
1880 /* IDL: uint64 offset; */
1881 /* IDL: uint32 len; */
1882 /* IDL: uint32 flags; */
1886 lustre_dissect_element_niobuf_remote_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1888 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_offset);
1894 lustre_dissect_element_niobuf_remote_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1896 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_len);
1902 lustre_dissect_element_niobuf_remote_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1904 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_flags);
1910 lustre_dissect_struct_niobuf_remote(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
1912 proto_item *item = NULL;
1913 proto_tree *tree = NULL;
1921 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1922 tree = proto_item_add_subtree(item, ett_lustre_niobuf_remote);
1925 offset=lustre_dissect_element_niobuf_remote_offset(tvb, offset, pinfo, tree);
1927 offset=lustre_dissect_element_niobuf_remote_len(tvb, offset, pinfo, tree);
1929 offset=lustre_dissect_element_niobuf_remote_flags(tvb, offset, pinfo, tree);
1932 proto_item_set_len(item, offset-old_offset);
1937 /* IDL: struct ost_lvb { */
1938 /* IDL: uint64 lvb_size; */
1939 /* IDL: uint64 lvb_mtime; */
1940 /* IDL: uint64 lvb_atime; */
1941 /* IDL: uint64 lvb_ctime; */
1942 /* IDL: uint64 lvb_blocks; */
1946 lustre_dissect_element_ost_lvb_lvb_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1948 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_size);
1954 lustre_dissect_element_ost_lvb_lvb_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1958 ns.secs = tvb_get_letohl(tvb,offset);
1960 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_mtime, tvb, offset, 8, &ns );
1966 lustre_dissect_element_ost_lvb_lvb_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1970 ns.secs = tvb_get_letohl(tvb,offset);
1972 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_atime, tvb, offset, 8, &ns );
1980 lustre_dissect_element_ost_lvb_lvb_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1984 ns.secs = tvb_get_letohl(tvb,offset);
1986 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_ctime, tvb, offset, 8, &ns );
1994 lustre_dissect_element_ost_lvb_lvb_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1996 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_blocks);
2002 lustre_dissect_struct_ost_lvb(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2004 proto_item *item = NULL;
2005 proto_tree *tree = NULL;
2013 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2014 tree = proto_item_add_subtree(item, ett_lustre_ost_lvb);
2017 offset=lustre_dissect_element_ost_lvb_lvb_size(tvb, offset, pinfo, tree);
2019 offset=lustre_dissect_element_ost_lvb_lvb_mtime(tvb, offset, pinfo, tree);
2021 offset=lustre_dissect_element_ost_lvb_lvb_atime(tvb, offset, pinfo, tree);
2023 offset=lustre_dissect_element_ost_lvb_lvb_ctime(tvb, offset, pinfo, tree);
2025 offset=lustre_dissect_element_ost_lvb_lvb_blocks(tvb, offset, pinfo, tree);
2028 proto_item_set_len(item, offset-old_offset);
2034 /* IDL: struct ll_fid { */
2035 /* IDL: uint64 id; */
2036 /* IDL: uint32 generation; */
2037 /* IDL: uint32 f_type; */
2041 lustre_dissect_element_ll_fid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2043 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ll_fid_id);
2049 lustre_dissect_element_ll_fid_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2051 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_generation);
2057 lustre_dissect_element_ll_fid_f_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2059 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_f_type);
2065 lustre_dissect_struct_ll_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2067 proto_item *item = NULL;
2068 proto_tree *tree = NULL;
2076 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2077 tree = proto_item_add_subtree(item, ett_lustre_ll_fid);
2080 offset=lustre_dissect_element_ll_fid_id(tvb, offset, pinfo, tree);
2082 offset=lustre_dissect_element_ll_fid_generation(tvb, offset, pinfo, tree);
2084 offset=lustre_dissect_element_ll_fid_f_type(tvb, offset, pinfo, tree);
2087 proto_item_set_len(item, offset-old_offset);
2092 /* IDL: struct mds_status_req { */
2093 /* IDL: uint32 flags; */
2094 /* IDL: uint32 repbuf; */
2098 lustre_dissect_element_mds_status_req_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2100 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_flags);
2106 lustre_dissect_element_mds_status_req_repbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2108 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_repbuf);
2114 lustre_dissect_struct_mds_status_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2116 proto_item *item = NULL;
2117 proto_tree *tree = NULL;
2124 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2125 tree = proto_item_add_subtree(item, ett_lustre_mds_status_req);
2128 offset=lustre_dissect_element_mds_status_req_flags(tvb, offset, pinfo, tree);
2130 offset=lustre_dissect_element_mds_status_req_repbuf(tvb, offset, pinfo, tree);
2133 proto_item_set_len(item, offset-old_offset);
2138 /* IDL: struct mds_body { */
2139 /* IDL: struct ll_fid { */
2141 /* IDL: struct ll_fid { */
2143 /* IDL: struct lustre_handle { */
2144 /* IDL: } handle; */
2145 /* IDL: uint64 valid; */
2146 /* IDL: uint64 size; */
2147 /* IDL: uint64 mtime; */
2148 /* IDL: uint64 atime; */
2149 /* IDL: uint64 ctime; */
2150 /* IDL: uint64 blocks; */
2151 /* IDL: uint64 io_epoch; */
2152 /* IDL: uint64 ino; */
2153 /* IDL: uint32 fsuid; */
2154 /* IDL: uint32 fsgid; */
2155 /* IDL: uint32 capability; */
2156 /* IDL: uint32 mode; */
2157 /* IDL: uint32 uid; */
2158 /* IDL: uint32 gid; */
2159 /* IDL: uint32 flags; */
2160 /* IDL: uint32 rdev; */
2161 /* IDL: uint32 nlink; */
2162 /* IDL: uint32 generation; */
2163 /* IDL: uint32 suppgid; */
2164 /* IDL: uint32 eadatasize; */
2165 /* IDL: uint32 aclsize; */
2166 /* IDL: uint32 max_mdsize; */
2167 /* IDL: uint32 max_cookiesize; */
2168 /* IDL: uint32 padding_4; */
2172 lustre_dissect_element_mds_body_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2174 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid1);
2179 lustre_dissect_element_mds_body_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2181 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid2);
2186 lustre_dissect_element_mds_body_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2188 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
2194 lustre_dissect_element_mds_body_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2196 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_valid);
2202 lustre_dissect_element_mds_body_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2204 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_size);
2210 lustre_dissect_element_mds_body_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2214 ns.secs = tvb_get_letohl(tvb,offset);
2216 proto_tree_add_time(tree, hf_lustre_mds_body_mtime, tvb, offset, 8, &ns );
2222 lustre_dissect_element_mds_body_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2226 ns.secs = tvb_get_letohl(tvb,offset);
2228 proto_tree_add_time(tree, hf_lustre_mds_body_atime, tvb, offset, 8, &ns );
2235 lustre_dissect_element_mds_body_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2239 ns.secs = tvb_get_letohl(tvb,offset);
2241 proto_tree_add_time(tree, hf_lustre_mds_body_ctime, tvb, offset, 8, &ns );
2247 lustre_dissect_element_mds_body_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2249 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_blocks);
2255 lustre_dissect_element_mds_body_io_epoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2257 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_io_epoch);
2263 lustre_dissect_element_mds_body_ino(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2265 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_ino);
2271 lustre_dissect_element_mds_body_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2273 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsuid);
2279 lustre_dissect_element_mds_body_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2281 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsgid);
2287 lustre_dissect_element_mds_body_capability(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2289 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_capability);
2295 lustre_dissect_element_mds_body_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2297 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_mode);
2303 lustre_dissect_element_mds_body_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2305 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_uid);
2311 lustre_dissect_element_mds_body_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2313 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_gid);
2319 lustre_dissect_element_mds_body_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2321 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_flags);
2327 lustre_dissect_element_mds_body_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2329 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_rdev);
2335 lustre_dissect_element_mds_body_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2337 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_nlink);
2343 lustre_dissect_element_mds_body_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2345 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_generation);
2351 lustre_dissect_element_mds_body_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2353 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_suppgid);
2359 lustre_dissect_element_mds_body_eadatasize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2361 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_eadatasize);
2367 lustre_dissect_element_mds_body_aclsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2369 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_aclsize);
2375 lustre_dissect_element_mds_body_max_mdsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2377 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_mdsize);
2383 lustre_dissect_element_mds_body_max_cookiesize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2385 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_cookiesize);
2391 lustre_dissect_element_mds_body_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2393 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_padding_4);
2399 lustre_dissect_struct_mds_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2401 proto_item *item = NULL;
2402 proto_tree *tree = NULL;
2409 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2410 tree = proto_item_add_subtree(item, ett_lustre_mds_body);
2413 offset=lustre_dissect_element_mds_body_fid1(tvb, offset, pinfo, tree);
2415 offset=lustre_dissect_element_mds_body_fid2(tvb, offset, pinfo, tree);
2417 offset=lustre_dissect_element_mds_body_handle(tvb, offset, pinfo, tree);
2419 offset=lustre_dissect_element_mds_body_valid(tvb, offset, pinfo, tree);
2421 offset=lustre_dissect_element_mds_body_size(tvb, offset, pinfo, tree);
2423 offset=lustre_dissect_element_mds_body_mtime(tvb, offset, pinfo, tree);
2425 offset=lustre_dissect_element_mds_body_atime(tvb, offset, pinfo, tree);
2427 offset=lustre_dissect_element_mds_body_ctime(tvb, offset, pinfo, tree);
2429 offset=lustre_dissect_element_mds_body_blocks(tvb, offset, pinfo, tree);
2431 offset=lustre_dissect_element_mds_body_io_epoch(tvb, offset, pinfo, tree);
2433 offset=lustre_dissect_element_mds_body_ino(tvb, offset, pinfo, tree);
2435 offset=lustre_dissect_element_mds_body_fsuid(tvb, offset, pinfo, tree);
2437 offset=lustre_dissect_element_mds_body_fsgid(tvb, offset, pinfo, tree);
2439 offset=lustre_dissect_element_mds_body_capability(tvb, offset, pinfo, tree);
2441 offset=lustre_dissect_element_mds_body_mode(tvb, offset, pinfo, tree);
2443 offset=lustre_dissect_element_mds_body_uid(tvb, offset, pinfo, tree);
2445 offset=lustre_dissect_element_mds_body_gid(tvb, offset, pinfo, tree);
2447 offset=lustre_dissect_element_mds_body_flags(tvb, offset, pinfo, tree);
2449 offset=lustre_dissect_element_mds_body_rdev(tvb, offset, pinfo, tree);
2451 offset=lustre_dissect_element_mds_body_nlink(tvb, offset, pinfo, tree);
2453 offset=lustre_dissect_element_mds_body_generation(tvb, offset, pinfo, tree);
2455 offset=lustre_dissect_element_mds_body_suppgid(tvb, offset, pinfo, tree);
2457 offset=lustre_dissect_element_mds_body_eadatasize(tvb, offset, pinfo, tree);
2459 offset=lustre_dissect_element_mds_body_aclsize(tvb, offset, pinfo, tree);
2461 offset=lustre_dissect_element_mds_body_max_mdsize(tvb, offset, pinfo, tree);
2463 offset=lustre_dissect_element_mds_body_max_cookiesize(tvb, offset, pinfo, tree);
2465 offset=lustre_dissect_element_mds_body_padding_4(tvb, offset, pinfo, tree);
2468 proto_item_set_len(item, offset-old_offset);
2473 /* IDL: struct obd_dqinfo { */
2474 /* IDL: uint64 dqi_bgrace; */
2475 /* IDL: uint64 dqi_igrace; */
2476 /* IDL: uint32 dqi_flags; */
2477 /* IDL: uint32 dqi_valid; */
2481 lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2483 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_bgrace);
2489 lustre_dissect_element_obd_dqinfo_dqi_igrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2491 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_igrace);
2497 lustre_dissect_element_obd_dqinfo_dqi_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2499 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_flags);
2505 lustre_dissect_element_obd_dqinfo_dqi_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2507 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_valid);
2513 lustre_dissect_struct_obd_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2515 proto_item *item = NULL;
2516 proto_tree *tree = NULL;
2521 old_offset = offset;
2524 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2525 tree = proto_item_add_subtree(item, ett_lustre_obd_dqinfo);
2528 offset = lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvb, offset, pinfo, tree);
2530 offset = lustre_dissect_element_obd_dqinfo_dqi_igrace(tvb, offset, pinfo, tree);
2532 offset = lustre_dissect_element_obd_dqinfo_dqi_flags(tvb, offset, pinfo, tree);
2534 offset = lustre_dissect_element_obd_dqinfo_dqi_valid(tvb, offset, pinfo, tree);
2537 proto_item_set_len(item, offset-old_offset);
2542 /* IDL: struct obd_dqblk { */
2543 /* IDL: uint64 dqb_bhardlimit; */
2544 /* IDL: uint64 dqb_bsoftlimit; */
2545 /* IDL: uint64 dqb_curspace; */
2546 /* IDL: uint64 dqb_ihardlimit; */
2547 /* IDL: uint64 dqb_isoftlimit; */
2548 /* IDL: uint64 dqb_curinodes; */
2549 /* IDL: uint64 dqb_btime; */
2550 /* IDL: uint64 dqb_itime; */
2551 /* IDL: uint32 dqb_valid; */
2552 /* IDL: uint32 padding; */
2556 lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2558 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bhardlimit);
2564 lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2566 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bsoftlimit);
2572 lustre_dissect_element_obd_dqblk_dqb_curspace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2574 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curspace);
2580 lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2582 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_ihardlimit);
2588 lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2590 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_isoftlimit);
2596 lustre_dissect_element_obd_dqblk_dqb_curinodes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2598 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curinodes);
2604 lustre_dissect_element_obd_dqblk_dqb_btime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2609 ns.secs = tvb_get_letohl(tvb,offset);
2611 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_btime, tvb, offset, 8, &ns );
2617 lustre_dissect_element_obd_dqblk_dqb_itime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2621 ns.secs = tvb_get_letohl(tvb,offset);
2623 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_itime, tvb, offset, 8, &ns );
2630 lustre_dissect_element_obd_dqblk_dqb_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2632 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_valid);
2638 lustre_dissect_element_obd_dqblk_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2640 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_padding);
2646 lustre_dissect_struct_obd_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2648 proto_item *item = NULL;
2649 proto_tree *tree = NULL;
2654 old_offset = offset;
2657 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2658 tree = proto_item_add_subtree(item, ett_lustre_obd_dqblk);
2661 offset = lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvb, offset, pinfo, tree);
2663 offset = lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvb, offset, pinfo, tree);
2665 offset = lustre_dissect_element_obd_dqblk_dqb_curspace(tvb, offset, pinfo, tree);
2667 offset = lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvb, offset, pinfo, tree);
2669 offset = lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvb, offset, pinfo, tree);
2671 offset = lustre_dissect_element_obd_dqblk_dqb_curinodes(tvb, offset, pinfo, tree);
2673 offset = lustre_dissect_element_obd_dqblk_dqb_btime(tvb, offset, pinfo, tree);
2675 offset = lustre_dissect_element_obd_dqblk_dqb_itime(tvb, offset, pinfo, tree);
2677 offset = lustre_dissect_element_obd_dqblk_dqb_valid(tvb, offset, pinfo, tree);
2679 offset = lustre_dissect_element_obd_dqblk_padding(tvb, offset, pinfo, tree);
2682 proto_item_set_len(item, offset-old_offset);
2688 /* IDL: struct obd_quotactl { */
2689 /* IDL: uint32 qc_cmd; */
2690 /* IDL: uint32 qc_type; */
2691 /* IDL: uint32 qc_id; */
2692 /* IDL: uint32 qc_stat; */
2693 /* IDL: struct obd_dqinfo { */
2694 /* IDL: } qc_dqinfo; */
2695 /* IDL: struct obd_dqblk { */
2696 /* IDL: } qc_dqblk; */
2700 lustre_dissect_element_obd_quotactl_qc_cmd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2702 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_cmd);
2708 lustre_dissect_element_obd_quotactl_qc_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2710 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_type);
2716 lustre_dissect_element_obd_quotactl_qc_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2718 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_id);
2724 lustre_dissect_element_obd_quotactl_qc_stat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2726 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_stat);
2734 lustre_dissect_element_obd_quotactl_qc_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2736 offset=lustre_dissect_struct_obd_dqblk(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqblk);
2741 lustre_dissect_element_obd_quotactl_qc_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2743 offset=lustre_dissect_struct_obd_dqinfo(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqinfo);
2748 lustre_dissect_struct_obd_quotactl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2750 proto_item *item = NULL;
2751 proto_tree *tree = NULL;
2757 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2758 tree = proto_item_add_subtree(item, ett_lustre_obd_quotactl);
2761 offset=lustre_dissect_element_obd_quotactl_qc_cmd(tvb, offset, pinfo, tree);
2763 offset=lustre_dissect_element_obd_quotactl_qc_type(tvb, offset, pinfo, tree);
2765 offset=lustre_dissect_element_obd_quotactl_qc_id(tvb, offset, pinfo, tree);
2767 offset=lustre_dissect_element_obd_quotactl_qc_stat(tvb, offset, pinfo, tree);
2769 offset=lustre_dissect_element_obd_quotactl_qc_dqinfo(tvb, offset, pinfo, tree);
2771 offset=lustre_dissect_element_obd_quotactl_qc_dqblk(tvb, offset, pinfo, tree);
2774 proto_item_set_len(item, offset-old_offset);
2780 /* IDL: struct quota_adjust_qunit { */
2781 /* IDL: uint32 qaq_flags; */
2782 /* IDL: uint32 qaq_id; */
2783 /* IDL: uint64 qaq_bunit_sz; */
2784 /* IDL: uint64 qaq_iunit_sz; */
2785 /* IDL: uint64 padding1; */
2789 lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2791 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_flags);
2797 lustre_dissect_element_quota_adjust_qunit_qaq_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2799 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_id);
2805 lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2807 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_bunit_sz);
2813 lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2815 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_iunit_sz);
2821 lustre_dissect_element_quota_adjust_qunit_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2823 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_padding1);
2829 lustre_dissect_struct_quota_adjust_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
2831 proto_item *item = NULL;
2832 proto_tree *tree = NULL;
2840 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2841 tree = proto_item_add_subtree(item, ett_lustre_quota_adjust_qunit);
2844 offset=lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvb, offset, pinfo, tree);
2846 offset=lustre_dissect_element_quota_adjust_qunit_qaq_id(tvb, offset, pinfo, tree);
2848 offset=lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvb, offset, pinfo, tree);
2850 offset=lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvb, offset, pinfo, tree);
2852 offset=lustre_dissect_element_quota_adjust_qunit_padding1(tvb, offset, pinfo, tree);
2855 proto_item_set_len(item, offset-old_offset);
2860 /* I don't find where this struct appear on wire.. need to search mdc_setattr_pack() */
2861 /* IDL: struct mds_rec_setattr { */
2862 /* IDL: uint32 sa_opcode; */
2863 /* IDL: uint32 sa_fsuid; */
2864 /* IDL: uint32 sa_fsgid; */
2865 /* IDL: uint32 sa_cap; */
2866 /* IDL: uint32 sa_suppgid; */
2867 /* IDL: uint32 sa_mode; */
2868 /* IDL: struct ll_fid { */
2869 /* IDL: } sa_fid; */
2870 /* IDL: uint64 sa_valid; */
2871 /* IDL: uint64 sa_size; */
2872 /* IDL: uint64 sa_mtime; */
2873 /* IDL: uint64 sa_atime; */
2874 /* IDL: uint64 sa_ctime; */
2875 /* IDL: uint32 sa_uid; */
2876 /* IDL: uint32 sa_gid; */
2877 /* IDL: uint32 sa_attr_flags; */
2878 /* IDL: uint32 sa_padding; */
2882 lustre_dissect_element_mds_rec_setattr_sa_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2884 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_opcode);
2890 lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2892 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsuid);
2898 lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2900 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsgid);
2906 lustre_dissect_element_mds_rec_setattr_sa_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2908 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_cap);
2914 lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2916 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_suppgid);
2922 lustre_dissect_element_mds_rec_setattr_sa_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2924 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_mode);
2930 lustre_dissect_element_mds_rec_setattr_sa_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2932 //offset=lustre_dissect_struct_HASH(0x85af8d0)(tvb,offset,pinfo,tree,hf_lustre_mds_rec_setattr_sa_fid);
2938 lustre_dissect_element_mds_rec_setattr_sa_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2940 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_valid);
2946 lustre_dissect_element_mds_rec_setattr_sa_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2948 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_size);
2954 lustre_dissect_element_mds_rec_setattr_sa_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2959 ns.secs = tvb_get_letohl(tvb,offset);
2961 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_mtime, tvb, offset, 8, &ns );
2967 lustre_dissect_element_mds_rec_setattr_sa_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2971 ns.secs = tvb_get_letohl(tvb,offset);
2973 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_atime, tvb, offset, 8, &ns );
2979 lustre_dissect_element_mds_rec_setattr_sa_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2983 ns.secs = tvb_get_letohl(tvb,offset);
2985 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_ctime, tvb, offset, 8, &ns );
2991 lustre_dissect_element_mds_rec_setattr_sa_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2993 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_uid);
2999 lustre_dissect_element_mds_rec_setattr_sa_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3001 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_gid);
3007 lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3009 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_attr_flags);
3015 lustre_dissect_element_mds_rec_setattr_sa_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3017 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_padding);
3023 lustre_dissect_struct_mds_rec_setattr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3025 proto_item *item = NULL;
3026 proto_tree *tree = NULL;
3035 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3036 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_setattr);
3038 sa_opcode=tvb_get_letohl(tvb,offset);
3039 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sa_opcode, lustre_mds_reint_t_vals, "Unknown sa_opc"));
3041 offset=lustre_dissect_element_mds_rec_setattr_sa_opcode(tvb, offset, pinfo, tree);
3043 offset=lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvb, offset, pinfo, tree);
3045 offset=lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvb, offset, pinfo, tree);
3047 offset=lustre_dissect_element_mds_rec_setattr_sa_cap(tvb, offset, pinfo, tree);
3049 offset=lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvb, offset, pinfo, tree);
3051 offset=lustre_dissect_element_mds_rec_setattr_sa_mode(tvb, offset, pinfo, tree);
3053 offset=lustre_dissect_element_mds_rec_setattr_sa_fid(tvb, offset, pinfo, tree);
3055 offset=lustre_dissect_element_mds_rec_setattr_sa_valid(tvb, offset, pinfo, tree);
3057 offset=lustre_dissect_element_mds_rec_setattr_sa_size(tvb, offset, pinfo, tree);
3059 offset=lustre_dissect_element_mds_rec_setattr_sa_mtime(tvb, offset, pinfo, tree);
3061 offset=lustre_dissect_element_mds_rec_setattr_sa_atime(tvb, offset, pinfo, tree);
3063 offset=lustre_dissect_element_mds_rec_setattr_sa_ctime(tvb, offset, pinfo, tree);
3065 offset=lustre_dissect_element_mds_rec_setattr_sa_uid(tvb, offset, pinfo, tree);
3067 offset=lustre_dissect_element_mds_rec_setattr_sa_gid(tvb, offset, pinfo, tree);
3069 offset=lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvb, offset, pinfo, tree);
3071 offset=lustre_dissect_element_mds_rec_setattr_sa_padding(tvb, offset, pinfo, tree);
3074 proto_item_set_len(item, offset-old_offset);
3080 /* IDL: struct mds_rec_create { */
3081 /* IDL: uint32 cr_opcode; */
3082 /* IDL: uint32 cr_fsuid; */
3083 /* IDL: uint32 cr_fsgid; */
3084 /* IDL: uint32 cr_cap; */
3085 /* IDL: uint32 cr_flags; */
3086 /* IDL: uint32 cr_mode; */
3087 /* IDL: struct ll_fid { */
3088 /* IDL: } cr_fid; */
3089 /* IDL: struct ll_fid { */
3090 /* IDL: } cr_replayfid; */
3091 /* IDL: uint64 cr_time; */
3092 /* IDL: uint64 cr_rdev; */
3093 /* IDL: uint32 cr_suppgid; */
3094 /* IDL: uint32 cr_padding_1; */
3095 /* IDL: uint32 cr_padding_2; */
3096 /* IDL: uint32 cr_padding_3; */
3097 /* IDL: uint32 cr_padding_4; */
3098 /* IDL: uint32 cr_padding_5; */
3102 lustre_dissect_element_mds_rec_create_cr_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3104 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_opcode);
3110 lustre_dissect_element_mds_rec_create_cr_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3112 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsuid);
3118 lustre_dissect_element_mds_rec_create_cr_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3120 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsgid);
3126 lustre_dissect_element_mds_rec_create_cr_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3128 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_cap);
3134 lustre_dissect_element_mds_rec_create_cr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3136 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_flags);
3142 lustre_dissect_element_mds_rec_create_cr_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3144 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_mode);
3150 lustre_dissect_element_mds_rec_create_cr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3152 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_fid);
3157 lustre_dissect_element_mds_rec_create_cr_replayfid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3159 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_replayfid);
3164 lustre_dissect_element_mds_rec_create_cr_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3168 ns.secs = tvb_get_letohl(tvb,offset);
3170 proto_tree_add_time(tree, hf_lustre_mds_rec_create_cr_time, tvb, offset, 8, &ns );
3177 lustre_dissect_element_mds_rec_create_cr_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3179 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_rdev);
3185 lustre_dissect_element_mds_rec_create_cr_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3187 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_suppgid);
3193 lustre_dissect_element_mds_rec_create_cr_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3195 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_1);
3201 lustre_dissect_element_mds_rec_create_cr_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3203 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_2);
3209 lustre_dissect_element_mds_rec_create_cr_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3211 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_3);
3217 lustre_dissect_element_mds_rec_create_cr_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3219 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_4);
3225 lustre_dissect_element_mds_rec_create_cr_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3227 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_5);
3233 lustre_dissect_struct_mds_rec_create(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3235 proto_item *item = NULL;
3236 proto_tree *tree = NULL;
3245 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3246 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_create);
3248 cr_opcode=tvb_get_letohl(tvb,offset);
3249 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(cr_opcode, lustre_mds_reint_t_vals, "Unknown cr_opc"));
3251 offset=lustre_dissect_element_mds_rec_create_cr_opcode(tvb, offset, pinfo, tree);
3253 offset=lustre_dissect_element_mds_rec_create_cr_fsuid(tvb, offset, pinfo, tree);
3255 offset=lustre_dissect_element_mds_rec_create_cr_fsgid(tvb, offset, pinfo, tree);
3257 offset=lustre_dissect_element_mds_rec_create_cr_cap(tvb, offset, pinfo, tree);
3259 offset=lustre_dissect_element_mds_rec_create_cr_flags(tvb, offset, pinfo, tree);
3261 offset=lustre_dissect_element_mds_rec_create_cr_mode(tvb, offset, pinfo, tree);
3263 offset=lustre_dissect_element_mds_rec_create_cr_fid(tvb, offset, pinfo, tree);
3265 offset=lustre_dissect_element_mds_rec_create_cr_replayfid(tvb, offset, pinfo, tree);
3267 offset=lustre_dissect_element_mds_rec_create_cr_time(tvb, offset, pinfo, tree);
3269 offset=lustre_dissect_element_mds_rec_create_cr_rdev(tvb, offset, pinfo, tree);
3271 offset=lustre_dissect_element_mds_rec_create_cr_suppgid(tvb, offset, pinfo, tree);
3273 offset=lustre_dissect_element_mds_rec_create_cr_padding_1(tvb, offset, pinfo, tree);
3275 offset=lustre_dissect_element_mds_rec_create_cr_padding_2(tvb, offset, pinfo, tree);
3277 offset=lustre_dissect_element_mds_rec_create_cr_padding_3(tvb, offset, pinfo, tree);
3279 offset=lustre_dissect_element_mds_rec_create_cr_padding_4(tvb, offset, pinfo, tree);
3281 offset=lustre_dissect_element_mds_rec_create_cr_padding_5(tvb, offset, pinfo, tree);
3284 proto_item_set_len(item, offset-old_offset);
3292 /* TODO : find where this structure appear ! */
3293 /* IDL: struct mds_rec_link { */
3294 /* IDL: uint32 lk_opcode; */
3295 /* IDL: uint32 lk_fsuid; */
3296 /* IDL: uint32 lk_fsgid; */
3297 /* IDL: uint32 lk_cap; */
3298 /* IDL: uint32 lk_suppgid1; */
3299 /* IDL: uint32 lk_suppgid2; */
3300 /* IDL: struct ll_fid { */
3301 /* IDL: } lk_fid1; */
3302 /* IDL: struct ll_fid { */
3303 /* IDL: } lk_fid2; */
3304 /* IDL: uint64 lk_time; */
3305 /* IDL: uint32 lk_padding_1; */
3306 /* IDL: uint32 lk_padding_2; */
3307 /* IDL: uint32 lk_padding_3; */
3308 /* IDL: uint32 lk_padding_4; */
3312 lustre_dissect_element_mds_rec_link_lk_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3314 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_opcode);
3320 lustre_dissect_element_mds_rec_link_lk_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3322 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsuid);
3328 lustre_dissect_element_mds_rec_link_lk_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3330 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsgid);
3336 lustre_dissect_element_mds_rec_link_lk_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3338 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_cap);
3344 lustre_dissect_element_mds_rec_link_lk_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3346 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid1);
3352 lustre_dissect_element_mds_rec_link_lk_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3354 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid2);
3360 lustre_dissect_element_mds_rec_link_lk_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3362 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid1);
3367 lustre_dissect_element_mds_rec_link_lk_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3369 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid2);
3374 lustre_dissect_element_mds_rec_link_lk_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3378 ns.secs = tvb_get_letohl(tvb,offset);
3380 proto_tree_add_time(tree, hf_lustre_mds_rec_link_lk_time, tvb, offset, 8, &ns );
3386 lustre_dissect_element_mds_rec_link_lk_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3388 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_1);
3394 lustre_dissect_element_mds_rec_link_lk_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3396 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_2);
3402 lustre_dissect_element_mds_rec_link_lk_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3404 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_3);
3410 lustre_dissect_element_mds_rec_link_lk_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3412 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_4);
3418 lustre_dissect_struct_mds_rec_link(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3420 proto_item *item = NULL;
3421 proto_tree *tree = NULL;
3430 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3431 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_link);
3433 lk_opcode=tvb_get_letohl(tvb,offset);
3434 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lk_opcode, lustre_mds_reint_t_vals, "Unknown lk_opc"));
3436 offset=lustre_dissect_element_mds_rec_link_lk_opcode(tvb, offset, pinfo, tree);
3438 offset=lustre_dissect_element_mds_rec_link_lk_fsuid(tvb, offset, pinfo, tree);
3440 offset=lustre_dissect_element_mds_rec_link_lk_fsgid(tvb, offset, pinfo, tree);
3442 offset=lustre_dissect_element_mds_rec_link_lk_cap(tvb, offset, pinfo, tree);
3444 offset=lustre_dissect_element_mds_rec_link_lk_suppgid1(tvb, offset, pinfo, tree);
3446 offset=lustre_dissect_element_mds_rec_link_lk_suppgid2(tvb, offset, pinfo, tree);
3448 offset=lustre_dissect_element_mds_rec_link_lk_fid1(tvb, offset, pinfo, tree);
3450 offset=lustre_dissect_element_mds_rec_link_lk_fid2(tvb, offset, pinfo, tree);
3452 offset=lustre_dissect_element_mds_rec_link_lk_time(tvb, offset, pinfo, tree);
3454 offset=lustre_dissect_element_mds_rec_link_lk_padding_1(tvb, offset, pinfo, tree);
3456 offset=lustre_dissect_element_mds_rec_link_lk_padding_2(tvb, offset, pinfo, tree);
3458 offset=lustre_dissect_element_mds_rec_link_lk_padding_3(tvb, offset, pinfo, tree);
3460 offset=lustre_dissect_element_mds_rec_link_lk_padding_4(tvb, offset, pinfo, tree);
3463 proto_item_set_len(item, offset-old_offset);
3470 /* IDL: struct mds_rec_unlink { */
3471 /* IDL: uint32 ul_opcode; */
3472 /* IDL: uint32 ul_fsuid; */
3473 /* IDL: uint32 ul_fsgid; */
3474 /* IDL: uint32 ul_cap; */
3475 /* IDL: uint32 ul_suppgid; */
3476 /* IDL: uint32 ul_mode; */
3477 /* IDL: struct ll_fid { */
3478 /* IDL: } ul_fid1; */
3479 /* IDL: struct ll_fid { */
3480 /* IDL: } ul_fid2; */
3481 /* IDL: uint64 ul_time; */
3482 /* IDL: uint32 ul_padding_1; */
3483 /* IDL: uint32 ul_padding_2; */
3484 /* IDL: uint32 ul_padding_3; */
3485 /* IDL: uint32 ul_padding_4; */
3489 lustre_dissect_element_mds_rec_unlink_ul_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3491 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_opcode);
3497 lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3499 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsuid);
3505 lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3507 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsgid);
3513 lustre_dissect_element_mds_rec_unlink_ul_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3515 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_cap);
3521 lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3523 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_suppgid);
3529 lustre_dissect_element_mds_rec_unlink_ul_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3531 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_mode);
3537 lustre_dissect_element_mds_rec_unlink_ul_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3539 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid1);
3544 lustre_dissect_element_mds_rec_unlink_ul_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3546 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid2);
3551 lustre_dissect_element_mds_rec_unlink_ul_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3555 ns.secs = tvb_get_letohl(tvb,offset);
3557 proto_tree_add_time(tree,hf_lustre_mds_rec_unlink_ul_time , tvb, offset, 8, &ns );
3563 lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3565 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_1);
3571 lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3573 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_2);
3579 lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3581 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_3);
3587 lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3589 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_4);
3595 lustre_dissect_struct_mds_rec_unlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3597 proto_item *item = NULL;
3598 proto_tree *tree = NULL;
3607 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3608 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_unlink);
3611 ul_opcode=tvb_get_letohl(tvb,offset);
3612 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(ul_opcode, lustre_mds_reint_t_vals, "Unknown ul_opc"));
3614 offset=lustre_dissect_element_mds_rec_unlink_ul_opcode(tvb, offset, pinfo, tree);
3616 offset=lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvb, offset, pinfo, tree);
3618 offset=lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvb, offset, pinfo, tree);
3620 offset=lustre_dissect_element_mds_rec_unlink_ul_cap(tvb, offset, pinfo, tree);
3622 offset=lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvb, offset, pinfo, tree);
3624 offset=lustre_dissect_element_mds_rec_unlink_ul_mode(tvb, offset, pinfo, tree);
3626 offset=lustre_dissect_element_mds_rec_unlink_ul_fid1(tvb, offset, pinfo, tree);
3628 offset=lustre_dissect_element_mds_rec_unlink_ul_fid2(tvb, offset, pinfo, tree);
3630 offset=lustre_dissect_element_mds_rec_unlink_ul_time(tvb, offset, pinfo, tree);
3632 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvb, offset, pinfo, tree);
3634 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvb, offset, pinfo, tree);
3636 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvb, offset, pinfo, tree);
3638 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvb, offset, pinfo, tree);
3641 proto_item_set_len(item, offset-old_offset);
3648 /* IDL: struct mds_rec_rename { */
3649 /* IDL: uint32 rn_opcode; */
3650 /* IDL: uint32 rn_fsuid; */
3651 /* IDL: uint32 rn_fsgid; */
3652 /* IDL: uint32 rn_cap; */
3653 /* IDL: uint32 rn_suppgid1; */
3654 /* IDL: uint32 rn_suppgid2; */
3655 /* IDL: struct ll_fid { */
3656 /* IDL: } rn_fid1; */
3657 /* IDL: struct ll_fid { */
3658 /* IDL: } rn_fid2; */
3659 /* IDL: uint64 rn_time; */
3660 /* IDL: uint32 rn_padding_1; */
3661 /* IDL: uint32 rn_padding_2; */
3662 /* IDL: uint32 rn_padding_3; */
3663 /* IDL: uint32 rn_padding_4; */
3667 lustre_dissect_element_mds_rec_rename_rn_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3669 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_opcode);
3675 lustre_dissect_element_mds_rec_rename_rn_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3677 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsuid);
3683 lustre_dissect_element_mds_rec_rename_rn_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3685 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsgid);
3691 lustre_dissect_element_mds_rec_rename_rn_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3693 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_cap);
3699 lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3701 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid1);
3707 lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3709 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid2);
3715 lustre_dissect_element_mds_rec_rename_rn_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3717 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid1);
3722 lustre_dissect_element_mds_rec_rename_rn_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3724 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid2);
3729 lustre_dissect_element_mds_rec_rename_rn_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3733 ns.secs = tvb_get_letohl(tvb,offset);
3735 proto_tree_add_time(tree, hf_lustre_mds_rec_rename_rn_time, tvb, offset, 8, &ns );
3741 lustre_dissect_element_mds_rec_rename_rn_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3743 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_1);
3749 lustre_dissect_element_mds_rec_rename_rn_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3751 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_2);
3757 lustre_dissect_element_mds_rec_rename_rn_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3759 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_3);
3765 lustre_dissect_element_mds_rec_rename_rn_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3767 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_4);
3773 lustre_dissect_struct_mds_rec_rename(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3775 proto_item *item = NULL;
3776 proto_tree *tree = NULL;
3785 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3786 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_rename);
3789 rn_opcode=tvb_get_letohl(tvb,offset);
3790 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(rn_opcode, lustre_mds_reint_t_vals, "Unknown rn_opc"));
3792 offset=lustre_dissect_element_mds_rec_rename_rn_opcode(tvb, offset, pinfo, tree);
3794 offset=lustre_dissect_element_mds_rec_rename_rn_fsuid(tvb, offset, pinfo, tree);
3796 offset=lustre_dissect_element_mds_rec_rename_rn_fsgid(tvb, offset, pinfo, tree);
3798 offset=lustre_dissect_element_mds_rec_rename_rn_cap(tvb, offset, pinfo, tree);
3800 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvb, offset, pinfo, tree);
3802 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvb, offset, pinfo, tree);
3804 offset=lustre_dissect_element_mds_rec_rename_rn_fid1(tvb, offset, pinfo, tree);
3806 offset=lustre_dissect_element_mds_rec_rename_rn_fid2(tvb, offset, pinfo, tree);
3808 offset=lustre_dissect_element_mds_rec_rename_rn_time(tvb, offset, pinfo, tree);
3810 offset=lustre_dissect_element_mds_rec_rename_rn_padding_1(tvb, offset, pinfo, tree);
3812 offset=lustre_dissect_element_mds_rec_rename_rn_padding_2(tvb, offset, pinfo, tree);
3814 offset=lustre_dissect_element_mds_rec_rename_rn_padding_3(tvb, offset, pinfo, tree);
3816 offset=lustre_dissect_element_mds_rec_rename_rn_padding_4(tvb, offset, pinfo, tree);
3819 proto_item_set_len(item, offset-old_offset);
3825 /* TODO : find where this structure appear */
3827 /* IDL: struct lov_desc { */
3828 /* IDL: uint32 ld_tgt_count; */
3829 /* IDL: uint32 ld_active_tgt_count; */
3830 /* IDL: uint32 ld_default_stripe_count; */
3831 /* IDL: uint32 ld_pattern; */
3832 /* IDL: uint64 ld_default_stripe_size; */
3833 /* IDL: uint64 ld_default_stripe_offset; */
3834 /* IDL: uint32 ld_padding_0; */
3835 /* IDL: uint32 ld_qos_maxage; */
3836 /* IDL: uint32 ld_padding_1; */
3837 /* IDL: uint32 ld_padding_2; */
3838 /* IDL: struct obd_uuid { */
3839 /* IDL: } ld_uuid; */
3843 lustre_dissect_element_lov_desc_ld_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3845 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_tgt_count);
3851 lustre_dissect_element_lov_desc_ld_active_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3853 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_active_tgt_count);
3859 lustre_dissect_element_lov_desc_ld_default_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3861 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_count);
3867 lustre_dissect_element_lov_desc_ld_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3869 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_pattern);
3875 lustre_dissect_element_lov_desc_ld_default_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3877 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_size);
3883 lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3885 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_offset);
3891 lustre_dissect_element_lov_desc_ld_padding_0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3893 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_0);
3899 lustre_dissect_element_lov_desc_ld_qos_maxage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3901 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_qos_maxage);
3907 lustre_dissect_element_lov_desc_ld_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3909 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_1);
3915 lustre_dissect_element_lov_desc_ld_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3917 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_2);
3923 lustre_dissect_element_lov_desc_ld_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3925 //offset=lustre_dissect_struct_HASH(0x85bade8)(tvb,offset,pinfo,tree,hf_lustre_lov_desc_ld_uuid);
3930 lustre_dissect_struct_lov_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3932 proto_item *item = NULL;
3933 proto_tree *tree = NULL;
3941 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3942 tree = proto_item_add_subtree(item, ett_lustre_lov_desc);
3945 offset=lustre_dissect_element_lov_desc_ld_tgt_count(tvb, offset, pinfo, tree);
3947 offset=lustre_dissect_element_lov_desc_ld_active_tgt_count(tvb, offset, pinfo, tree);
3949 offset=lustre_dissect_element_lov_desc_ld_default_stripe_count(tvb, offset, pinfo, tree);
3951 offset=lustre_dissect_element_lov_desc_ld_pattern(tvb, offset, pinfo, tree);
3953 offset=lustre_dissect_element_lov_desc_ld_default_stripe_size(tvb, offset, pinfo, tree);
3955 offset=lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvb, offset, pinfo, tree);
3957 offset=lustre_dissect_element_lov_desc_ld_padding_0(tvb, offset, pinfo, tree);
3959 offset=lustre_dissect_element_lov_desc_ld_qos_maxage(tvb, offset, pinfo, tree);
3961 offset=lustre_dissect_element_lov_desc_ld_padding_1(tvb, offset, pinfo, tree);
3963 offset=lustre_dissect_element_lov_desc_ld_padding_2(tvb, offset, pinfo, tree);
3965 offset=lustre_dissect_element_lov_desc_ld_uuid(tvb, offset, pinfo, tree);
3968 proto_item_set_len(item, offset-old_offset);
3973 /* IDL: struct obd_uuid { */
3974 /* char uuid[40]; */
3978 lustre_dissect_struct_obd_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3981 /* the lenght of the string is 40 bytes max, with \0 inside */
3983 proto_tree_add_item(parent_tree, hf_index, tvb, offset, 40, TRUE);
3992 /* IDL: struct ldlm_res_id { */
3993 /* IDL: uint64 name[4]; */
3997 lustre_dissect_element_ldlm_res_id_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3999 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_res_id_name);
4005 lustre_dissect_element_ldlm_res_id_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4008 for (i = 0; i < 4; i++)
4009 offset=lustre_dissect_element_ldlm_res_id_name_(tvb, offset, pinfo, tree);
4017 lustre_dissect_struct_ldlm_res_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4019 proto_item *item = NULL;
4020 proto_tree *tree = NULL;
4028 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4029 tree = proto_item_add_subtree(item, ett_lustre_ldlm_res_id);
4032 offset=lustre_dissect_element_ldlm_res_id_name(tvb, offset, pinfo, tree);
4035 proto_item_set_len(item, offset-old_offset);
4042 /* IDL: LCK_MINMODE=0, */
4043 /* IDL: LCK_EX=1, */
4044 /* IDL: LCK_PW=2, */
4045 /* IDL: LCK_PR=4, */
4046 /* IDL: LCK_CW=8, */
4047 /* IDL: LCK_CR=16, */
4048 /* IDL: LCK_NL=32, */
4049 /* IDL: LCK_GROUP=64, */
4050 /* IDL: LCK_MAXMODE, */
4054 lustre_dissect_enum_ldlm_mode_t(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
4056 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
4062 /* IDL: LDLM_PLAIN=10, */
4063 /* IDL: LDLM_EXTENT=11, */
4064 /* IDL: LDLM_FLOCK=12, */
4065 /* IDL: LDLM_IBITS=13, */
4066 /* IDL: LDLM_MAX_TYPE, */
4070 lustre_dissect_enum_ldlm_type_t(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_)
4072 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
4076 /* IDL: struct ldlm_extent { */
4077 /* IDL: uint64 start; */
4078 /* IDL: uint64 end; */
4079 /* IDL: uint64 gid; */
4083 lustre_dissect_element_ldlm_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4085 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_start);
4091 lustre_dissect_element_ldlm_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4093 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_end);
4099 lustre_dissect_element_ldlm_extent_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4101 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_gid);
4107 lustre_dissect_struct_ldlm_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4109 proto_item *item = NULL;
4110 proto_tree *tree = NULL;
4118 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4119 tree = proto_item_add_subtree(item, ett_lustre_ldlm_extent);
4122 offset=lustre_dissect_element_ldlm_extent_start(tvb, offset, pinfo, tree);
4124 offset=lustre_dissect_element_ldlm_extent_end(tvb, offset, pinfo, tree);
4126 offset=lustre_dissect_element_ldlm_extent_gid(tvb, offset, pinfo, tree);
4129 proto_item_set_len(item, offset-old_offset);
4134 /* IDL: struct ldlm_inodebits { */
4135 /* IDL: uint64 bits; */
4139 lustre_dissect_element_ldlm_inodebits_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4141 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_inodebits_bits);
4147 lustre_dissect_struct_ldlm_inodebits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4149 proto_item *item = NULL;
4150 proto_tree *tree = NULL;
4158 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4159 tree = proto_item_add_subtree(item, ett_lustre_ldlm_inodebits);
4162 offset=lustre_dissect_element_ldlm_inodebits_bits(tvb, offset, pinfo, tree);
4165 proto_item_set_len(item, offset-old_offset);
4170 /* IDL: struct ldlm_flock { */
4171 /* IDL: uint64 start; */
4172 /* IDL: uint64 end; */
4173 /* IDL: uint64 blocking_export; */
4174 /* IDL: uint32 blocking_pid; */
4175 /* IDL: uint32 pid; */
4179 lustre_dissect_element_ldlm_flock_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4181 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_start);
4187 lustre_dissect_element_ldlm_flock_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4189 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_end);
4195 lustre_dissect_element_ldlm_flock_blocking_export(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4197 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_export);
4203 lustre_dissect_element_ldlm_flock_blocking_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4205 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_pid);
4211 lustre_dissect_element_ldlm_flock_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4213 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_pid);
4219 lustre_dissect_struct_ldlm_flock(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4221 proto_item *item = NULL;
4222 proto_tree *tree = NULL;
4230 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4231 tree = proto_item_add_subtree(item, ett_lustre_ldlm_flock);
4234 offset=lustre_dissect_element_ldlm_flock_start(tvb, offset, pinfo, tree);
4236 offset=lustre_dissect_element_ldlm_flock_end(tvb, offset, pinfo, tree);
4238 offset=lustre_dissect_element_ldlm_flock_blocking_export(tvb, offset, pinfo, tree);
4240 offset=lustre_dissect_element_ldlm_flock_blocking_pid(tvb, offset, pinfo, tree);
4242 offset=lustre_dissect_element_ldlm_flock_pid(tvb, offset, pinfo, tree);
4245 proto_item_set_len(item, offset-old_offset);
4250 /* IDL: struct ldlm_intent { */
4251 /* IDL: uint64 opc; */
4255 lustre_dissect_element_ldlm_intent_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4258 /* this opcode is like a flag*/
4259 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_open );
4260 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_creat );
4261 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_readdir );
4262 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getattr );
4263 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_lookup );
4264 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_unlink );
4265 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getxattr);
4266 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_exec );
4267 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_pin );
4268 opcode = tvb_get_letohl(tvb,offset);
4270 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, "[ intent :");
4271 if(opcode & IT_OPEN ){
4272 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " open");
4273 proto_item_append_text(tree, " open" );
4275 if(opcode & IT_CREAT ){
4276 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " create");
4277 proto_item_append_text(tree, " create" );
4279 if(opcode & IT_READDIR ){
4280 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " readdir");
4281 proto_item_append_text(tree, " readdir" );
4283 if(opcode & IT_GETATTR ){
4284 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getattr");
4285 proto_item_append_text(tree, " getattr" );
4287 if(opcode & IT_LOOKUP ){
4288 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " lookup");
4289 proto_item_append_text(tree, " lookup" );
4291 if(opcode & IT_UNLINK ){
4292 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " unlink");
4293 proto_item_append_text(tree, " unlink" );
4295 if(opcode & IT_GETXATTR){
4296 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getxattr");
4297 proto_item_append_text(tree, " getxattr" );
4299 if(opcode & IT_EXEC ){
4300 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " exec");
4301 proto_item_append_text(tree, " exec" );
4303 if(opcode & IT_PIN ){
4304 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " pin");
4305 proto_item_append_text(tree, " pin" );
4308 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " ]");
4314 lustre_dissect_struct_ldlm_intent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4316 // proto_item *item = NULL;
4317 //proto_tree *tree = NULL;
4320 proto_item * opcode_item = NULL;
4321 proto_tree * opcode_tree = NULL;
4324 // if (parent_tree) {
4325 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4326 // tree = proto_item_add_subtree(item, ett_lustre_ldlm_intent);
4327 // //tree = parent_tree; /* TODO : !!!!!!!!!!!!!!! ATTENTIon à revoir,
4328 // //fait rapidement pour ne pas avoir le subtree */
4332 intent_opc = tvb_get_letoh64(tvb,offset);
4334 opcode_item = proto_tree_add_item(parent_tree, hf_lustre_ldlm_intent_opc, tvb, offset, 8, TRUE);
4335 opcode_tree = proto_item_add_subtree(opcode_item, ett_lustre_ldlm_intent_opc);
4338 offset=lustre_dissect_element_ldlm_intent_opc(tvb, offset, pinfo, opcode_tree);
4340 offset=ldlm_opcode_process(tvb, offset, pinfo, parent_tree, intent_opc);
4347 /* IDL: struct ldlm_resource_desc { */
4348 /* IDL: ldlm_type_t lr_type; */
4349 /* IDL: uint32 lr_padding; */
4350 /* IDL: struct ldlm_res_id { */
4351 /* IDL: } lr_name; */
4355 lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4357 /* offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);*/
4358 offset=lustre_dissect_enum_ldlm_type_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);
4363 lustre_dissect_element_ldlm_resource_desc_lr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4365 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_padding);
4371 lustre_dissect_element_ldlm_resource_desc_lr_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4373 offset=lustre_dissect_struct_ldlm_res_id(tvb,offset,pinfo,tree,hf_lustre_ldlm_resource_desc_lr_name);
4378 lustre_dissect_struct_ldlm_resource_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4380 proto_item *item = NULL;
4381 proto_tree *tree = NULL;
4389 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4390 tree = proto_item_add_subtree(item, ett_lustre_ldlm_resource_desc);
4393 offset=lustre_dissect_element_ldlm_resource_desc_lr_type(tvb, offset, pinfo, tree);
4395 offset=lustre_dissect_element_ldlm_resource_desc_lr_padding(tvb, offset, pinfo, tree);
4397 offset=lustre_dissect_element_ldlm_resource_desc_lr_name(tvb, offset, pinfo, tree);
4400 proto_item_set_len(item, offset-old_offset);
4406 /* IDL: struct ldlm_lock_desc { */
4407 /* IDL: struct ldlm_resource_desc { */
4408 /* IDL: } l_resource; */
4409 /* IDL: ldlm_mode_t l_req_mode; */
4410 /* IDL: ldlm_mode_t l_granted_mode; */
4411 /* IDL: ldlm_policy_data_t l_policy_data; */
4415 lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4417 offset=lustre_dissect_struct_ldlm_resource_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_resource);
4422 lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4424 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_req_mode);
4430 lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4432 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_granted_mode);
4438 lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4441 guint32 lr_type; /* type of the lock */
4443 lr_type = tvb_get_letohl(tvb,offset - 48 ); /* TODO : find another way that using -48 */
4445 /* this section must be check with lustre code, possible mistake here */
4449 offset=lustre_dissect_struct_ldlm_flock(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4452 offset= lustre_dissect_struct_ldlm_extent(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4453 /* add an extra padding 8 bytes */
4454 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4457 offset=lustre_dissect_struct_ldlm_inodebits(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4458 /* add an extra padding 24 bytes */
4459 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4460 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4461 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4464 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4465 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4466 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4467 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4474 lustre_dissect_struct_ldlm_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4476 proto_item *item = NULL;
4477 proto_tree *tree = NULL;
4480 guint32 lock_req_mode;
4486 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4487 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_desc);
4490 offset=lustre_dissect_element_ldlm_lock_desc_l_resource(tvb, offset, pinfo, tree);
4492 lock_req_mode = tvb_get_letohl(tvb,offset);
4494 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_t_vals, "Unknown lock"));
4496 offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
4498 offset=lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvb, offset, pinfo, tree);
4500 offset=lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvb, offset, pinfo, tree);
4503 proto_item_set_len(item, offset-old_offset);
4509 /* IDL: struct ldlm_request { */
4510 /* IDL: uint32 lock_flags; */
4511 /* IDL: uint32 lock_count; */
4512 /* IDL: struct ldlm_lock_desc { */
4513 /* IDL: } lock_desc; */
4514 /* IDL: struct lustre_handle { */
4515 /* IDL: } lock_handle[2]; */
4521 lustre_dissect_element_ldlm_request_lock_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4523 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_count);
4529 lustre_dissect_element_ldlm_request_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4531 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_desc);
4538 lustre_dissect_element_ldlm_request_lock_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4540 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4541 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4543 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_handle);
4548 lustre_dissect_element_ldlm_request_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4551 for (i = 0; i < 2; i++)
4552 offset=lustre_dissect_element_ldlm_request_lock_handle_(tvb, offset, pinfo, tree);
4558 lustre_dissect_struct_ldlm_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4560 proto_item *item = NULL;
4561 proto_tree *tree = NULL;
4569 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4570 tree = proto_item_add_subtree(item, ett_lustre_ldlm_request);
4573 lock_flag = tvb_get_letohl(tvb,offset);
4574 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_flags);
4576 offset=lustre_dissect_element_ldlm_request_lock_count(tvb, offset, pinfo, tree);
4578 /* ldlm_type = (EXTENT, PLAIN, ou IBITS) */
4579 ldlm_type = tvb_get_letohl(tvb,offset);
4580 offset=lustre_dissect_element_ldlm_request_lock_desc(tvb, offset, pinfo, tree);
4581 offset=lustre_dissect_element_ldlm_request_lock_handle(tvb, offset, pinfo, tree);
4583 proto_item_set_len(item, offset-old_offset);
4591 /* IDL: struct ldlm_reply { */
4592 /* IDL: uint32 lock_flags; */
4593 /* IDL: uint32 lock_padding; */
4594 /* IDL: struct ldlm_lock_desc { */
4595 /* IDL: } lock_desc; */
4596 /* IDL: struct lustre_handle { */
4597 /* IDL: } lock_handle; */
4598 /* IDL: uint64 lock_policy_res1; */
4599 /* IDL: uint64 lock_policy_res2; */
4604 lustre_dissect_element_ldlm_lock_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4606 proto_item *item = NULL;
4607 proto_tree *tree = NULL;
4610 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
4611 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_flags);
4613 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_ast_discard_data);
4614 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_deny_on_contention);
4615 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_done );
4616 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_ast );
4617 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_atomic_cb );
4618 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cleaned );
4619 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cp_reqd );
4620 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel_on_block );
4621 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_lru );
4622 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_kms_ignore );
4623 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lvb_ready );
4624 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_test_lock );
4625 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_nowait );
4626 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_timeout );
4627 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_discard_data );
4628 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_warn );
4629 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local );
4630 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_canceling );
4631 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_has_intent );
4632 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_failed );
4633 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local_only );
4634 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_intent_only );
4635 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_replay );
4636 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel );
4637 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_wait_noreproc );
4638 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_ast_sent );
4639 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cbpending );
4640 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_wait );
4641 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_conv );
4642 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_granted );
4643 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lock_changed );
4648 lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4650 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_padding);
4656 lustre_dissect_element_ldlm_reply_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4658 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_desc);
4663 lustre_dissect_element_ldlm_reply_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4665 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4666 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4668 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_handle);
4673 lustre_dissect_element_ldlm_reply_lock_policy_res1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4675 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res1);
4681 lustre_dissect_element_ldlm_reply_lock_policy_res2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4683 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res2);
4689 lustre_dissect_struct_ldlm_reply(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 * ldlm_type _U_ )
4691 proto_item *item = NULL;
4692 proto_tree *tree = NULL;
4700 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4701 tree = proto_item_add_subtree(item, ett_lustre_ldlm_reply);
4704 lock_flag = tvb_get_letohl(tvb,offset);
4705 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_flags);
4707 offset=lustre_dissect_element_ldlm_reply_lock_padding(tvb, offset, pinfo, tree);
4709 if (ldlm_type != NULL)
4710 *ldlm_type = tvb_get_letohl(tvb,offset);
4711 offset=lustre_dissect_element_ldlm_reply_lock_desc(tvb, offset, pinfo, tree);
4713 offset=lustre_dissect_element_ldlm_reply_lock_handle(tvb, offset, pinfo, tree);
4715 offset=lustre_dissect_element_ldlm_reply_lock_policy_res1(tvb, offset, pinfo, tree);
4717 offset=lustre_dissect_element_ldlm_reply_lock_policy_res2(tvb, offset, pinfo, tree);
4719 proto_item_set_len(item, offset-old_offset);
4727 /* IDL: struct mgs_send_param { */
4728 /* IDL: uint8 mgs_param[1024]; */
4734 lustre_dissect_element_mgs_send_param_mgs_param_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4736 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_send_param_mgs_param);
4742 lustre_dissect_element_mgs_send_param_mgs_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4745 for (i = 0; i < 1024; i++)
4746 offset=lustre_dissect_element_mgs_send_param_mgs_param_(tvb, offset, pinfo, tree);
4752 lustre_dissect_struct_mgs_send_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4754 proto_item *item = NULL;
4755 proto_tree *tree = NULL;
4762 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4763 tree = proto_item_add_subtree(item, ett_lustre_mgs_send_param);
4766 offset=lustre_dissect_element_mgs_send_param_mgs_param(tvb, offset, pinfo, tree);
4769 proto_item_set_len(item, offset-old_offset);
4774 /* IDL: struct mgs_target_info { */
4775 /* IDL: uint32 mti_lustre_ver; */
4776 /* IDL: uint32 mti_stripe_index; */
4777 /* IDL: uint32 mti_config_ver; */
4778 /* IDL: uint32 mti_flags; */
4779 /* IDL: uint32 mti_nid_count; */
4780 /* IDL: uint32 padding; */
4781 /* IDL: uint8 mti_fsname[64]; */
4782 /* IDL: uint8 mti_svname[64]; */
4783 /* IDL: uint8 mti_uuid[40]; */
4784 /* IDL: uint64 mti_nids[32]; */
4785 /* IDL: uint8 mti_params[4096]; */
4789 lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4791 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_lustre_ver);
4797 lustre_dissect_element_mgs_target_info_mti_stripe_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4799 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_stripe_index);
4805 lustre_dissect_element_mgs_target_info_mti_config_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4807 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_config_ver);
4813 lustre_dissect_element_mgs_target_info_mti_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4815 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_flags);
4821 lustre_dissect_element_mgs_target_info_mti_nid_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4823 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nid_count);
4829 lustre_dissect_element_mgs_target_info_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4831 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_padding);
4837 lustre_dissect_element_mgs_target_info_mti_fsname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4839 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_fsname);
4845 lustre_dissect_element_mgs_target_info_mti_fsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4848 for (i = 0; i < 64; i++)
4849 offset=lustre_dissect_element_mgs_target_info_mti_fsname_(tvb, offset, pinfo, tree);
4859 lustre_dissect_element_mgs_target_info_mti_svname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4861 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_svname);
4867 lustre_dissect_element_mgs_target_info_mti_svname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4870 for (i = 0; i < 64; i++)
4871 offset=lustre_dissect_element_mgs_target_info_mti_svname_(tvb, offset, pinfo, tree);
4877 lustre_dissect_element_mgs_target_info_mti_uuid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4879 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_uuid);
4885 lustre_dissect_element_mgs_target_info_mti_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4888 for (i = 0; i < 40; i++)
4889 offset=lustre_dissect_element_mgs_target_info_mti_uuid_(tvb, offset, pinfo, tree);
4899 lustre_dissect_element_mgs_target_info_mti_nids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4901 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nids);
4907 lustre_dissect_element_mgs_target_info_mti_nids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4910 for (i = 0; i < 32; i++)
4911 offset=lustre_dissect_element_mgs_target_info_mti_nids_(tvb, offset, pinfo, tree);
4919 lustre_dissect_element_mgs_target_info_mti_params_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4921 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_params);
4927 lustre_dissect_element_mgs_target_info_mti_params(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4930 for (i = 0; i < 4096; i++)
4931 offset=lustre_dissect_element_mgs_target_info_mti_params_(tvb, offset, pinfo, tree);
4937 lustre_dissect_struct_mgs_target_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
4939 proto_item *item = NULL;
4940 proto_tree *tree = NULL;
4948 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4949 tree = proto_item_add_subtree(item, ett_lustre_mgs_target_info);
4952 offset=lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvb, offset, pinfo, tree);
4954 offset=lustre_dissect_element_mgs_target_info_mti_stripe_index(tvb, offset, pinfo, tree);
4956 offset=lustre_dissect_element_mgs_target_info_mti_config_ver(tvb, offset, pinfo, tree);
4958 offset=lustre_dissect_element_mgs_target_info_mti_flags(tvb, offset, pinfo, tree);
4960 offset=lustre_dissect_element_mgs_target_info_mti_nid_count(tvb, offset, pinfo, tree);
4962 offset=lustre_dissect_element_mgs_target_info_padding(tvb, offset, pinfo, tree);
4964 offset=lustre_dissect_element_mgs_target_info_mti_fsname(tvb, offset, pinfo, tree);
4966 offset=lustre_dissect_element_mgs_target_info_mti_svname(tvb, offset, pinfo, tree);
4968 offset=lustre_dissect_element_mgs_target_info_mti_uuid(tvb, offset, pinfo, tree);
4970 offset=lustre_dissect_element_mgs_target_info_mti_nids(tvb, offset, pinfo, tree);
4972 offset=lustre_dissect_element_mgs_target_info_mti_params(tvb, offset, pinfo, tree);
4975 proto_item_set_len(item, offset-old_offset);
4980 /* IDL: struct cfg_marker { */
4981 /* IDL: uint32 cm_step; */
4982 /* IDL: uint32 cm_flags; */
4983 /* IDL: uint32 cm_vers; */
4984 /* IDL: uint32 padding; */
4985 /* IDL: time_t cm_createtime; */
4986 /* IDL: time_t cm_canceltime; */
4987 /* IDL: uint8 cm_tgtname[64]; */
4988 /* IDL: uint8 cm_comment[64]; */
4992 lustre_dissect_element_cfg_marker_cm_step(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4994 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_step);
5000 lustre_dissect_element_cfg_marker_cm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5002 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_flags);
5008 lustre_dissect_element_cfg_marker_cm_vers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5010 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_vers);
5016 lustre_dissect_element_cfg_marker_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5018 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_padding);
5024 lustre_dissect_element_cfg_marker_cm_createtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5026 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_createtime );
5027 /*g_print("function lustre_dissect_element_cfg_marker_cm_createtime don't work\n");*/
5032 lustre_dissect_element_cfg_marker_cm_canceltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5034 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_canceltime);
5036 /*g_print("element_cfg_marker_cm_canceltime\n");*/
5043 lustre_dissect_element_cfg_marker_cm_tgtname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5045 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_tgtname);
5051 lustre_dissect_element_cfg_marker_cm_tgtname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5054 for (i = 0; i < 64; i++)
5055 offset=lustre_dissect_element_cfg_marker_cm_tgtname_(tvb, offset, pinfo, tree);
5063 lustre_dissect_element_cfg_marker_cm_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5065 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_comment);
5071 lustre_dissect_element_cfg_marker_cm_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5074 for (i = 0; i < 64; i++)
5075 offset=lustre_dissect_element_cfg_marker_cm_comment_(tvb, offset, pinfo, tree);
5081 lustre_dissect_struct_cfg_marker(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5083 proto_item *item = NULL;
5084 proto_tree *tree = NULL;
5092 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5093 tree = proto_item_add_subtree(item, ett_lustre_cfg_marker);
5096 offset=lustre_dissect_element_cfg_marker_cm_step(tvb, offset, pinfo, tree);
5098 offset=lustre_dissect_element_cfg_marker_cm_flags(tvb, offset, pinfo, tree);
5100 offset=lustre_dissect_element_cfg_marker_cm_vers(tvb, offset, pinfo, tree);
5102 offset=lustre_dissect_element_cfg_marker_padding(tvb, offset, pinfo, tree);
5104 offset=lustre_dissect_element_cfg_marker_cm_createtime(tvb, offset, pinfo, tree);
5106 offset=lustre_dissect_element_cfg_marker_cm_canceltime(tvb, offset, pinfo, tree);
5108 offset=lustre_dissect_element_cfg_marker_cm_tgtname(tvb, offset, pinfo, tree);
5110 offset=lustre_dissect_element_cfg_marker_cm_comment(tvb, offset, pinfo, tree);
5113 proto_item_set_len(item, offset-old_offset);
5120 /* IDL: struct llog_logid { */
5121 /* IDL: uint64 lgl_oid; */
5122 /* IDL: uint64 lgl_ogr; */
5123 /* IDL: uint32 lgl_ogen; */
5127 lustre_dissect_element_llog_logid_lgl_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5129 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oid);
5135 lustre_dissect_element_llog_logid_lgl_ogr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5137 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogr);
5143 lustre_dissect_element_llog_logid_lgl_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5145 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogen);
5151 lustre_dissect_struct_llog_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5153 proto_item *item = NULL;
5154 proto_tree *tree = NULL;
5162 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5163 tree = proto_item_add_subtree(item, ett_lustre_llog_logid);
5166 offset=lustre_dissect_element_llog_logid_lgl_oid(tvb, offset, pinfo, tree);
5168 offset=lustre_dissect_element_llog_logid_lgl_ogr(tvb, offset, pinfo, tree);
5170 offset=lustre_dissect_element_llog_logid_lgl_ogen(tvb, offset, pinfo, tree);
5173 proto_item_set_len(item, offset-old_offset);
5178 /* I don't know when this structure is used on network */
5179 /* IDL: struct llog_catid { */
5180 /* IDL: struct llog_logid { */
5181 /* IDL: } lci_logid; */
5182 /* IDL: uint32 lci_padding1; */
5183 /* IDL: uint32 lci_padding2; */
5184 /* IDL: uint32 lci_padding3; */
5188 lustre_dissect_element_llog_catid_lci_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5190 //offset=lustre_dissect_struct_HASH(0x85cc76c)(tvb,offset,pinfo,tree,hf_lustre_llog_catid_lci_logid);
5192 /*g_print("llog_catid_lci_logid bug\n");*/
5197 lustre_dissect_element_llog_catid_lci_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5199 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding1);
5205 lustre_dissect_element_llog_catid_lci_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5207 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding2);
5213 lustre_dissect_element_llog_catid_lci_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5215 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding3);
5221 lustre_dissect_struct_llog_catid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5223 proto_item *item = NULL;
5224 proto_tree *tree = NULL;
5232 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5233 tree = proto_item_add_subtree(item, ett_lustre_llog_catid);
5236 offset=lustre_dissect_element_llog_catid_lci_logid(tvb, offset, pinfo, tree);
5238 offset=lustre_dissect_element_llog_catid_lci_padding1(tvb, offset, pinfo, tree);
5240 offset=lustre_dissect_element_llog_catid_lci_padding2(tvb, offset, pinfo, tree);
5242 offset=lustre_dissect_element_llog_catid_lci_padding3(tvb, offset, pinfo, tree);
5245 proto_item_set_len(item, offset-old_offset);
5250 /* IDL: struct llog_rec_hdr { */
5251 /* IDL: uint32 lrh_len; */
5252 /* IDL: uint32 lrh_index; */
5253 /* IDL: uint32 lrh_type; */
5254 /* IDL: uint32 padding; */
5258 lustre_dissect_element_llog_rec_hdr_lrh_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5260 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_len);
5266 lustre_dissect_element_llog_rec_hdr_lrh_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5268 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_index);
5274 lustre_dissect_element_llog_rec_hdr_lrh_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5276 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_type);
5282 lustre_dissect_element_llog_rec_hdr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5284 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_padding);
5290 lustre_dissect_struct_llog_rec_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5292 proto_item *item = NULL;
5293 proto_tree *tree = NULL;
5301 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5302 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_hdr);
5305 offset=lustre_dissect_element_llog_rec_hdr_lrh_len(tvb, offset, pinfo, tree);
5307 offset=lustre_dissect_element_llog_rec_hdr_lrh_index(tvb, offset, pinfo, tree);
5309 offset=lustre_dissect_element_llog_rec_hdr_lrh_type(tvb, offset, pinfo, tree);
5311 offset=lustre_dissect_element_llog_rec_hdr_padding(tvb, offset, pinfo, tree);
5314 proto_item_set_len(item, offset-old_offset);
5319 /* IDL: struct llog_rec_tail { */
5320 /* IDL: uint32 lrt_len; */
5321 /* IDL: uint32 lrt_index; */
5325 lustre_dissect_element_llog_rec_tail_lrt_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5327 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_len);
5333 lustre_dissect_element_llog_rec_tail_lrt_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5335 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_index);
5341 lustre_dissect_struct_llog_rec_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5343 proto_item *item = NULL;
5344 proto_tree *tree = NULL;
5352 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5353 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_tail);
5356 offset=lustre_dissect_element_llog_rec_tail_lrt_len(tvb, offset, pinfo, tree);
5358 offset=lustre_dissect_element_llog_rec_tail_lrt_index(tvb, offset, pinfo, tree);
5361 proto_item_set_len(item, offset-old_offset);
5366 /* IDL: struct llog_logid_rec { */
5367 /* IDL: struct llog_rec_hdr { */
5368 /* IDL: } lid_hdr; */
5369 /* IDL: struct llog_logid { */
5370 /* IDL: } lid_id; */
5371 /* IDL: uint32 padding1; */
5372 /* IDL: uint32 padding2; */
5373 /* IDL: uint32 padding3; */
5374 /* IDL: uint32 padding4; */
5375 /* IDL: uint32 padding5; */
5376 /* IDL: struct llog_rec_tail { */
5377 /* IDL: } lid_tail; */
5381 lustre_dissect_element_llog_logid_rec_lid_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5383 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_hdr);
5388 lustre_dissect_element_llog_logid_rec_lid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5390 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_id);
5395 lustre_dissect_element_llog_logid_rec_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5397 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding1);
5403 lustre_dissect_element_llog_logid_rec_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5405 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding2);
5411 lustre_dissect_element_llog_logid_rec_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5413 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding3);
5419 lustre_dissect_element_llog_logid_rec_padding4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5421 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding4);
5427 lustre_dissect_element_llog_logid_rec_padding5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5429 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding5);
5435 lustre_dissect_element_llog_logid_rec_lid_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5437 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_tail);
5442 lustre_dissect_struct_llog_logid_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5444 proto_item *item = NULL;
5445 proto_tree *tree = NULL;
5453 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5454 tree = proto_item_add_subtree(item, ett_lustre_llog_logid_rec);
5457 offset=lustre_dissect_element_llog_logid_rec_lid_hdr(tvb, offset, pinfo, tree);
5459 offset=lustre_dissect_element_llog_logid_rec_lid_id(tvb, offset, pinfo, tree);
5461 offset=lustre_dissect_element_llog_logid_rec_padding1(tvb, offset, pinfo, tree);
5463 offset=lustre_dissect_element_llog_logid_rec_padding2(tvb, offset, pinfo, tree);
5465 offset=lustre_dissect_element_llog_logid_rec_padding3(tvb, offset, pinfo, tree);
5467 offset=lustre_dissect_element_llog_logid_rec_padding4(tvb, offset, pinfo, tree);
5469 offset=lustre_dissect_element_llog_logid_rec_padding5(tvb, offset, pinfo, tree);
5471 offset=lustre_dissect_element_llog_logid_rec_lid_tail(tvb, offset, pinfo, tree);
5474 proto_item_set_len(item, offset-old_offset);
5479 /* IDL: struct llog_create_rec { */
5480 /* IDL: struct llog_rec_hdr { */
5481 /* IDL: } lcr_hdr; */
5482 /* IDL: struct ll_fid { */
5483 /* IDL: } lcr_fid; */
5484 /* IDL: uint64 lcr_oid; */
5485 /* IDL: uint32 lcr_ogen; */
5486 /* IDL: uint32 padding; */
5487 /* IDL: struct llog_rec_tail { */
5488 /* IDL: } lcr_tail; */
5492 lustre_dissect_element_llog_create_rec_lcr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5494 //offset=lustre_dissect_struct_HASH(0x85d56e0)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_hdr);
5500 lustre_dissect_element_llog_create_rec_lcr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5502 //offset=lustre_dissect_struct_HASH(0x85d5830)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_fid);
5508 lustre_dissect_element_llog_create_rec_lcr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5510 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_oid);
5516 lustre_dissect_element_llog_create_rec_lcr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5518 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_ogen);
5524 lustre_dissect_element_llog_create_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5526 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_padding);
5532 lustre_dissect_element_llog_create_rec_lcr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5534 //offset=lustre_dissect_struct_HASH(0x85d69dc)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_tail);
5540 lustre_dissect_struct_llog_create_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5542 proto_item *item = NULL;
5543 proto_tree *tree = NULL;
5551 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5552 tree = proto_item_add_subtree(item, ett_lustre_llog_create_rec);
5555 offset=lustre_dissect_element_llog_create_rec_lcr_hdr(tvb, offset, pinfo, tree);
5557 offset=lustre_dissect_element_llog_create_rec_lcr_fid(tvb, offset, pinfo, tree);
5559 offset=lustre_dissect_element_llog_create_rec_lcr_oid(tvb, offset, pinfo, tree);
5561 offset=lustre_dissect_element_llog_create_rec_lcr_ogen(tvb, offset, pinfo, tree);
5563 offset=lustre_dissect_element_llog_create_rec_padding(tvb, offset, pinfo, tree);
5565 offset=lustre_dissect_element_llog_create_rec_lcr_tail(tvb, offset, pinfo, tree);
5568 proto_item_set_len(item, offset-old_offset);
5576 /* IDL: struct llog_orphan_rec { */
5577 /* IDL: struct llog_rec_hdr { */
5578 /* IDL: } lor_hdr; */
5579 /* IDL: uint64 lor_oid; */
5580 /* IDL: uint32 lor_ogen; */
5581 /* IDL: uint32 padding; */
5582 /* IDL: struct llog_rec_tail { */
5583 /* IDL: } lor_tail; */
5587 lustre_dissect_element_llog_orphan_rec_lor_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5589 //offset=lustre_dissect_struct_HASH(0x85d767c)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_hdr);
5595 lustre_dissect_element_llog_orphan_rec_lor_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5597 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_oid);
5603 lustre_dissect_element_llog_orphan_rec_lor_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5605 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_ogen);
5611 lustre_dissect_element_llog_orphan_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5613 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_padding);
5619 lustre_dissect_element_llog_orphan_rec_lor_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5621 //offset=lustre_dissect_struct_HASH(0x85d8550)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_tail);
5626 lustre_dissect_struct_llog_orphan_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5628 proto_item *item = NULL;
5629 proto_tree *tree = NULL;
5637 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5638 tree = proto_item_add_subtree(item, ett_lustre_llog_orphan_rec);
5641 offset=lustre_dissect_element_llog_orphan_rec_lor_hdr(tvb, offset, pinfo, tree);
5643 offset=lustre_dissect_element_llog_orphan_rec_lor_oid(tvb, offset, pinfo, tree);
5645 offset=lustre_dissect_element_llog_orphan_rec_lor_ogen(tvb, offset, pinfo, tree);
5647 offset=lustre_dissect_element_llog_orphan_rec_padding(tvb, offset, pinfo, tree);
5649 offset=lustre_dissect_element_llog_orphan_rec_lor_tail(tvb, offset, pinfo, tree);
5652 proto_item_set_len(item, offset-old_offset);
5659 /* IDL: struct llog_unlink_rec { */
5660 /* IDL: struct llog_rec_hdr { */
5661 /* IDL: } lur_hdr; */
5662 /* IDL: uint64 lur_oid; */
5663 /* IDL: uint32 lur_ogen; */
5664 /* IDL: uint32 padding; */
5665 /* IDL: struct llog_rec_tail { */
5666 /* IDL: } lur_tail; */
5670 lustre_dissect_element_llog_unlink_rec_lur_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5672 //offset=lustre_dissect_struct_HASH(0x85d8730)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_hdr);
5677 lustre_dissect_element_llog_unlink_rec_lur_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5679 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_oid);
5685 lustre_dissect_element_llog_unlink_rec_lur_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5687 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_ogen);
5693 lustre_dissect_element_llog_unlink_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5695 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_padding);
5701 lustre_dissect_element_llog_unlink_rec_lur_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5703 //offset=lustre_dissect_struct_HASH(0x85d9664)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_tail);
5708 lustre_dissect_struct_llog_unlink_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5710 proto_item *item = NULL;
5711 proto_tree *tree = NULL;
5719 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5720 tree = proto_item_add_subtree(item, ett_lustre_llog_unlink_rec);
5723 offset=lustre_dissect_element_llog_unlink_rec_lur_hdr(tvb, offset, pinfo, tree);
5725 offset=lustre_dissect_element_llog_unlink_rec_lur_oid(tvb, offset, pinfo, tree);
5727 offset=lustre_dissect_element_llog_unlink_rec_lur_ogen(tvb, offset, pinfo, tree);
5729 offset=lustre_dissect_element_llog_unlink_rec_padding(tvb, offset, pinfo, tree);
5731 offset=lustre_dissect_element_llog_unlink_rec_lur_tail(tvb, offset, pinfo, tree);
5734 proto_item_set_len(item, offset-old_offset);
5741 /* IDL: struct llog_setattr_rec { */
5742 /* IDL: struct llog_rec_hdr { */
5743 /* IDL: } lsr_hdr; */
5744 /* IDL: uint64 lsr_oid; */
5745 /* IDL: uint32 lsr_ogen; */
5746 /* IDL: uint32 lsr_uid; */
5747 /* IDL: uint32 lsr_gid; */
5748 /* IDL: uint32 padding; */
5749 /* IDL: struct llog_rec_tail { */
5750 /* IDL: } lsr_tail; */
5754 lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5756 //offset=lustre_dissect_struct_HASH(0x85da2f0)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_hdr);
5761 lustre_dissect_element_llog_setattr_rec_lsr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5763 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_oid);
5769 lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5771 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_ogen);
5777 lustre_dissect_element_llog_setattr_rec_lsr_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5779 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_uid);
5785 lustre_dissect_element_llog_setattr_rec_lsr_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5787 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_gid);
5793 lustre_dissect_element_llog_setattr_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5795 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_padding);
5801 lustre_dissect_element_llog_setattr_rec_lsr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5803 //offset=lustre_dissect_struct_HASH(0x85db3d4)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_tail);
5808 lustre_dissect_struct_llog_setattr_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5810 proto_item *item = NULL;
5811 proto_tree *tree = NULL;
5819 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5820 tree = proto_item_add_subtree(item, ett_lustre_llog_setattr_rec);
5823 offset=lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvb, offset, pinfo, tree);
5825 offset=lustre_dissect_element_llog_setattr_rec_lsr_oid(tvb, offset, pinfo, tree);
5827 offset=lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvb, offset, pinfo, tree);
5829 offset=lustre_dissect_element_llog_setattr_rec_lsr_uid(tvb, offset, pinfo, tree);
5831 offset=lustre_dissect_element_llog_setattr_rec_lsr_gid(tvb, offset, pinfo, tree);
5833 offset=lustre_dissect_element_llog_setattr_rec_padding(tvb, offset, pinfo, tree);
5835 offset=lustre_dissect_element_llog_setattr_rec_lsr_tail(tvb, offset, pinfo, tree);
5838 proto_item_set_len(item, offset-old_offset);
5846 /* IDL: struct llog_size_change_rec { */
5847 /* IDL: struct llog_rec_hdr { */
5848 /* IDL: } lsc_hdr; */
5849 /* IDL: struct ll_fid { */
5850 /* IDL: } lsc_fid; */
5851 /* IDL: uint32 lsc_io_epoch; */
5852 /* IDL: uint32 padding; */
5853 /* IDL: struct llog_rec_tail { */
5854 /* IDL: } lsc_tail; */
5858 lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5860 //offset=lustre_dissect_struct_HASH(0x85dc458)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_hdr);
5865 lustre_dissect_element_llog_size_change_rec_lsc_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5867 //offset=lustre_dissect_struct_HASH(0x85dc5a8)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_fid);
5872 lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5874 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_lsc_io_epoch);
5880 lustre_dissect_element_llog_size_change_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5882 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_padding);
5888 lustre_dissect_element_llog_size_change_rec_lsc_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5890 //offset=lustre_dissect_struct_HASH(0x85dd384)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_tail);
5891 // TODO: to be corrected !
5896 lustre_dissect_struct_llog_size_change_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5898 proto_item *item = NULL;
5899 proto_tree *tree = NULL;
5907 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5908 tree = proto_item_add_subtree(item, ett_lustre_llog_size_change_rec);
5911 offset=lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvb, offset, pinfo, tree);
5913 offset=lustre_dissect_element_llog_size_change_rec_lsc_fid(tvb, offset, pinfo, tree);
5915 offset=lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvb, offset, pinfo, tree);
5917 offset=lustre_dissect_element_llog_size_change_rec_padding(tvb, offset, pinfo, tree);
5919 offset=lustre_dissect_element_llog_size_change_rec_lsc_tail(tvb, offset, pinfo, tree);
5922 proto_item_set_len(item, offset-old_offset);
5930 /* IDL: struct llog_gen { */
5931 /* IDL: uint64 mnt_cnt; */
5932 /* IDL: uint64 conn_cnt; */
5936 lustre_dissect_element_llog_gen_mnt_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5938 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_mnt_cnt);
5944 lustre_dissect_element_llog_gen_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5946 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_conn_cnt);
5952 lustre_dissect_struct_llog_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5954 proto_item *item = NULL;
5955 proto_tree *tree = NULL;
5963 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5964 tree = proto_item_add_subtree(item, ett_lustre_llog_gen);
5967 offset=lustre_dissect_element_llog_gen_mnt_cnt(tvb, offset, pinfo, tree);
5969 offset=lustre_dissect_element_llog_gen_conn_cnt(tvb, offset, pinfo, tree);
5972 proto_item_set_len(item, offset-old_offset);
5977 /* IDL: struct llog_gen_rec { */
5978 /* IDL: struct llog_rec_hdr { */
5979 /* IDL: } lgr_hdr; */
5980 /* IDL: struct llog_gen { */
5981 /* IDL: } lgr_gen; */
5982 /* IDL: struct llog_rec_tail { */
5983 /* IDL: } lgr_tail; */
5987 lustre_dissect_element_llog_gen_rec_lgr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5989 //offset=lustre_dissect_struct_HASH(0x85de2e4)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_hdr);
5990 // TODO: to be corrected !
5995 lustre_dissect_element_llog_gen_rec_lgr_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5997 //offset=lustre_dissect_struct_HASH(0x85de434)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_gen);
5998 // TODO: to be corrected !
6003 lustre_dissect_element_llog_gen_rec_lgr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6005 //offset=lustre_dissect_struct_HASH(0x85df3f8)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_tail);
6006 // TODO: to be corrected !
6011 lustre_dissect_struct_llog_gen_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6013 proto_item *item = NULL;
6014 proto_tree *tree = NULL;
6022 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6023 tree = proto_item_add_subtree(item, ett_lustre_llog_gen_rec);
6026 offset=lustre_dissect_element_llog_gen_rec_lgr_hdr(tvb, offset, pinfo, tree);
6028 offset=lustre_dissect_element_llog_gen_rec_lgr_gen(tvb, offset, pinfo, tree);
6030 offset=lustre_dissect_element_llog_gen_rec_lgr_tail(tvb, offset, pinfo, tree);
6033 proto_item_set_len(item, offset-old_offset);
6041 /* IDL: struct llog_log_hdr { */
6042 /* IDL: struct llog_rec_hdr { */
6043 /* IDL: } llh_hdr; */
6044 /* IDL: uint64 llh_timestamp; */
6045 /* IDL: uint32 llh_count; */
6046 /* IDL: uint32 llh_bitmap_offset; */
6047 /* IDL: uint32 llh_size; */
6048 /* IDL: uint32 llh_flags; */
6049 /* IDL: uint32 llh_cat_idx; */
6050 /* IDL: struct obd_uuid { */
6051 /* IDL: } llh_tgtuuid; */
6052 /* IDL: uint32 llh_reserved[1]; */
6053 /* IDL: uint32 llh_bitmap[2024]; */
6054 /* IDL: struct llog_rec_tail { */
6055 /* IDL: } llh_tail; */
6059 lustre_dissect_element_llog_log_hdr_llh_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6061 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_hdr);
6066 lustre_dissect_element_llog_log_hdr_llh_timestamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6069 ns.secs = tvb_get_letohl(tvb,offset);
6071 proto_tree_add_time(tree, hf_lustre_llog_log_hdr_llh_timestamp, tvb, offset, 8, &ns );
6077 lustre_dissect_element_llog_log_hdr_llh_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6079 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_count);
6085 lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6087 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap_offset);
6093 lustre_dissect_element_llog_log_hdr_llh_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6095 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_size);
6103 lustre_dissect_element_llog_log_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6105 proto_item *item = NULL;
6106 proto_tree *tree = NULL;
6109 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
6110 tree = proto_item_add_subtree(item, ett_lustre_llog_log_llh_flags);
6112 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_zap_when_empty);
6113 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_cat);
6114 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_play);
6121 lustre_dissect_element_llog_log_hdr_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6123 // offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6124 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6129 lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6131 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_cat_idx);
6137 lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6139 offset=lustre_dissect_struct_obd_uuid(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tgtuuid);
6144 lustre_dissect_element_llog_log_hdr_llh_reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6146 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_reserved);
6152 lustre_dissect_element_llog_log_hdr_llh_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6155 for (i = 0; i < 1; i++)
6156 offset=lustre_dissect_element_llog_log_hdr_llh_reserved_(tvb, offset, pinfo, tree);
6162 lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6164 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap);
6171 lustre_dissect_element_llog_log_hdr_llh_bitmap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6174 for (i = 0; i < 2024; i++)
6175 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvb, offset, pinfo, tree);
6183 lustre_dissect_element_llog_log_hdr_llh_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6185 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tail);
6190 lustre_dissect_struct_llog_log_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6192 proto_item *item = NULL;
6193 proto_tree *tree = NULL;
6201 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6202 tree = proto_item_add_subtree(item, ett_lustre_llog_log_hdr);
6205 offset=lustre_dissect_element_llog_log_hdr_llh_hdr(tvb, offset, pinfo, tree);
6207 offset=lustre_dissect_element_llog_log_hdr_llh_timestamp(tvb, offset, pinfo, tree);
6209 offset=lustre_dissect_element_llog_log_hdr_llh_count(tvb, offset, pinfo, tree);
6211 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvb, offset, pinfo, tree);
6213 offset=lustre_dissect_element_llog_log_hdr_llh_size(tvb, offset, pinfo, tree);
6215 offset=lustre_dissect_element_llog_log_hdr_llh_flags(tvb, offset, pinfo, tree);
6217 offset=lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvb, offset, pinfo, tree);
6219 offset=lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvb, offset, pinfo, tree);
6221 offset=lustre_dissect_element_llog_log_hdr_llh_reserved(tvb, offset, pinfo, tree);
6223 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap(tvb, offset, pinfo, tree);
6225 offset=lustre_dissect_element_llog_log_hdr_llh_tail(tvb, offset, pinfo, tree);
6228 proto_item_set_len(item, offset-old_offset);
6236 /* IDL: struct llog_cookie { */
6237 /* IDL: struct llog_logid { */
6238 /* IDL: } lgc_lgl; */
6239 /* IDL: uint32 lgc_subsys; */
6240 /* IDL: uint32 lgc_index; */
6241 /* IDL: uint32 lgc_padding; */
6245 lustre_dissect_element_llog_cookie_lgc_lgl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6247 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_cookie_lgc_lgl);
6252 lustre_dissect_element_llog_cookie_lgc_subsys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6254 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_subsys);
6260 lustre_dissect_element_llog_cookie_lgc_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6262 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_index);
6268 lustre_dissect_element_llog_cookie_lgc_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6270 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_padding);
6276 lustre_dissect_struct_llog_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6278 proto_item *item = NULL;
6279 proto_tree *tree = NULL;
6287 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6288 tree = proto_item_add_subtree(item, ett_lustre_llog_cookie);
6291 offset=lustre_dissect_element_llog_cookie_lgc_lgl(tvb, offset, pinfo, tree);
6293 offset=lustre_dissect_element_llog_cookie_lgc_subsys(tvb, offset, pinfo, tree);
6295 offset=lustre_dissect_element_llog_cookie_lgc_index(tvb, offset, pinfo, tree);
6297 offset=lustre_dissect_element_llog_cookie_lgc_padding(tvb, offset, pinfo, tree);
6300 proto_item_set_len(item, offset-old_offset);
6307 /* IDL: struct llogd_body { */
6308 /* IDL: struct llog_logid { */
6309 /* IDL: } lgd_logid; */
6310 /* IDL: uint32 lgd_ctxt_idx; */
6311 /* IDL: uint32 lgd_llh_flags; */
6312 /* IDL: uint32 lgd_index; */
6313 /* IDL: uint32 lgd_saved_index; */
6314 /* IDL: uint32 lgd_len; */
6315 /* IDL: uint64 lgd_cur_offset; */
6319 lustre_dissect_element_llogd_body_lgd_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6321 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llogd_body_lgd_logid);
6326 lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6328 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_ctxt_idx);
6334 lustre_dissect_element_llogd_body_lgd_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6336 //offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6338 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6344 lustre_dissect_element_llogd_body_lgd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6346 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_index);
6352 lustre_dissect_element_llogd_body_lgd_saved_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6354 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_saved_index);
6360 lustre_dissect_element_llogd_body_lgd_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6362 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_len);
6368 lustre_dissect_element_llogd_body_lgd_cur_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6370 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_cur_offset);
6376 lustre_dissect_struct_llogd_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6378 proto_item *item = NULL;
6379 proto_tree *tree = NULL;
6387 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6388 tree = proto_item_add_subtree(item, ett_lustre_llogd_body);
6391 offset=lustre_dissect_element_llogd_body_lgd_logid(tvb, offset, pinfo, tree);
6393 offset=lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvb, offset, pinfo, tree);
6395 offset=lustre_dissect_element_llogd_body_lgd_llh_flags(tvb, offset, pinfo, tree);
6397 offset=lustre_dissect_element_llogd_body_lgd_index(tvb, offset, pinfo, tree);
6399 offset=lustre_dissect_element_llogd_body_lgd_saved_index(tvb, offset, pinfo, tree);
6401 offset=lustre_dissect_element_llogd_body_lgd_len(tvb, offset, pinfo, tree);
6403 offset=lustre_dissect_element_llogd_body_lgd_cur_offset(tvb, offset, pinfo, tree);
6406 proto_item_set_len(item, offset-old_offset);
6412 /* TODO : find when this Structure appear on the wire */
6413 /* IDL: struct llogd_conn_body { */
6414 /* IDL: struct llog_gen { */
6415 /* IDL: } lgdc_gen; */
6416 /* IDL: struct llog_logid { */
6417 /* IDL: } lgdc_logid; */
6418 /* IDL: uint32 lgdc_ctxt_idx; */
6422 lustre_dissect_element_llogd_conn_body_lgdc_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6424 //offset=lustre_dissect_struct_HASH(0x85e6038)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_gen);
6429 lustre_dissect_element_llogd_conn_body_lgdc_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6431 //offset=lustre_dissect_struct_HASH(0x85e6188)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_logid);
6436 lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6438 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_conn_body_lgdc_ctxt_idx);
6444 lustre_dissect_struct_llogd_conn_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6446 proto_item *item = NULL;
6447 proto_tree *tree = NULL;
6455 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6456 tree = proto_item_add_subtree(item, ett_lustre_llogd_conn_body);
6459 offset=lustre_dissect_element_llogd_conn_body_lgdc_gen(tvb, offset, pinfo, tree);
6461 offset=lustre_dissect_element_llogd_conn_body_lgdc_logid(tvb, offset, pinfo, tree);
6463 offset=lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvb, offset, pinfo, tree);
6466 proto_item_set_len(item, offset-old_offset);
6471 /* IDL: struct obdo { */
6472 /* IDL: uint64 o_valid; */
6473 /* IDL: uint64 o_id; */
6474 /* IDL: uint64 o_gr; */
6475 /* IDL: uint64 o_fid; */
6476 /* IDL: uint64 o_size; */
6477 /* IDL: uint64 o_mtime; */
6478 /* IDL: uint64 o_atime; */
6479 /* IDL: uint64 o_ctime; */
6480 /* IDL: uint64 o_blocks; */
6481 /* IDL: uint64 o_grant; */
6482 /* IDL: uint32 o_blksize; */
6483 /* IDL: uint32 o_mode; */
6484 /* IDL: uint32 o_uid; */
6485 /* IDL: uint32 o_gid; */
6486 /* IDL: uint32 o_flags; */
6487 /* IDL: uint32 o_nlink; */
6488 /* IDL: uint32 o_generation; */
6489 /* IDL: uint32 o_misc; */
6490 /* IDL: uint64 o_ioepoch; */
6491 /* IDL: uint32 o_stripe_idx; */
6492 /* IDL: uint32 o_padding_1; */
6493 /* IDL: struct lustre_handle { */
6494 /* IDL: } o_handle; */
6495 /* IDL: struct llog_cookie { */
6496 /* IDL: } o_lcookie; */
6497 /* IDL: uint64 o_padding_2; */
6498 /* IDL: uint64 o_padding_3; */
6499 /* IDL: uint64 o_padding_4; */
6500 /* IDL: uint64 o_padding_5; */
6501 /* IDL: uint64 o_padding_6; */
6505 lustre_dissect_element_obdo_o_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6507 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_valid);
6513 lustre_dissect_element_obdo_o_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6515 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_id);
6521 lustre_dissect_element_obdo_o_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6523 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gr);
6529 lustre_dissect_element_obdo_o_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6531 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_fid);
6537 lustre_dissect_element_obdo_o_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6539 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_size);
6545 lustre_dissect_element_obdo_o_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6549 ns.secs = tvb_get_letohl(tvb,offset);
6551 proto_tree_add_time(tree, hf_lustre_obdo_o_mtime, tvb, offset, 8, &ns );
6557 lustre_dissect_element_obdo_o_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6561 ns.secs = tvb_get_letohl(tvb,offset);
6563 proto_tree_add_time(tree, hf_lustre_obdo_o_atime, tvb, offset, 8, &ns );
6570 lustre_dissect_element_obdo_o_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6574 ns.secs = tvb_get_letohl(tvb,offset);
6576 proto_tree_add_time(tree, hf_lustre_obdo_o_ctime, tvb, offset, 8, &ns );
6582 lustre_dissect_element_obdo_o_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6584 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blocks);
6590 lustre_dissect_element_obdo_o_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6592 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_grant);
6598 lustre_dissect_element_obdo_o_blksize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6600 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blksize);
6606 lustre_dissect_element_obdo_o_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6608 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mode);
6614 lustre_dissect_element_obdo_o_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6616 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid);
6622 lustre_dissect_element_obdo_o_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6624 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid);
6630 lustre_dissect_element_obdo_o_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6632 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_flags);
6633 /* TODO rajouter ça , faire une fonction générique qui s'occupe de tous les flags d'un tableau. */
6635 /*0x00000001 : "OBD_FL_INLINEDATA",*/
6636 /*0x00000002 : "OBD_FL_OBDMDEXISTS",*/
6637 /*0x00000004 : "OBD_FL_DELORPHAN",*/
6638 /*0x00000008 : "OBD_FL_NORPC",*/
6639 /*0x00000010 : "OBD_FL_IDONLY",*/
6640 /*0x00000020 : "OBD_FL_RECREATE_OBJS",*/
6641 /*0x00000040 : "OBD_FL_DEBUG_CHECK",*/
6642 /*0x00000100 : "OBD_FL_NO_USRQUOTA",*/
6643 /*0x00000200 : "OBD_FL_NO_GRPQUOTA",*/
6644 /*0x00000400 : "OBD_FL_CREATE_CROW",*/
6645 /*0x00000800 : "OBD_FL_SRVLOCK",*/
6651 lustre_dissect_element_obdo_o_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6653 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_nlink);
6659 lustre_dissect_element_obdo_o_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6661 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_generation);
6667 lustre_dissect_element_obdo_o_misc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6669 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_misc);
6675 lustre_dissect_element_obdo_o_ioepoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6677 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_ioepoch);
6683 lustre_dissect_element_obdo_o_stripe_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6685 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_stripe_idx);
6691 lustre_dissect_element_obdo_o_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6693 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_1);
6699 lustre_dissect_element_obdo_o_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6701 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_handle);
6706 lustre_dissect_element_obdo_o_lcookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6708 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_lcookie);
6713 lustre_dissect_element_obdo_o_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6715 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_2);
6721 lustre_dissect_element_obdo_o_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6723 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_3);
6729 lustre_dissect_element_obdo_o_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6731 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_4);
6737 lustre_dissect_element_obdo_o_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6739 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_5);
6745 lustre_dissect_element_obdo_o_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6747 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_6);
6753 lustre_dissect_struct_obdo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6755 proto_item *item = NULL;
6756 proto_tree *tree = NULL;
6764 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6765 tree = proto_item_add_subtree(item, ett_lustre_obdo);
6768 offset=lustre_dissect_element_obdo_o_valid(tvb, offset, pinfo, tree);
6770 offset=lustre_dissect_element_obdo_o_id(tvb, offset, pinfo, tree);
6772 offset=lustre_dissect_element_obdo_o_gr(tvb, offset, pinfo, tree);
6774 offset=lustre_dissect_element_obdo_o_fid(tvb, offset, pinfo, tree);
6776 offset=lustre_dissect_element_obdo_o_size(tvb, offset, pinfo, tree);
6778 offset=lustre_dissect_element_obdo_o_mtime(tvb, offset, pinfo, tree);
6780 offset=lustre_dissect_element_obdo_o_atime(tvb, offset, pinfo, tree);
6782 offset=lustre_dissect_element_obdo_o_ctime(tvb, offset, pinfo, tree);
6784 offset=lustre_dissect_element_obdo_o_blocks(tvb, offset, pinfo, tree);
6786 offset=lustre_dissect_element_obdo_o_grant(tvb, offset, pinfo, tree);
6788 offset=lustre_dissect_element_obdo_o_blksize(tvb, offset, pinfo, tree);
6790 offset=lustre_dissect_element_obdo_o_mode(tvb, offset, pinfo, tree);
6792 offset=lustre_dissect_element_obdo_o_uid(tvb, offset, pinfo, tree);
6794 offset=lustre_dissect_element_obdo_o_gid(tvb, offset, pinfo, tree);
6796 offset=lustre_dissect_element_obdo_o_flags(tvb, offset, pinfo, tree);
6798 offset=lustre_dissect_element_obdo_o_nlink(tvb, offset, pinfo, tree);
6800 offset=lustre_dissect_element_obdo_o_generation(tvb, offset, pinfo, tree);
6802 offset=lustre_dissect_element_obdo_o_misc(tvb, offset, pinfo, tree);
6804 offset=lustre_dissect_element_obdo_o_ioepoch(tvb, offset, pinfo, tree);
6806 offset=lustre_dissect_element_obdo_o_stripe_idx(tvb, offset, pinfo, tree);
6808 offset=lustre_dissect_element_obdo_o_padding_1(tvb, offset, pinfo, tree);
6810 offset=lustre_dissect_element_obdo_o_handle(tvb, offset, pinfo, tree);
6812 offset=lustre_dissect_element_obdo_o_lcookie(tvb, offset, pinfo, tree);
6814 offset=lustre_dissect_element_obdo_o_padding_2(tvb, offset, pinfo, tree);
6816 offset=lustre_dissect_element_obdo_o_padding_3(tvb, offset, pinfo, tree);
6818 offset=lustre_dissect_element_obdo_o_padding_4(tvb, offset, pinfo, tree);
6820 offset=lustre_dissect_element_obdo_o_padding_5(tvb, offset, pinfo, tree);
6822 offset=lustre_dissect_element_obdo_o_padding_6(tvb, offset, pinfo, tree);
6825 proto_item_set_len(item, offset-old_offset);
6832 /* IDL: struct ost_body { */
6833 /* IDL: struct obdo { */
6838 lustre_dissect_element_ost_body_oa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6840 offset=lustre_dissect_struct_obdo(tvb,offset,pinfo,tree,hf_lustre_ost_body_oa);
6845 lustre_dissect_struct_ost_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6847 proto_item *item = NULL;
6848 proto_tree *tree = NULL;
6856 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6857 tree = proto_item_add_subtree(item, ett_lustre_ost_body);
6860 offset=lustre_dissect_element_ost_body_oa(tvb, offset, pinfo, tree);
6863 proto_item_set_len(item, offset-old_offset);
6869 /* TODO : find when this Structure appear on the wire */
6870 /* IDL: struct qunit_data { */
6871 /* IDL: uint32 qd_id; */
6872 /* IDL: uint32 qd_flags; */
6873 /* IDL: uint64 qd_count; */
6874 /* IDL: uint64 qd_qunit; */
6875 /* IDL: uint64 padding; */
6879 lustre_dissect_element_qunit_data_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6881 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_id);
6887 lustre_dissect_element_qunit_data_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6889 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_flags);
6895 lustre_dissect_element_qunit_data_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6897 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_count);
6903 lustre_dissect_element_qunit_data_qd_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6905 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_qunit);
6911 lustre_dissect_element_qunit_data_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6913 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_padding);
6919 lustre_dissect_struct_qunit_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6921 proto_item *item = NULL;
6922 proto_tree *tree = NULL;
6930 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6931 tree = proto_item_add_subtree(item, ett_lustre_qunit_data);
6934 offset=lustre_dissect_element_qunit_data_qd_id(tvb, offset, pinfo, tree);
6936 offset=lustre_dissect_element_qunit_data_qd_flags(tvb, offset, pinfo, tree);
6938 offset=lustre_dissect_element_qunit_data_qd_count(tvb, offset, pinfo, tree);
6940 offset=lustre_dissect_element_qunit_data_qd_qunit(tvb, offset, pinfo, tree);
6942 offset=lustre_dissect_element_qunit_data_padding(tvb, offset, pinfo, tree);
6945 proto_item_set_len(item, offset-old_offset);
6950 /* TODO : find when this Structure appear on the wire */
6951 /* IDL: struct qunit_data_old2 { */
6952 /* IDL: uint32 qd_id; */
6953 /* IDL: uint32 qd_flags; */
6954 /* IDL: uint64 qd_count; */
6958 lustre_dissect_element_qunit_data_old2_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6960 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_id);
6966 lustre_dissect_element_qunit_data_old2_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6968 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_flags);
6974 lustre_dissect_element_qunit_data_old2_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6976 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_count);
6982 lustre_dissect_struct_qunit_data_old2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6984 proto_item *item = NULL;
6985 proto_tree *tree = NULL;
6993 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6994 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old2);
6997 offset=lustre_dissect_element_qunit_data_old2_qd_id(tvb, offset, pinfo, tree);
6999 offset=lustre_dissect_element_qunit_data_old2_qd_flags(tvb, offset, pinfo, tree);
7001 offset=lustre_dissect_element_qunit_data_old2_qd_count(tvb, offset, pinfo, tree);
7004 proto_item_set_len(item, offset-old_offset);
7009 /* TODO : find when this Structure appear on the wire */
7010 /* IDL: struct qunit_data_old { */
7011 /* IDL: uint32 qd_id; */
7012 /* IDL: uint32 qd_type; */
7013 /* IDL: uint32 qd_count; */
7014 /* IDL: uint32 qd_isblk; */
7018 lustre_dissect_element_qunit_data_old_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7020 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_id);
7026 lustre_dissect_element_qunit_data_old_qd_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7028 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_type);
7034 lustre_dissect_element_qunit_data_old_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7036 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_count);
7042 lustre_dissect_element_qunit_data_old_qd_isblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7044 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_isblk);
7050 lustre_dissect_struct_qunit_data_old(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
7052 proto_item *item = NULL;
7053 proto_tree *tree = NULL;
7061 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7062 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old);
7065 offset=lustre_dissect_element_qunit_data_old_qd_id(tvb, offset, pinfo, tree);
7067 offset=lustre_dissect_element_qunit_data_old_qd_type(tvb, offset, pinfo, tree);
7069 offset=lustre_dissect_element_qunit_data_old_qd_count(tvb, offset, pinfo, tree);
7071 offset=lustre_dissect_element_qunit_data_old_qd_isblk(tvb, offset, pinfo, tree);
7074 proto_item_set_len(item, offset-old_offset);
7080 /* ------------------------------------------------------------------------- */
7082 * the length of the string is the current buflen
7083 * @tvb the packet buff
7084 * @offset the current offset
7087 * @hf_index : the corresponding header field
7088 * @buf_num : the corresponding bufnumber of the string (we use it to
7089 * determine the string length), must respect : 0<bufnum<=bufmax_in_paquet
7092 lustre_dissect_element_string (tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
7094 proto_item *item = NULL;
7101 // if (parent_tree) { item = proto_tree_add_item(parent_tree, hf_index, tvb,
7102 // offset, -1, TRUE); // tree = proto_item_add_subtree(item,
7105 if(buf_num+1>LUSTRE_BUFCOUNT)
7108 string_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7109 proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
7111 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " filename : %s", tvb_get_string(tvb,offset,string_len) );
7114 proto_item_set_len(item, offset-old_offset);
7115 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* after a string we must be aligned to 8 bytes. */
7121 /* ------------------------------------------------------------------------- */
7122 /* dissect raw data */
7124 lustre_dissect_element_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_num)
7126 proto_item *item = NULL;
7132 if(buf_num+1>LUSTRE_BUFCOUNT)
7135 data_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7136 proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
7139 proto_item_set_len(item, offset-old_offset);
7140 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* align on 8 bytes */
7144 /* ------------------------------------------------------------------------ */
7147 static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
7151 opcode = tvb_get_letohl(tvb,offset);
7155 /* [eadata][cookie_data][ldlm_request] */
7156 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7157 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7158 hf_lustre_ldlm_request) ;
7161 /* [rec_create][filename][tgt.. Ã 0 pour l'instant][ldlm_request] */
7162 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7163 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7164 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+2); /* this string is all the time =="\0"*/
7165 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7166 hf_lustre_ldlm_request) ;
7169 /*[mds_rec_link][filename][ldlm_req] */
7170 offset=lustre_dissect_struct_mds_rec_link(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7171 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7172 hf_lustre_ldlm_request) ;
7173 /*TODO : need to be check*/
7175 case REINT_UNLINK : /* mds_unlink_unpack : [mds_rec_unlink][filename][ldlm_req] */
7176 /* [mds_rec_unlink][filename][ldlm_req][..]*/
7177 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
7178 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7179 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +2))) == 112) /* TODO : ugly .. but
7180 for now we have to do this */
7181 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
7183 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7186 case REINT_RENAME : /*mds_rename_unpack : [mds_rec_rename][filename source][filename target_name][ldlm_request] */
7187 offset=lustre_dissect_struct_mds_rec_rename(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7188 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+1);
7189 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_new_name, LUSTRE_REQ_REC_OFF+2);
7190 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7192 case REINT_OPEN : /* [rec_create][filename][eadata] */
7193 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7194 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7195 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); /* TODO : replace with hf_eadata */
7206 /* dissect a connect message */
7208 lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7210 /*TODO : add a cuuid and target uid */
7211 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7212 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7213 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
7214 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7219 lustre_ost_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7224 case OST_REPLY: /* obsolete so nothing */
7227 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7230 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7232 case OST_READ: /* [OST_BODY][obd_ioobj][niobuf_remote] for request, [OST_BODY] for reply */
7233 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7234 if(pb_type==PTL_RPC_MSG_REQUEST){
7235 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7236 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_niobuf_remote);
7240 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo,
7241 tree, hf_lustre_ost_body) ; /* [ost_body] in both case */
7242 if(pb_type==PTL_RPC_MSG_REQUEST)
7244 for (i=0;i<tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+ 4*(LUSTRE_REQ_REC_OFF+1))/24;i++)
7245 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7246 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_obd_ioobj);
7248 if(pb_type==PTL_RPC_MSG_REPLY) /* niocount *[uint32], but niocount is in request message, so
7249 we use the bufcount */
7251 for (i=0;i<tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)-2;i++) /* -2 because we have already dissect 2 buffers : ptl + ost */
7252 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_nio);
7253 if (i & 1 ) /* if odd we add extra padding */
7254 offset=dissect_uint32(tvb, offset, pinfo, tree,
7255 hf_lustre_extra_padding);
7259 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7262 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7263 if(pb_type==PTL_RPC_MSG_REQUEST) /* [ost_body][-si buf- ldlm_request] */
7264 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +1))) != 0)
7265 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ost_body);
7266 /* TODO : test that */
7269 if(pb_type==PTL_RPC_MSG_REQUEST) /* [key] */
7271 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF+1);
7273 if (pb_type==PTL_RPC_MSG_REPLY)
7275 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF); /* val */
7280 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7281 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7282 if (pb_type==PTL_RPC_MSG_REPLY)
7283 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7285 case OST_DISCONNECT: /* [nothing] */
7287 case OST_PUNCH: /* [ost_body] */
7288 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7290 case OST_OPEN: /* [nothing] in the code maybee obsolete */
7292 case OST_CLOSE: /* [nothing] in the code maybee obsolete */
7294 case OST_STATFS: /* [obd_statfs] check that : TODO */
7295 if(LUSTRE_BUFCOUNT>=2)
7296 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7299 /*[ost_body] in both case */
7300 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7303 if(pb_type==PTL_RPC_MSG_REQUEST)
7305 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7306 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7308 /* if Key = "evict_by_nid" --> need to be process.. TODO */
7310 case OST_QUOTACHECK:
7311 if(pb_type==PTL_RPC_MSG_REQUEST)
7312 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7313 /* nothing in reply */
7316 /*[obd_quotactl in both case]*/
7317 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7318 case OST_QUOTA_ADJUST_QUNIT:
7319 /* [quota_adjust_qunit] in both case ? */
7320 offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
7327 lustre_mds_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7330 case MDS_DISCONNECT:
7335 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7338 if(pb_type==PTL_RPC_MSG_REQUEST)
7340 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7341 /*if(reply) : [nothing]*/
7344 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7345 if(pb_type==PTL_RPC_MSG_REQUEST)
7346 /*[string_xattr_name]*/
7347 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+1);
7348 if(pb_type==PTL_RPC_MSG_REPLY)
7350 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+1);
7353 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7354 /* TODO [ something ??? ] */
7356 case MDS_GETATTR_NAME:
7357 if(pb_type==PTL_RPC_MSG_REQUEST)
7359 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7360 /*[nothing in reply]*/
7362 case MDS_DONE_WRITING:
7364 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7366 case MDS_PIN: /* repbody.. */
7368 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7372 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7375 case MDS_CLOSE: /* TODO : check the corresponding structure in lustre code */
7376 if(pb_type==PTL_RPC_MSG_REQUEST)
7377 { /* [mds_body] [lov_mds_md][log_cookie] */
7378 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7379 if(LUSTRE_BUFCOUNT>=3)
7380 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
7381 if(LUSTRE_BUFCOUNT>=4)
7382 if( tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7383 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7385 if(pb_type==PTL_RPC_MSG_REPLY)
7386 { /* [mds_body][md][cookie] TODO : check that (reread the code about shrink in lustre) */
7387 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7388 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0)
7389 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_md_data,LUSTRE_REQ_REC_OFF+1); /* key */
7390 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7391 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7396 if(pb_type==PTL_RPC_MSG_REPLY)
7398 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7399 /*in request : [nothing]*/
7403 /* [mds_body] but with some different interpration, need to modify the hf : TODO */
7404 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7408 /* the structure depend on the intent_opcode */
7409 if(pb_type==PTL_RPC_MSG_REQUEST)
7410 offset=reint_opcode_process(tvb, offset, pinfo, tree);
7411 if(pb_type==PTL_RPC_MSG_REPLY)
7413 /*[mds_body][??][llog_logid_rec] */
7414 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7415 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){
7416 /* OPEN, RENAME, and UNLINK */
7417 if(tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){ /* rec_unlink or rec_rename */
7418 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
7419 LUSTRE_REQ_REC_OFF+1); // replace by eadata TODO TODO //
7420 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0) /* with unlink or rename we have 4 buffers handler.c line 1691*/
7421 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
7422 hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); // replace withe eadata TODO TODO //
7429 if(pb_type==PTL_RPC_MSG_REQUEST){
7431 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7432 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7433 //offset=add_extra_padding(tvb,offset,pinfo,tree);
7435 /*nothing en reply*/
7437 case MDS_QUOTACHECK:
7438 /* [obd_quotactl] */
7439 if(pb_type==PTL_RPC_MSG_REQUEST)
7440 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7443 /* [obd_quotactl] in both case*/
7444 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7447 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7448 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7449 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
7450 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7462 lustre_ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7468 /*[ldlm_request] if we have one more buffer it's [intent_opcode] and the opcode give us the
7469 * corresponding intent structure [intent] */
7470 if(pb_type==PTL_RPC_MSG_REQUEST)
7472 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7473 if (LUSTRE_BUFCOUNT>=3)
7474 offset=lustre_dissect_struct_ldlm_intent(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent);
7476 if(pb_type==PTL_RPC_MSG_REPLY)
7481 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply,&ldlm_type) ;
7482 if(LUSTRE_BUFCOUNT>2 && (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*2) == 40))
7483 /* TODO :this code need to be check and test, the lustre corresponding code is'nt explicit, so
7484 * not sure to have this buffer, but in example it works fine
7486 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
7488 if(LUSTRE_BUFCOUNT>2)
7490 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7491 /*g_print("buflen_off+4*3 = %d", tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF));*/
7492 if(LUSTRE_BUFCOUNT>2 &&
7493 (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF) > 0))
7495 magic=tvb_get_letohl(tvb, offset); /* TODO : replace this with a macro */
7499 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
7502 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
7503 hf_lustre_extra_padding, LUSTRE_DLM_INTENT_REC_OFF);
7512 if(pb_type==PTL_RPC_MSG_REQUEST)
7514 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7515 if(pb_type==PTL_RPC_MSG_REPLY)
7517 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply, NULL) ;
7521 if(pb_type==PTL_RPC_MSG_REQUEST)
7523 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7524 /*[nothing en reply]*/
7527 case LDLM_BL_CALLBACK: /* TODO : check the corresponding code in lustre*/
7528 if(pb_type==PTL_RPC_MSG_REQUEST)
7530 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7533 case LDLM_CP_CALLBACK:
7534 if(pb_type==PTL_RPC_MSG_REQUEST){
7535 /*[ldlm_request] if the third buffer exist we have [lvb data] so it's [ost_lvb] : TODO :
7537 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7538 if(LUSTRE_BUFCOUNT>=3)
7539 offset=lustre_dissect_struct_ost_lvb(tvb,offset,pinfo,tree,hf_lustre_ost_lvb);
7541 /*reply : [nothing] */
7544 case LDLM_GL_CALLBACK:
7545 if(pb_type==PTL_RPC_MSG_REQUEST)
7547 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7549 if(pb_type==PTL_RPC_MSG_REPLY)
7550 /*reply : [ost_lvb] <-- need to be check*/
7551 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
7561 lustre_mgs_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7565 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7566 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7567 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
7568 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7570 case MGS_DISCONNECT :
7573 case MGS_EXCEPTION : /* node died, etc. */
7576 case MGS_TARGET_REG:
7577 /*[mgs_target_info], mgs_handler.c mgs_handle_target_reg() called whenever a target startup*/
7578 offset=lustre_dissect_struct_mgs_target_info(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info);
7580 case MGS_TARGET_DEL:
7584 /*[mgs_send_param], mgs_set_info_rpc()*/
7585 offset=lustre_dissect_struct_mgs_send_param(tvb,offset,pinfo,tree,hf_lustre_mgs_send_param);
7594 lustre_odb_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7600 case OBD_LOG_CANCEL:
7603 case OBD_QC_CALLBACK:
7604 if(pb_type==PTL_RPC_MSG_REQUEST)
7605 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
7606 /*if (request) : [nothing]*/
7615 lustre_llog_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7618 case LLOG_ORIGIN_HANDLE_CREATE : /* in handler.c */
7619 /*[llogd_body] (reply and request)*/
7620 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7621 if(pb_type==PTL_RPC_MSG_REQUEST) /*[filename] */
7622 if (LUSTRE_BUFCOUNT>2)
7623 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_name,
7624 LUSTRE_REQ_REC_OFF+1);
7626 case LLOG_ORIGIN_HANDLE_NEXT_BLOCK :/* in handler.c */
7627 /* [llogd_body][???]
7628 * the size of second buf is LLOG_CHKUNK_SIZE, so it's maybee only bulk data */
7629 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7630 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7631 LUSTRE_REQ_REC_OFF + 1 );
7633 case LLOG_ORIGIN_HANDLE_READ_HEADER:/* in handler.c */
7634 if(pb_type==PTL_RPC_MSG_REQUEST){
7635 /* [llogd_body][llog_log_hdr] */
7636 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7637 if(LUSTRE_BUFCOUNT>2)
7638 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
7639 hf_lustre_llogd_log_hdr);
7641 if(pb_type==PTL_RPC_MSG_REPLY) /* [llog_log_hdr] */
7642 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
7643 hf_lustre_llogd_log_hdr);
7645 case LLOG_ORIGIN_HANDLE_WRITE_REC : /* I think this is obsolete */
7648 case LLOG_ORIGIN_HANDLE_CLOSE :/* handler.c */
7651 case LLOG_ORIGIN_CONNECT : /* ost_handler.c */
7653 case LLOG_CATINFO : /*in handler.c */
7654 if(pb_type==PTL_RPC_MSG_REQUEST){
7655 /* [keyword][if keyword=config [char*] else [nothing]] */
7656 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_keyword,
7657 LUSTRE_REQ_REC_OFF);
7658 if(strcmp(tvb_get_string(tvb, LUSTRE_REQ_REC_OFF, tvb_get_letohl(tvb,
7659 LUSTRE_BUFLEN_OFF+4*LUSTRE_REQ_REC_OFF)), "config")==0) /* if(keyword ==
7661 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_client,
7662 LUSTRE_REQ_REC_OFF+1);
7664 if(pb_type==PTL_RPC_MSG_REPLY)
7665 /*[buf] sizeof = llog_chunk_size*/
7666 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7667 LUSTRE_REQ_REC_OFF + 1 );
7668 /* TODO TODO : check if it's note a catid */
7670 case LLOG_ORIGIN_HANDLE_PREV_BLOCK : /* in handler.c */
7671 /* [llogd_body] in both case */
7672 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7673 if(pb_type==PTL_RPC_MSG_REPLY)
7674 /*[buf] size of llog_chunk_size*/
7675 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7676 LUSTRE_REQ_REC_OFF + 1 );
7678 case LLOG_ORIGIN_HANDLE_DESTROY : /* in handler.c */
7679 /*[llogd_body] in both case*/
7680 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7689 /* process lustre opcode :
7690 check if opcode is in range_opcode, and call the corresponding opcode process function */
7692 lustre_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7694 if (opc <= OST_LAST_OPC) /* OST opcodes */
7695 offset=lustre_ost_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7697 if ( (opc >= MDS_FIRST_OPC) && (opc < MDS_LAST_OPC )) /* MDS opcodes */
7698 offset=lustre_mds_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7700 if ( (opc >= LDLM_FIRST_OPC) && (opc < LDLM_LAST_OPC) ) /*LDLM Opcodes*/
7701 offset=lustre_ldlm_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7703 if( (opc>= MGS_FIRST_OPC) && (opc <= MGS_LAST_OPC)) /* MGS Opcodes */
7704 offset=lustre_mgs_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7706 if( (opc>= OBD_FIRST_OPC) && (opc<=OBD_LAST_OPC)) /* ODB Opcodes */
7707 offset=lustre_odb_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7709 if( (opc>=LLOG_FIRST_OPC) && (opc<=LLOG_LAST_OPC)) /* LLOG Opcodes */
7710 offset=lustre_llog_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7715 /* ----------------------------------------------- */
7716 /* add an extra padding to be aligned to 8bytes */
7718 add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
7720 guint32 padding_len;
7722 padding_len = (8- offset%8)%8;
7724 proto_tree_add_item(tree, hf_lustre_extra_padding , tvb, offset, padding_len, TRUE);
7725 offset+=padding_len;
7729 /* ----------------------------------------------- */
7732 ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_)
7734 /* all corresponding code is in mdc_locks.c in function mdc_enqueue() */
7735 /* if 0x0003 we have CREAT + OPEN
7737 if (intent_opc & IT_OPEN) {
7738 /* mdc_intent_open_pack(), d'où [opcode][mdc_rec_create][name][eada] */
7739 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7740 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7741 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
7742 LUSTRE_DLM_INTENT_REC_OFF+2); /* TODO : replace hf with eada hf */
7745 if (intent_opc & IT_UNLINK){
7746 /* mdc_intent_unlink_pack(), d'où [opcode][mds_rec_unlink][name] */
7747 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
7748 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7750 if (intent_opc & IT_GETATTR){
7751 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
7752 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7753 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7756 if (intent_opc & IT_LOOKUP){
7757 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
7758 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7759 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7766 /* ----------------------------------------------- */
7767 /* function to test if the packet is entirely dissected add BUG in PROTOCOL COL when it's not*/
7769 sanity_check(tvbuff_t *tvb, packet_info *pinfo, guint32 val_offset _U_)
7771 guint32 magic_number ;
7772 guint32 somme_buflen = 0 ;
7775 magic_number = tvb_get_letohl(tvb, 8);
7778 for (i=0;i<LUSTRE_BUFCOUNT;i++)
7779 somme_buflen += tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF +
7780 4 * i ) + (8- tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4 * i)%8)%8; /* we add the
7788 if(val_offset!=somme_buflen){
7789 /*g_print("somme_buflen=%d, val_offset = %d \n",somme_buflen,val_offset);*/
7790 if (check_col(pinfo->cinfo, COL_INFO)) {
7791 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
7798 /* IDL: struct lustre_msg_v1 { */
7799 /* IDL: struct lustre_handle { */
7800 /* IDL: } lm_handle; */
7801 /* IDL: uint32 lm_magic; */
7802 /* IDL: uint32 lm_type; */
7803 /* IDL: uint32 lm_version; */
7804 /* IDL: uint32 lm_opc; */
7805 /* IDL: uint64 lm_last_xid; */
7806 /* IDL: uint64 lm_last_committed; */
7807 /* IDL: uint64 lm_transno; */
7808 /* IDL: uint32 lm_status; */
7809 /* IDL: uint32 lm_flags; */
7810 /* IDL: uint32 lm_conn_cnt; */
7811 /* IDL: uint32 lm_bufcount; */
7812 /* IDL: uint32 lm_buflens[0]; */
7817 lustre_dissect_element_msg_v1_lm_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7819 /*TODO : replace with a v1 handle*/
7820 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_lustre_msg_v1_lm_handle);
7825 lustre_dissect_element_msg_v1_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7827 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_magic);
7833 lustre_dissect_element_msg_v1_lm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7835 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_type);
7841 lustre_dissect_element_msg_v1_lm_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7843 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_version);
7849 lustre_dissect_element_msg_v1_lm_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7851 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_opc);
7857 lustre_dissect_element_msg_v1_lm_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7859 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_xid);
7865 lustre_dissect_element_msg_v1_lm_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7867 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_committed);
7873 lustre_dissect_element_msg_v1_lm_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7875 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_transno);
7881 lustre_dissect_element_msg_v1_lm_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7883 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_status);
7889 lustre_dissect_element_msg_v1_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7891 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_flags);
7897 lustre_dissect_element_msg_v1_lm_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7899 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_conn_cnt);
7905 lustre_dissect_element_msg_v1_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7907 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_bufcount);
7913 lustre_dissect_element_msg_v1_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7915 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_buflens);
7921 lustre_dissect_element_msg_v1_lm_buflens(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7924 gboolean extra_padding ;
7927 bufcount=tvb_get_letohl(tvb, offset-4); /* TODO : replace with a macro */
7929 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
7934 for (i=0;i<bufcount;i++) {
7935 offset=lustre_dissect_element_msg_v1_lm_buflens_(tvb, offset, pinfo, tree);
7939 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
7948 lustre_dissect_struct_msg_v1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
7950 proto_item *item = NULL;
7951 proto_tree *tree = NULL;
7953 guint32 opc ; /* opcode */
7954 guint32 pb_type; /* type : {request, reply, error} */
7960 // if (parent_tree) {
7961 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7962 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v1);
7965 offset=lustre_dissect_element_msg_v1_lm_handle(tvb, offset, pinfo, tree);
7967 offset=lustre_dissect_element_msg_v1_lm_magic(tvb, offset, pinfo, tree);
7969 pb_type = tvb_get_letohl(tvb, offset);
7970 offset=lustre_dissect_element_msg_v1_lm_type(tvb, offset, pinfo, tree);
7972 offset=lustre_dissect_element_msg_v1_lm_version(tvb, offset, pinfo, tree);
7973 opc = tvb_get_letohl(tvb, offset);
7974 offset=lustre_dissect_element_msg_v1_lm_opc(tvb, offset, pinfo, tree);
7976 offset=lustre_dissect_element_msg_v1_lm_last_xid(tvb, offset, pinfo, tree);
7978 offset=lustre_dissect_element_msg_v1_lm_last_committed(tvb, offset, pinfo, tree);
7980 offset=lustre_dissect_element_msg_v1_lm_transno(tvb, offset, pinfo, tree);
7982 offset=lustre_dissect_element_msg_v1_lm_status(tvb, offset, pinfo, tree);
7984 offset=lustre_dissect_element_msg_v1_lm_flags(tvb, offset, pinfo, tree);
7986 offset=lustre_dissect_element_msg_v1_lm_conn_cnt(tvb, offset, pinfo, tree);
7988 offset=lustre_dissect_element_msg_v1_lm_bufcount(tvb, offset, pinfo, tree);
7990 offset=lustre_dissect_element_msg_v1_lm_buflens(tvb, offset, pinfo, tree);
7993 proto_item_set_len(item, offset-old_offset);
7995 /* display some nice infos */
7996 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
7997 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
7999 offset=lustre_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
8004 /* IDL: struct ptlrpc_body { */
8005 /* IDL: struct lustre_handle { */
8006 /* IDL: } pb_handle; */
8007 /* IDL: uint32 pb_type; */
8008 /* IDL: uint32 pb_version; */
8009 /* IDL: uint32 pb_opc; */
8010 /* IDL: uint32 pb_status; */
8011 /* IDL: uint64 pb_last_xid; */
8012 /* IDL: uint64 pb_last_seen; */
8013 /* IDL: uint64 pb_last_committed; */
8014 /* IDL: uint64 pb_transno; */
8015 /* IDL: uint32 pb_flags; */
8016 /* IDL: uint32 pb_op_flags; */
8017 /* IDL: uint32 pb_conn_cnt; */
8018 /* IDL: uint32 pb_timeout; */
8019 /* IDL: uint32 pb_service_time; */
8020 /* IDL: uint32 pb_limit; */
8021 /* IDL: uint64 pb_slv; */
8025 lustre_dissect_element_ptlrpc_body_pb_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8027 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ptlrpc_body_pb_handle);
8033 lustre_dissect_element_ptlrpc_body_pb_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8035 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_type);
8041 lustre_dissect_element_ptlrpc_body_pb_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8043 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_version);
8049 lustre_dissect_element_ptlrpc_body_pb_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8051 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_opc);
8057 lustre_dissect_element_ptlrpc_body_pb_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8059 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_status);
8065 lustre_dissect_element_ptlrpc_body_pb_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8067 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_xid);
8073 lustre_dissect_element_ptlrpc_body_pb_last_seen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8075 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_seen);
8081 lustre_dissect_element_ptlrpc_body_pb_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8083 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_committed);
8089 lustre_dissect_element_ptlrpc_body_pb_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8091 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_transno);
8097 lustre_dissect_element_ptlrpc_body_pb_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8099 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_flags);
8105 lustre_dissect_element_ptlrpc_body_pb_op_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8107 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_op_flags);
8113 lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8115 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_conn_cnt);
8121 lustre_dissect_element_ptlrpc_body_pb_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8123 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_timeout);
8129 lustre_dissect_element_ptlrpc_body_pb_service_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8131 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_service_time);
8137 lustre_dissect_element_ptlrpc_body_pb_limit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8139 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_limit);
8145 lustre_dissect_element_ptlrpc_body_pb_slv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8147 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_slv);
8153 lustre_dissect_struct_ptlrpc_body(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_, guint32 buf_len _U_ )
8155 proto_item *item = NULL;
8156 proto_tree *tree = NULL;
8159 guint32 opc, pb_type;
8166 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8167 tree = proto_item_add_subtree(item, ett_lustre_ptlrpc_body);
8170 offset=lustre_dissect_element_ptlrpc_body_pb_handle(tvb, offset, pinfo, tree);
8172 pb_type = tvb_get_letohl(tvb, offset);
8173 //g_print("msg_v2_lm_type_offset = %d \n" , offset) ;
8175 offset=lustre_dissect_element_ptlrpc_body_pb_type(tvb, offset, pinfo, tree);
8177 offset=lustre_dissect_element_ptlrpc_body_pb_version(tvb, offset, pinfo, tree);
8179 // g_print("msg_v2_opcode_offset %d \n", offset);
8180 opc = tvb_get_letohl(tvb, offset);
8181 offset=lustre_dissect_element_ptlrpc_body_pb_opc(tvb, offset, pinfo, tree);
8183 offset=lustre_dissect_element_ptlrpc_body_pb_status(tvb, offset, pinfo, tree);
8185 offset=lustre_dissect_element_ptlrpc_body_pb_last_xid(tvb, offset, pinfo, tree);
8187 offset=lustre_dissect_element_ptlrpc_body_pb_last_seen(tvb, offset, pinfo, tree);
8189 offset=lustre_dissect_element_ptlrpc_body_pb_last_committed(tvb, offset, pinfo, tree);
8191 offset=lustre_dissect_element_ptlrpc_body_pb_transno(tvb, offset, pinfo, tree);
8193 offset=lustre_dissect_element_ptlrpc_body_pb_flags(tvb, offset, pinfo, tree);
8195 offset=lustre_dissect_element_ptlrpc_body_pb_op_flags(tvb, offset, pinfo, tree);
8197 offset=lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvb, offset, pinfo, tree);
8199 offset=lustre_dissect_element_ptlrpc_body_pb_timeout(tvb, offset, pinfo, tree);
8201 offset=lustre_dissect_element_ptlrpc_body_pb_service_time(tvb, offset, pinfo, tree);
8203 offset=lustre_dissect_element_ptlrpc_body_pb_limit(tvb, offset, pinfo, tree);
8205 offset=lustre_dissect_element_ptlrpc_body_pb_slv(tvb, offset, pinfo, tree);
8209 proto_item_set_len(item, offset-old_offset);
8211 /* display some nice infos */
8212 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
8213 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
8215 /* on utilise parent_tree pour bien distinguer les différents buffers (relatifs à bufcount + buflen), il s'agit d'un choix de présentation */
8216 offset=lustre_opcode_process(tvb, offset, pinfo, parent_tree, opc, pb_type);
8218 sanity_check(tvb,pinfo,offset-old_offset);
8224 /* IDL: struct lustre_msg_v2 { */
8225 /* IDL: uint32 lm_bufcount; */
8226 /* IDL: uint32 lm_secflvr; */
8227 /* IDL: uint32 lm_magic; */
8228 /* IDL: uint32 lm_repsize; */
8229 /* IDL: uint32 lm_cksum; */
8230 /* IDL: uint32 lm_flags; */
8231 /* IDL: uint32 lm_padding_2; */
8232 /* IDL: uint32 lm_padding_3; */
8233 /* IDL: uint32 lm_buflens[0]; */
8237 lustre_dissect_element_msg_v2_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8239 proto_tree_add_item(tree, hf_lustre_lustre_msg_v2_lm_bufcount, tvb, offset, 4, TRUE);
8245 lustre_dissect_element_msg_v2_lm_secflvr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8247 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_secflvr);
8253 lustre_dissect_element_msg_v2_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8255 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_magic);
8261 lustre_dissect_element_msg_v2_lm_repsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8263 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_repsize);
8269 lustre_dissect_element_msg_v2_lm_cksum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8271 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_cksum);
8277 lustre_dissect_element_msg_v2_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8279 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_flags);
8285 lustre_dissect_element_msg_v2_lm_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8287 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_2);
8293 lustre_dissect_element_msg_v2_lm_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8295 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_3);
8303 lustre_dissect_element_msg_v2_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8305 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_buflens);
8311 lustre_dissect_struct_msg_v2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
8313 proto_item *item = NULL;
8314 proto_tree *tree = NULL;
8318 guint32 buf_len_offset;
8319 guint32 current_buf_len ;
8320 gboolean extra_padding ;
8324 /* to get a light display */
8326 // if (parent_tree) {
8327 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8328 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v2);
8331 bufcount = tvb_get_letohl(tvb,offset);
8332 offset=lustre_dissect_element_msg_v2_lm_bufcount(tvb, offset, pinfo, tree);
8334 offset=lustre_dissect_element_msg_v2_lm_secflvr(tvb, offset, pinfo, tree);
8336 offset=lustre_dissect_element_msg_v2_lm_magic(tvb, offset, pinfo, tree);
8338 offset=lustre_dissect_element_msg_v2_lm_repsize(tvb, offset, pinfo, tree);
8340 offset=lustre_dissect_element_msg_v2_lm_cksum(tvb, offset, pinfo, tree);
8342 offset=lustre_dissect_element_msg_v2_lm_flags(tvb, offset, pinfo, tree);
8344 offset=lustre_dissect_element_msg_v2_lm_padding_2(tvb, offset, pinfo, tree);
8346 offset=lustre_dissect_element_msg_v2_lm_padding_3(tvb, offset, pinfo, tree);
8350 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
8355 buf_len_offset=offset ;
8356 for (i=0;i<bufcount;i++) {
8357 offset=lustre_dissect_element_msg_v2_lm_buflens_(tvb, offset, pinfo, tree);
8362 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
8367 current_buf_len = tvb_get_letohl(tvb, buf_len_offset);
8368 offset=lustre_dissect_struct_ptlrpc_body(tvb,offset, pinfo, tree, hf_lustre_ptlrpc_body_pb, current_buf_len);
8370 proto_item_set_len(item, offset-old_offset);
8379 dissect_lustre(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8381 if (check_col(pinfo->cinfo, COL_PROTOCOL))
8382 col_set_str(pinfo->cinfo, COL_PROTOCOL, "Lustre");
8385 if (check_col(pinfo->cinfo, COL_INFO))
8386 col_set_str(pinfo->cinfo, COL_INFO, "");
8387 /* guint32 magic_number ; */
8388 /* magic_number = tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET); */
8389 /* switch (magic_number)*/
8391 /* case LUSTRE_MSG_MAGIC_V1:*/
8392 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V1 ");*/
8394 /* case LUSTRE_MSG_MAGIC_V2:*/
8395 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V2 ");*/
8403 guint32 magic_number ;
8405 proto_item *ti = NULL ;
8406 proto_tree * lustre_tree = NULL ;
8409 ti = proto_tree_add_item(tree,proto_lustre,tvb,0,-1,FALSE);
8410 lustre_tree = proto_item_add_subtree(ti,ett_lustre);
8413 magic_number = tvb_get_letohl(tvb, 8);
8416 switch (magic_number){
8417 case LUSTRE_MSG_MAGIC_V1:
8418 /* put some nice info*/
8419 proto_item_append_text(lustre_tree, " V1 ");
8420 offset=lustre_dissect_struct_msg_v1(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8422 case LUSTRE_MSG_MAGIC_V2:
8423 /* put some nice info*/
8424 proto_item_append_text(lustre_tree, " V2 ");
8425 offset=lustre_dissect_struct_msg_v2(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8434 void proto_register_dcerpc_lustre(void)
8436 static hf_register_info hf[] = {
8437 { &hf_lustre_mds_body_ctime,
8438 { "Ctime", "lustre.mds_body.ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8439 { &hf_lustre_mds_body_fid1,
8440 { "Fid1", "lustre.mds_body.fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8441 { &hf_lustre_mds_body_nlink,
8442 { "Nlink", "lustre.mds_body.nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8443 { &hf_lustre_mds_body_flags,
8444 { "Flags", "lustre.mds_body.flags", FT_UINT32, BASE_HEX, VALS(lustre_mds_flags_vals) , 0, "", HFILL }},
8445 { &hf_lustre_mds_body_fsgid,
8446 { "Fsgid", "lustre.mds_body.fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8447 { &hf_lustre_mds_body_mtime,
8448 { "Mtime", "lustre.mds_body.mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8449 { &hf_lustre_mds_body_uid,
8450 { "Uid", "lustre.mds_body.uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8451 { &hf_lustre_mds_body_mode,
8452 { "Mode", "lustre.mds_body.mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8453 { &hf_lustre_mds_body_max_cookiesize,
8454 { "Max Cookiesize", "lustre.mds_body.max_cookiesize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8455 { &hf_lustre_mds_body_io_epoch,
8456 { "Io Epoch", "lustre.mds_body.io_epoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8457 { &hf_lustre_mds_body_ino,
8458 { "Ino", "lustre.mds_body.ino", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8459 { &hf_lustre_mds_body_fid2,
8460 { "Fid2", "lustre.mds_body.fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8461 { &hf_lustre_mds_body_padding_4,
8462 { "Padding 4", "lustre.mds_body.padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8463 { &hf_lustre_mds_body_aclsize,
8464 { "Aclsize", "lustre.mds_body.aclsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8465 { &hf_lustre_mds_body_valid,
8466 { "Valid", "lustre.mds_body.valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8467 { &hf_lustre_mds_body_generation,
8468 { "Generation", "lustre.mds_body.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8469 { &hf_lustre_mds_body_atime,
8470 { "Atime", "lustre.mds_body.atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8471 { &hf_lustre_mds_body_handle,
8472 { "Handle", "lustre.mds_body.handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8473 { &hf_lustre_mds_body_max_mdsize,
8474 { "Max Mdsize", "lustre.mds_body.max_mdsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8475 { &hf_lustre_mds_body_rdev,
8476 { "Rdev", "lustre.mds_body.rdev", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8477 { &hf_lustre_mds_body_blocks,
8478 { "Blocks", "lustre.mds_body.blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8479 { &hf_lustre_mds_body_fsuid,
8480 { "Fsuid", "lustre.mds_body.fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8481 { &hf_lustre_mds_body_gid,
8482 { "Gid", "lustre.mds_body.gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8483 { &hf_lustre_lustre_handle_cookie,
8484 { "Cookie", "lustre.lustre_handle.cookie", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8485 { &hf_lustre_mds_body_suppgid,
8486 { "Suppgid", "lustre.mds_body.suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8487 { &hf_lustre_mds_body_size,
8488 { "Size", "lustre.mds_body.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8489 { &hf_lustre_mds_body_eadatasize,
8490 { "Eadatasize", "lustre.mds_body.eadatasize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8491 { &hf_lustre_mds_body_capability,
8492 { "Capability", "lustre.mds_body.capability", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8493 { &hf_lustre_ptlrpc_body_pb_last_committed,
8494 { "Pb Last Committed", "lustre.ptlrpc_body.pb_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8495 { &hf_lustre_ptlrpc_body_pb_version,
8496 { "Pb Version", "lustre.ptlrpc_body.pb_version", FT_UINT32, BASE_DEC, NULL, ~LUSTRE_VERSION_MASK, "", HFILL }},
8497 { &hf_lustre_lustre_msg_v1_lm_bufcount,
8498 { "Lm Bufcount", "lustre.lustre_msg_v1.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8499 { &hf_lustre_obd_ioobj_ioo_id,
8500 { "Ioo Id", "lustre.obd_ioobj.ioo_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8501 { &hf_lustre_ptlrpc_body_pb_slv,
8502 { "Pb Slv", "lustre.ptlrpc_body.pb_slv", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8503 { &hf_lustre_lustre_msg_v1_lm_handle,
8504 { "Lm Handle", "lustre.lustre_msg_v1.lm_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8505 { &hf_lustre_ost_lvb_lvb_atime,
8506 { "Lvb Atime", "lustre.ost_lvb.lvb_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8507 { &hf_lustre_ptlrpc_body_pb_timeout,
8508 { "Pb Timeout", "lustre.ptlrpc_body.pb_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8509 { &hf_lustre_obd_statfs_os_bavail,
8510 { "Os Bavail", "lustre.obd_statfs.os_bavail", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8511 { &hf_lustre_obd_statfs_os_bsize,
8512 { "Os Bsize", "lustre.obd_statfs.os_bsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8513 { &hf_lustre_lustre_msg_v2_lm_repsize,
8514 { "Lm Repsize", "lustre.lustre_msg_v2.lm_repsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8515 { &hf_lustre_lov_mds_md_v1_lmm_stripe_size,
8516 { "Lmm Stripe Size", "lustre.lov_mds_md_v1.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8517 { &hf_lustre_lustre_msg_v1_lm_last_xid,
8518 { "Lm Last Xid", "lustre.lustre_msg_v1.lm_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8519 { &hf_lustre_ll_fid_f_type,
8520 { "F Type", "lustre.ll_fid.f_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8521 { &hf_lustre_lustre_msg_v2_lm_cksum,
8522 { "Lm Cksum", "lustre.lustre_msg_v2.lm_cksum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8523 { &hf_lustre_lustre_msg_v2_lm_buflens,
8524 { "Lm Buflens", "lustre.lustre_msg_v2.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8525 { &hf_lustre_lustre_msg_v1_lm_status,
8526 { "Lm Status", "lustre.lustre_msg_v1.lm_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8527 { &hf_lustre_lustre_msg_v1_lm_type,
8528 { "Lm Type", "lustre.lustre_msg_v1.lm_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
8529 { &hf_lustre_niobuf_remote_len,
8530 { "Len", "lustre.niobuf_remote.len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8531 { &hf_lustre_lov_mds_md_v1_lmm_magic,
8532 { "Lmm Magic", "lustre.lov_mds_md_v1.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic) , 0, "", HFILL }},
8533 { &hf_lustre_ptlrpc_body_pb_op_flags,
8534 { "Pb Op Flags", "lustre.ptlrpc_body.pb_op_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8535 { &hf_lustre_ost_lvb_lvb_ctime,
8536 { "Lvb Ctime", "lustre.ost_lvb.lvb_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8537 { &hf_lustre_ptlrpc_body_pb_type,
8538 { "Pb Type", "lustre.ptlrpc_body.pb_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
8539 { &hf_lustre_obd_connect_data_ocd_nllg,
8540 { "Ocd Nllg", "lustre.obd_connect_data.ocd_nllg", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8541 { &hf_lustre_obd_connect_data_ocd_nllu,
8542 { "Ocd Nllu", "lustre.obd_connect_data.ocd_nllu", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8543 { &hf_lustre_ll_fid_generation,
8544 { "Generation", "lustre.ll_fid.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8545 { &hf_lustre_ost_lvb_lvb_mtime,
8546 { "Lvb Mtime", "lustre.ost_lvb.lvb_mtime",FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0, "", HFILL }},
8547 { &hf_lustre_obd_connect_data_ocd_ibits_known,
8548 { "Ocd Ibits Known", "lustre.obd_connect_data.ocd_ibits_known", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8549 { &hf_lustre_lustre_msg_v2_lm_padding_3,
8550 { "Lm Padding 3", "lustre.lustre_msg_v2.lm_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8551 { &hf_lustre_ptlrpc_body_pb_flags,
8552 { "Pb Flags", "lustre.ptlrpc_body.pb_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8553 { &hf_lustre_obd_statfs_os_spare4,
8554 { "Os Spare4", "lustre.obd_statfs.os_spare4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8555 { &hf_lustre_obd_connect_data_ocd_group,
8556 { "Ocd Group", "lustre.obd_connect_data.ocd_group", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8557 { &hf_lustre_lov_ost_data_v1_l_object_gr,
8558 { "L Object Gr", "lustre.lov_ost_data_v1.l_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8559 { &hf_lustre_lov_mds_md_v1_lmm_object_gr,
8560 { "Lmm Object Gr", "lustre.lov_mds_md_v1.lmm_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8561 { &hf_lustre_obd_connect_data_ocd_brw_size,
8562 { "Ocd Brw Size", "lustre.obd_connect_data.ocd_brw_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8563 { &hf_lustre_ptlrpc_body_pb_limit,
8564 { "Pb Limit", "lustre.ptlrpc_body.pb_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8565 { &hf_lustre_obd_statfs_os_maxbytes,
8566 { "Os Maxbytes", "lustre.obd_statfs.os_maxbytes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8567 { &hf_lustre_obd_statfs_os_spare5,
8568 { "Os Spare5", "lustre.obd_statfs.os_spare5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8569 { &hf_lustre_lustre_msg_v2_lm_flags,
8570 { "Lm Flags", "lustre.lustre_msg_v2.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8571 { &hf_lustre_obd_statfs_os_ffree,
8572 { "Os Ffree", "lustre.obd_statfs.os_ffree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8573 { &hf_lustre_obd_statfs_os_files,
8574 { "Os Files", "lustre.obd_statfs.os_files", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8575 { &hf_lustre_lov_mds_md_v1_lmm_stripe_count,
8576 { "Lmm Stripe Count", "lustre.lov_mds_md_v1.lmm_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8577 { &hf_lustre_lustre_msg_v1_lm_flags,
8578 { "Lm Flags", "lustre.lustre_msg_v1.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8579 { &hf_lustre_lustre_msg_v1_lm_last_committed,
8580 { "Lm Last Committed", "lustre.lustre_msg_v1.lm_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8581 { &hf_lustre_obd_statfs_os_spare9,
8582 { "Os Spare9", "lustre.obd_statfs.os_spare9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8583 { &hf_lustre_obd_connect_data_ocd_index,
8584 { "Ocd Index", "lustre.obd_connect_data.ocd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8585 { &hf_lustre_lustre_msg_v1_lm_buflens,
8586 { "Lm Buflens", "lustre.lustre_msg_v1.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8587 { &hf_lustre_obd_statfs_os_spare1,
8588 { "Os Spare1", "lustre.obd_statfs.os_spare1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8589 { &hf_lustre_obd_statfs_os_spare8,
8590 { "Os Spare8", "lustre.obd_statfs.os_spare8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8591 { &hf_lustre_lustre_msg_v1_lm_conn_cnt,
8592 { "Lm Conn Cnt", "lustre.lustre_msg_v1.lm_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8593 { &hf_lustre_ptlrpc_body_pb_transno,
8594 { "Pb Transno", "lustre.ptlrpc_body.pb_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8595 { &hf_lustre_ptlrpc_body_pb_service_time,
8596 { "Pb Service Time", "lustre.ptlrpc_body.pb_service_time",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8597 { &hf_lustre_ptlrpc_body_pb_conn_cnt,
8598 { "Pb Conn Cnt", "lustre.ptlrpc_body.pb_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8599 { &hf_lustre_ptlrpc_body_pb_opc,
8600 { "Pb Opc", "lustre.ptlrpc_body.pb_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
8601 { &hf_lustre_obd_connect_data_ocd_connect_flags,
8602 { "Ocd Connect Flags", "lustre.obd_connect_data.ocd_connect_flags", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8603 { &hf_lustre_lov_ost_data_v1_l_object_id,
8604 { "L Object Id", "lustre.lov_ost_data_v1.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8605 { &hf_lustre_lov_ost_data_v1_l_ost_gen,
8606 { "L Ost Gen", "lustre.lov_ost_data_v1.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8607 { &hf_lustre_obd_statfs_os_bfree,
8608 { "Os Bfree", "lustre.obd_statfs.os_bfree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8609 { &hf_lustre_obd_connect_data_ocd_version,
8610 { "Ocd Version", "lustre.obd_connect_data.ocd_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8611 { &hf_lustre_lov_mds_md_v1_lmm_objects,
8612 { "Lmm Objects", "lustre.lov_mds_md_v1.lmm_objects", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8613 { &hf_lustre_mds_status_req_flags,
8614 { "Flags", "lustre.mds_status_req.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8615 { &hf_lustre_obd_statfs_os_namelen,
8616 { "Os Namelen", "lustre.obd_statfs.os_namelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8617 { &hf_lustre_obd_statfs_os_blocks,
8618 { "Os Blocks", "lustre.obd_statfs.os_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8619 { &hf_lustre_lustre_msg_v2_lm_secflvr,
8620 { "Lm Secflvr", "lustre.lustre_msg_v2.lm_secflvr", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8621 { &hf_lustre_lustre_msg_v1_lm_transno,
8622 { "Lm Transno", "lustre.lustre_msg_v1.lm_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8623 { &hf_lustre_lov_mds_md_v1_lmm_pattern,
8624 { "Lmm Pattern", "lustre.lov_mds_md_v1.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8625 { &hf_lustre_lustre_msg_v1_lm_opc,
8626 { "Lm Opc", "lustre.lustre_msg_v1.lm_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
8627 { &hf_lustre_obd_connect_data_ocd_grant,
8628 { "Ocd Grant", "lustre.obd_connect_data.ocd_grant", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8629 { &hf_lustre_obd_ioobj_ioo_bufcnt,
8630 { "Ioo Bufcnt", "lustre.obd_ioobj.ioo_bufcnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8631 { &hf_lustre_lustre_msg_v1_lm_version,
8632 { "Lm Version", "lustre.lustre_msg_v1.lm_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8633 { &hf_lustre_obd_statfs_os_spare7,
8634 { "Os Spare7", "lustre.obd_statfs.os_spare7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8635 { &hf_lustre_obd_statfs_os_fsid,
8636 { "Os Fsid", "lustre.obd_statfs.os_fsid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
8637 { &hf_lustre_obd_connect_data_ocd_cksum_types,
8638 { "Ocd Cksum Types", "lustre.obd_connect_data.ocd_cksum_types", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8639 { &hf_lustre_ost_lvb_lvb_size,
8640 { "Lvb Size", "lustre.ost_lvb.lvb_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8641 { &hf_lustre_obd_statfs_os_type,
8642 { "Os Type", "lustre.obd_statfs.os_type", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8643 { &hf_lustre_obd_statfs_os_spare6,
8644 { "Os Spare6", "lustre.obd_statfs.os_spare6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8645 { &hf_lustre_obd_statfs_os_state,
8646 { "Os State", "lustre.obd_statfs.os_state", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8647 { &hf_lustre_obd_statfs_os_spare3,
8648 { "Os Spare3", "lustre.obd_statfs.os_spare3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8649 { &hf_lustre_lustre_msg_v2_lm_magic,
8650 { "Lm Magic", "lustre.lustre_msg_v2.lm_magic", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
8651 { &hf_lustre_lov_mds_md_v1_lmm_object_id,
8652 { "Lmm Object Id", "lustre.lov_mds_md_v1.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8653 { &hf_lustre_ptlrpc_body_pb_last_seen,
8654 { "Pb Last Seen", "lustre.ptlrpc_body.pb_last_seen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8655 { &hf_lustre_obd_ioobj_ioo_type, /* TODO : create the corresponding value_string */
8656 { "Ioo Type", "lustre.obd_ioobj.ioo_type", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
8657 { &hf_lustre_ptlrpc_body_pb_last_xid,
8658 { "Pb Last Xid", "lustre.ptlrpc_body.pb_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8659 { &hf_lustre_ptlrpc_body_pb_status,
8660 { "Pb Status", "lustre.ptlrpc_body.pb_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8661 { &hf_lustre_niobuf_remote_flags,
8662 { "Flags", "lustre.niobuf_remote.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8663 { &hf_lustre_ll_fid_id,
8664 { "Id", "lustre.ll_fid.id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8665 { &hf_lustre_ost_lvb_lvb_blocks,
8666 { "Lvb Blocks", "lustre.ost_lvb.lvb_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8667 { &hf_lustre_lustre_msg_v2_lm_padding_2,
8668 { "Lm Padding 2", "lustre.lustre_msg_v2.lm_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8669 { &hf_lustre_obd_connect_data_padding1,
8670 { "Padding1", "lustre.obd_connect_data.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8671 { &hf_lustre_lov_ost_data_v1_l_ost_idx,
8672 { "L Ost Idx", "lustre.lov_ost_data_v1.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8673 { &hf_lustre_obd_connect_data_padding2,
8674 { "Padding2", "lustre.obd_connect_data.padding2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8675 { &hf_lustre_obd_ioobj_ioo_gr,
8676 { "Ioo Gr", "lustre.obd_ioobj.ioo_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8677 { &hf_lustre_niobuf_remote_offset,
8678 { "Offset", "lustre.niobuf_remote.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8679 { &hf_lustre_mds_status_req_repbuf,
8680 { "Repbuf", "lustre.mds_status_req.repbuf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8681 { &hf_lustre_obd_statfs_os_spare2,
8682 { "Os Spare2", "lustre.obd_statfs.os_spare2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8683 { &hf_lustre_lustre_msg_v2_lm_bufcount,
8684 { "Lm Bufcount", "lustre.lustre_msg_v2.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8685 { &hf_lustre_ptlrpc_body_pb_handle,
8686 { "Pb Handle", "lustre.ptlrpc_body.pb_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8687 { &hf_lustre_obd_connect_data_ocd_transno,
8688 { "Ocd Transno", "lustre.obd_connect_data.ocd_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8689 { &hf_lustre_lustre_msg_v1_lm_magic,
8690 { "Lm Magic", "lustre.lustre_msg_v1.lm_magic", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8691 { &hf_lustre_ptlrpc_body_pb,
8692 { "ptl rpc", "lustre.ptlrpc_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8693 { &hf_lustre_mds_body,
8694 { "mds body", "lustre.mds_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8695 { &hf_lustre_mds_rec_create,
8696 { "mds rec create", "lustre.mds_rec_create", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8697 { &hf_lustre_mds_rec_link,
8698 { "mds rec link", "lustre.mds_rec_link", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8699 { &hf_lustre_mds_rec_unlink,
8700 { "mds rec unlink", "lustre.mds_rec_unlink", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8702 { &hf_lustre_obd_uuid,
8703 { "obd uid name", "lustre.obd_uid", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8704 { &hf_lustre_obd_connect_data ,
8705 { "obd connect data", "lustre.obd_connect_data", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8707 { &hf_lustre_ldlm_intent,
8708 { "ldlm intent", "lustre.ldlm_intent", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8710 { &hf_lustre_obd_ioobj,
8711 { "lustre obd ioobj", "lustre.obd_ioobj", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8712 { &hf_lustre_niobuf_remote,
8713 { "lustre niobuf remote", "lustre.niobuf_remote", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8714 { &hf_lustre_ost_key,
8715 { "lustre ost key", "lustre.ost_key", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8716 { &hf_lustre_ost_val,
8717 { "lustre ost val", "lustre.ost_val", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8718 { &hf_lustre_llogd_chunk,
8719 { "lustre llogd chunk", "lustre.llogd_chunk", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8720 { &hf_lustre_llogd_keyword,
8721 { "lustre llogd keyword", "lustre.llogd_keyword", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8722 { &hf_lustre_llogd_client,
8723 { "lustre llogd client", "lustre.llogd_client", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8724 { &hf_lustre_llogd_name,
8725 { "lustre llogd name", "lustre.llogd_name", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8726 { &hf_lustre_llogd_log_hdr,
8727 { "lustre llogd log hdr", "lustre.llogd_log_hdr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8728 { &hf_lustre_llog_logid_rec,
8729 { "lustre llog logid rec", "lustre.llog_logid_rec", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8731 { &hf_lustre_llogd_body,
8732 { "lustre llogd body", "lustre.llogd_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8734 { "lustre nio", "lustre.nio", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8735 { &hf_lustre_ost_body,
8736 { "ost body", "lustre.ost_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8737 { &hf_lustre_obd_statfs,
8738 { "obd statfs", "lustre.obd_statfs", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8739 { &hf_lustre_obd_quotactl,
8740 { "obd quotactl", "lustre.obd_quotacl", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8741 { &hf_lustre_quota_adjust_qunit,
8742 { "obd quota adjust qunit", "lustre.quota_adjust_qunit", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8743 { &hf_lustre_llog_unlink_rec_lur_tail,
8744 { "Lur Tail", "lustre.llog_unlink_rec.lur_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8745 { &hf_lustre_llog_size_change_rec_lsc_io_epoch,
8746 { "Lsc Io Epoch", "lustre.llog_size_change_rec.lsc_io_epoch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8747 { &hf_lustre_mgs_target_info_mti_flags,
8748 { "Mti Flags", "lustre.mgs_target_info.mti_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8749 { &hf_lustre_ldlm_reply_lock_policy_res1,
8750 { "Lock Policy Res1", "lustre.ldlm_reply.lock_policy_res1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8751 { &hf_lustre_mds_rec_link_lk_fsuid,
8752 { "Lk Fsuid", "lustre.mds_rec_link.lk_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8753 { &hf_lustre_llogd_body_lgd_len,
8754 { "Lgd Len", "lustre.llogd_body.lgd_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8755 { &hf_lustre_qunit_data_old_qd_id,
8756 { "Qd Id", "lustre.qunit_data_old.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8757 { &hf_lustre_llog_logid_rec_padding1,
8758 { "Padding1", "lustre.llog_logid_rec.padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8759 { &hf_lustre_quota_adjust_qunit_padding1,
8760 { "Padding1", "lustre.quota_adjust_qunit.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8761 { &hf_lustre_llog_size_change_rec_lsc_fid,
8762 { "Lsc Fid", "lustre.llog_size_change_rec.lsc_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8763 { &hf_lustre_llog_rec_hdr_padding,
8764 { "Padding", "lustre.llog_rec_hdr.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8765 { &hf_lustre_mds_rec_create_cr_time,
8766 { "Cr Time", "lustre.mds_rec_create.cr_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8767 { &hf_lustre_mds_rec_create_cr_padding_1,
8768 { "Cr Padding 1", "lustre.mds_rec_create.cr_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8769 { &hf_lustre_obdo_o_nlink,
8770 { "O Nlink", "lustre.obdo.o_nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8771 { &hf_lustre_mds_rec_rename_rn_suppgid2,
8772 { "Rn Suppgid2", "lustre.mds_rec_rename.rn_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8773 { &hf_lustre_mds_rec_link_lk_padding_4,
8774 { "Lk Padding 4", "lustre.mds_rec_link.lk_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8775 { &hf_lustre_mds_rec_link_lk_cap,
8776 { "Lk Cap", "lustre.mds_rec_link.lk_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8777 { &hf_lustre_ldlm_extent_gid,
8778 { "Gid", "lustre.ldlm_extent.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8779 { &hf_lustre_obdo_o_uid,
8780 { "O Uid", "lustre.obdo.o_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8781 { &hf_lustre_mds_rec_create_cr_padding_5,
8782 { "Cr Padding 5", "lustre.mds_rec_create.cr_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8783 { &hf_lustre_mds_xattr_name,
8784 { "mds xattr name", "lustre.mds_xattr_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8785 { &hf_lustre_lov_mds_md_v1,
8786 { "lov mds md v1", "lustre.lov_mds_md_v1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8787 { &hf_lustre_llog_cookie,
8788 { "llog cookie", "lustre.llog_cookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8789 { &hf_lustre_mds_md_data,
8790 { "mds md data", "lustre.mds_md_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8791 { &hf_lustre_mds_reint_opcode,
8792 { "mds reint opcode", "lustre.mds_reint_opcode", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8793 { &hf_lustre_mds_xattr_eadata,
8794 { "mds xattr eadata", "lustre.mds_xattr_eadata", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8795 { &hf_lustre_reint_name,
8796 { "mds reint name", "lustre.mds_reint_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8797 { &hf_lustre_reint_old_name,
8798 { "mds reint old name", "lustre.mds_reint_old_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8799 { &hf_lustre_reint_new_name,
8800 { "mds reint new name", "lustre.mds_reint_new_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8804 { &hf_lustre_obdo_o_valid,
8805 { "O Valid", "lustre.obdo.o_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8806 { &hf_lustre_ldlm_reply_lock_flags,
8807 { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32,BASE_HEX, NULL, 0, "", HFILL }},
8809 {&hf_lustre_ldlm_fl_lock_changed, {"LDLM_FL_LOCK_CHANGED", "lustre.ldlm_fl_lock_changed", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LOCK_CHANGED, "", HFILL}},
8810 {&hf_lustre_ldlm_fl_block_granted, {"LDLM_FL_BLOCK_GRANTED", "lustre.ldlm_fl_block_granted", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BLOCK_GRANTED, "", HFILL}},
8811 {&hf_lustre_ldlm_fl_block_conv, {"LDLM_FL_BLOCK_CONV", "lustre.ldlm_fl_block_conv", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BLOCK_CONV, "", HFILL}},
8812 {&hf_lustre_ldlm_fl_block_wait, {"LDLM_FL_BLOCK_WAIT", "lustre.ldlm_fl_block_wait", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BLOCK_WAIT, "", HFILL}},
8813 {&hf_lustre_ldlm_fl_cbpending, {"LDLM_FL_CBPENDING", "lustre.ldlm_fl_cbpending", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CBPENDING, "", HFILL}},
8814 {&hf_lustre_ldlm_fl_ast_sent, {"LDLM_FL_AST_SENT", "lustre.ldlm_fl_ast_sent", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_AST_SENT, "", HFILL}},
8815 {&hf_lustre_ldlm_fl_wait_noreproc, {"LDLM_FL_WAIT_NOREPROC", "lustre.ldlm_fl_wait_noreproc", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_WAIT_NOREPROC, "", HFILL}},
8816 {&hf_lustre_ldlm_fl_cancel, {"LDLM_FL_CANCEL", "lustre.ldlm_fl_cancel", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCEL, "", HFILL}},
8817 {&hf_lustre_ldlm_fl_replay, {"LDLM_FL_REPLAY", "lustre.ldlm_fl_replay", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_REPLAY, "", HFILL}},
8818 {&hf_lustre_ldlm_fl_intent_only, {"LDLM_FL_INTENT_ONLY", "lustre.ldlm_fl_intent_only", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_INTENT_ONLY, "", HFILL}},
8819 {&hf_lustre_ldlm_fl_local_only, {"LDLM_FL_LOCAL_ONLY", "lustre.ldlm_fl_local_only", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LOCAL_ONLY, "", HFILL}},
8820 {&hf_lustre_ldlm_fl_failed, {"LDLM_FL_FAILED", "lustre.ldlm_fl_failed", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_FAILED, "", HFILL}},
8821 {&hf_lustre_ldlm_fl_has_intent, {"LDLM_FL_HAS_INTENT", "lustre.ldlm_fl_has_intent", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_HAS_INTENT, "", HFILL}},
8822 {&hf_lustre_ldlm_fl_canceling, {"LDLM_FL_CANCELING", "lustre.ldlm_fl_canceling", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCELING, "", HFILL}},
8823 {&hf_lustre_ldlm_fl_local, {"LDLM_FL_LOCAL", "lustre.ldlm_fl_local", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LOCAL, "", HFILL}},
8824 {&hf_lustre_ldlm_fl_warn, {"LDLM_FL_WARN", "lustre.ldlm_fl_warn", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_WARN, "", HFILL}},
8825 {&hf_lustre_ldlm_fl_discard_data, {"LDLM_FL_DISCARD_DATA", "lustre.ldlm_fl_discard_data", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_DISCARD_DATA, "", HFILL}},
8826 {&hf_lustre_ldlm_fl_no_timeout, {"LDLM_FL_NO_TIMEOUT", "lustre.ldlm_fl_no_timeout", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_NO_TIMEOUT, "", HFILL}},
8827 {&hf_lustre_ldlm_fl_block_nowait, {"LDLM_FL_BLOCK_NOWAIT", "lustre.ldlm_fl_block_nowait", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BLOCK_NOWAIT, "", HFILL}},
8828 {&hf_lustre_ldlm_fl_test_lock, {"LDLM_FL_TEST_LOCK", "lustre.ldlm_fl_test_lock", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_TEST_LOCK, "", HFILL}},
8829 {&hf_lustre_ldlm_fl_lvb_ready, {"LDLM_FL_LVB_READY", "lustre.ldlm_fl_lvb_ready", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LVB_READY, "", HFILL}},
8830 {&hf_lustre_ldlm_fl_kms_ignore, {"LDLM_FL_KMS_IGNORE", "lustre.ldlm_fl_kms_ignore", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_KMS_IGNORE, "", HFILL}},
8831 {&hf_lustre_ldlm_fl_no_lru, {"LDLM_FL_NO_LRU", "lustre.ldlm_fl_no_lru", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_NO_LRU, "", HFILL}},
8832 {&hf_lustre_ldlm_fl_cancel_on_block, {"LDLM_FL_CANCEL_ON_BLOCK", "lustre.ldlm_fl_cancel_on_block", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCEL_ON_BLOCK, "", HFILL}},
8833 {&hf_lustre_ldlm_fl_cp_reqd, {"LDLM_FL_CP_REQD", "lustre.ldlm_fl_cp_reqd", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CP_REQD, "", HFILL}},
8834 {&hf_lustre_ldlm_fl_cleaned, {"LDLM_FL_CLEANED", "lustre.ldlm_fl_cleaned", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CLEANED, "", HFILL}},
8835 {&hf_lustre_ldlm_fl_atomic_cb, {"LDLM_FL_ATOMIC_CB", "lustre.ldlm_fl_atomic_cb", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_ATOMIC_CB, "", HFILL}},
8836 {&hf_lustre_ldlm_fl_bl_ast, {"LDLM_FL_BL_AST", "lustre.ldlm_fl_bl_ast", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BL_AST, "", HFILL}},
8837 {&hf_lustre_ldlm_fl_bl_done, {"LDLM_FL_BL_DONE", "lustre.ldlm_fl_bl_done", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_BL_DONE, "", HFILL}},
8838 {&hf_lustre_ldlm_fl_deny_on_contention, {"LDLM_FL_DENY_ON_CONTENTION", "lustre.ldlm_fl_deny_on_contention", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_DENY_ON_CONTENTION, "", HFILL}},
8839 {&hf_lustre_ldlm_ast_discard_data, {"LDLM_AST_DISCARD_DATA", "lustre.ldlm_ast_discard_data", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_AST_DISCARD_DATA, "", HFILL}},
8842 { &hf_lustre_mds_rec_link_lk_padding_3,
8843 { "Lk Padding 3", "lustre.mds_rec_link.lk_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8844 { &hf_lustre_obdo_o_misc,
8845 { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8846 { &hf_lustre_mds_rec_setattr_sa_suppgid,
8847 { "Sa Suppgid", "lustre.mds_rec_setattr.sa_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8848 { &hf_lustre_mds_rec_setattr_sa_attr_flags,
8849 { "Sa Attr Flags", "lustre.mds_rec_setattr.sa_attr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8850 { &hf_lustre_mds_rec_rename_rn_padding_2,
8851 { "Rn Padding 2", "lustre.mds_rec_rename.rn_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8852 { &hf_lustre_ldlm_request_lock_handle,
8853 { "Lock Handle", "lustre.ldlm_request.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8854 { &hf_lustre_llog_logid_lgl_oid,
8855 { "Lgl Oid", "lustre.llog_logid.lgl_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8856 { &hf_lustre_ldlm_inodebits_bits,
8857 { "Bits", "lustre.ldlm_inodebits.bits", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8858 { &hf_lustre_llog_log_hdr_llh_count,
8859 { "Llh Count", "lustre.llog_log_hdr.llh_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8860 { &hf_lustre_mds_rec_unlink_ul_padding_4,
8861 { "Ul Padding 4", "lustre.mds_rec_unlink.ul_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8862 { &hf_lustre_llog_gen_rec_lgr_tail,
8863 { "Lgr Tail", "lustre.llog_gen_rec.lgr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8864 { &hf_lustre_llog_catid_lci_padding3,
8865 { "Lci Padding3", "lustre.llog_catid.lci_padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8866 { &hf_lustre_qunit_data_qd_qunit,
8867 { "Qd Qunit", "lustre.qunit_data.qd_qunit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8868 { &hf_lustre_mds_rec_unlink_ul_fid1,
8869 { "Ul Fid1", "lustre.mds_rec_unlink.ul_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8870 { &hf_lustre_llog_setattr_rec_padding,
8871 { "Padding", "lustre.llog_setattr_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8872 { &hf_lustre_mds_rec_rename_rn_opcode,
8873 { "Rn Opcode", "lustre.mds_rec_rename.rn_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
8874 { &hf_lustre_mds_rec_create_cr_flags,
8875 { "Cr Flags", "lustre.mds_rec_create.cr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8876 { &hf_lustre_mds_rec_rename_rn_fid1,
8877 { "Rn Fid1", "lustre.mds_rec_rename.rn_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8878 { &hf_lustre_llog_cookie_lgc_lgl,
8879 { "Lgc Lgl", "lustre.llog_cookie.lgc_lgl", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8880 { &hf_lustre_obd_quotactl_qc_dqinfo,
8881 { "Qc Dqinfo", "lustre.obd_quotactl.qc_dqinfo", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8882 { &hf_lustre_llog_log_hdr_llh_bitmap,
8883 { "Llh Bitmap", "lustre.llog_log_hdr.llh_bitmap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8884 { &hf_lustre_mds_rec_setattr_sa_size,
8885 { "Sa Size", "lustre.mds_rec_setattr.sa_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8886 { &hf_lustre_mds_rec_rename_rn_suppgid1,
8887 { "Rn Suppgid1", "lustre.mds_rec_rename.rn_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8888 { &hf_lustre_obd_quotactl_qc_stat,
8889 { "Qc Stat", "lustre.obd_quotactl.qc_stat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8890 { &hf_lustre_qunit_data_old2_qd_id,
8891 { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8892 { &hf_lustre_llog_logid_rec_padding2,
8893 { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8894 { &hf_lustre_mds_rec_unlink_ul_mode,
8895 { "Ul Mode", "lustre.mds_rec_unlink.ul_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8896 { &hf_lustre_llog_orphan_rec_lor_tail,
8897 { "Lor Tail", "lustre.llog_orphan_rec.lor_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8898 { &hf_lustre_llog_logid_rec_padding5,
8899 { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8900 { &hf_lustre_mds_rec_create_cr_fsgid,
8901 { "Cr Fsgid", "lustre.mds_rec_create.cr_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8902 /*-------------------------------------------------------------------------------------------------------------*/
8903 /*all this flags are uint64, but I don't find the way to use something like TFS() with a Uint64*/
8904 { &hf_lustre_ldlm_intent_opc_open,
8905 { "open", "lustre.ldlm_intent.opc_open", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_OPEN, "", HFILL}},
8906 { &hf_lustre_ldlm_intent_opc_creat,
8907 { "creat", "lustre.ldlm_intent.opc_creat", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_CREAT , "", HFILL}},
8908 { &hf_lustre_ldlm_intent_opc_readdir,
8909 { "readdir", "lustre.ldlm_intent.opc_readdir", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_READDIR , "", HFILL}},
8910 { &hf_lustre_ldlm_intent_opc_getattr,
8911 { "getattr", "lustre.ldlm_intent.opc_getattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETATTR, "", HFILL}},
8912 { &hf_lustre_ldlm_intent_opc_lookup,
8913 { "lookup", "lustre.ldlm_intent.opc_lookup", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_LOOKUP , "", HFILL}},
8914 { &hf_lustre_ldlm_intent_opc_unlink,
8915 { "unlink", "lustre.ldlm_intent.opc_unlink", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_UNLINK , "", HFILL}},
8916 { &hf_lustre_ldlm_intent_opc_getxattr,
8917 { "getxattr", "lustre.ldlm_intent.opc_getxattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETXATTR , "", HFILL}},
8918 { &hf_lustre_ldlm_intent_opc_exec,
8919 { "exec", "lustre.ldlm_intent.opc_exec", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_EXEC , "", HFILL}},
8920 { &hf_lustre_ldlm_intent_opc_pin,
8921 { "pin", "lustre.ldlm_intent.opc_pin", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_PIN , "", HFILL}},
8922 /*-------------------------------------------------------------------------------------------------------------*/
8923 { &hf_lustre_ldlm_intent_opc,
8924 { "intent opcode", "lustre.ldlm_intent.opc", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
8925 { &hf_lustre_llog_rec_hdr_lrh_type,
8926 { "Lrh Type", "lustre.llog_rec_hdr.lrh_type", FT_UINT32, BASE_HEX, VALS(lustre_llog_op_type), 0, "", HFILL }},
8927 { &hf_lustre_mds_rec_link_lk_fsgid,
8928 { "Lk Fsgid", "lustre.mds_rec_link.lk_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8929 { &hf_lustre_llog_rec_hdr_lrh_len,
8930 { "Lrh Len", "lustre.llog_rec_hdr.lrh_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8931 { &hf_lustre_llog_setattr_rec_lsr_uid,
8932 { "Lsr Uid", "lustre.llog_setattr_rec.lsr_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8933 { &hf_lustre_lov_desc_ld_padding_1,
8934 { "Ld Padding 1", "lustre.lov_desc.ld_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8935 { &hf_lustre_obdo_o_padding_4,
8936 { "O Padding 4", "lustre.obdo.o_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8937 { &hf_lustre_mgs_target_info_padding,
8938 { "Padding", "lustre.mgs_target_info.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8939 { &hf_lustre_obd_quotactl_qc_dqblk,
8940 { "Qc Dqblk", "lustre.obd_quotactl.qc_dqblk", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8941 { &hf_lustre_llogd_conn_body_lgdc_gen,
8942 { "Lgdc Gen", "lustre.llogd_conn_body.lgdc_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8943 { &hf_lustre_mds_rec_create_cr_padding_2,
8944 { "Cr Padding 2", "lustre.mds_rec_create.cr_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8945 { &hf_lustre_mds_rec_setattr_sa_ctime,
8946 { "Sa Ctime", "lustre.mds_rec_setattr.sa_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8947 { &hf_lustre_llog_log_hdr_llh_tail,
8948 { "Llh Tail", "lustre.llog_log_hdr.llh_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8949 { &hf_lustre_obdo_o_size,
8950 { "O Size", "lustre.obdo.o_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8951 { &hf_lustre_mds_rec_setattr_sa_cap,
8952 { "Sa Cap", "lustre.mds_rec_setattr.sa_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8953 { &hf_lustre_ldlm_extent_start,
8954 { "Start", "lustre.ldlm_extent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8955 { &hf_lustre_mds_rec_unlink_ul_opcode,
8956 { "Ul Opcode", "lustre.mds_rec_unlink.ul_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
8957 { &hf_lustre_llog_size_change_rec_lsc_hdr,
8958 { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8959 { &hf_lustre_mds_rec_unlink_ul_time,
8960 { "Ul Time", "lustre.mds_rec_unlink.ul_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8961 { &hf_lustre_llog_create_rec_lcr_tail,
8962 { "Lcr Tail", "lustre.llog_create_rec.lcr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8963 { &hf_lustre_mds_rec_setattr_sa_mode,
8964 { "Sa Mode", "lustre.mds_rec_setattr.sa_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8965 { &hf_lustre_llog_logid_lgl_ogr,
8966 { "Lgl Ogr", "lustre.llog_logid.lgl_ogr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8967 { &hf_lustre_llog_create_rec_lcr_hdr,
8968 { "Lcr Hdr", "lustre.llog_create_rec.lcr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8969 { &hf_lustre_llog_cookie_lgc_padding,
8970 { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8971 { &hf_lustre_mds_rec_create_cr_cap,
8972 { "Cr Cap", "lustre.mds_rec_create.cr_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8973 { &hf_lustre_qunit_data_old_qd_type,
8974 { "Qd Type", "lustre.qunit_data_old.qd_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8975 { &hf_lustre_ldlm_flock_blocking_export,
8976 { "Blocking Export", "lustre.ldlm_flock.blocking_export", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8977 { &hf_lustre_mds_rec_setattr_sa_gid,
8978 { "Sa Gid", "lustre.mds_rec_setattr.sa_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8979 { &hf_lustre_lov_desc_ld_pattern,
8980 { "Ld Pattern", "lustre.lov_desc.ld_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8981 { &hf_lustre_qunit_data_qd_id,
8982 { "Qd Id", "lustre.qunit_data.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8983 { &hf_lustre_mgs_target_info_mti_fsname,
8984 { "Mti Fsname", "lustre.mgs_target_info.mti_fsname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
8985 { &hf_lustre_ldlm_request_lock_flags,
8986 { "Lock Flags", "lustre.ldlm_request.lock_flags", FT_UINT32, BASE_HEX, NULL, 0 , "", HFILL }},
8987 { &hf_lustre_obdo_o_mode,
8988 { "O Mode", "lustre.obdo.o_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8989 { &hf_lustre_mgs_target_info_mti_svname,
8990 { "Mti Svname", "lustre.mgs_target_info.mti_svname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
8991 { &hf_lustre_llogd_body_lgd_logid,
8992 { "Lgd Logid", "lustre.llogd_body.lgd_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8993 { &hf_lustre_mds_rec_create_cr_opcode,
8994 { "Cr Opcode", "lustre.mds_rec_create.cr_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
8995 { &hf_lustre_llog_log_hdr_llh_size,
8996 { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8997 { &hf_lustre_llog_create_rec_padding,
8998 { "Padding", "lustre.llog_create_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8999 { &hf_lustre_obdo_o_handle,
9000 { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9001 { &hf_lustre_obdo_o_atime,
9002 { "O Atime", "lustre.obdo.o_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9003 { &hf_lustre_quota_adjust_qunit_qaq_id,
9004 { "Qaq Id", "lustre.quota_adjust_qunit.qaq_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9005 { &hf_lustre_mds_rec_rename_rn_fid2,
9006 { "Rn Fid2", "lustre.mds_rec_rename.rn_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9007 { &hf_lustre_mds_rec_create_cr_replayfid,
9008 { "Cr Replayfid", "lustre.mds_rec_create.cr_replayfid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9009 { &hf_lustre_ldlm_lock_desc_l_policy_data,
9010 { "L Policy Data", "lustre.ldlm_lock_desc.l_policy_data", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9011 { &hf_lustre_mds_rec_link_lk_suppgid1,
9012 { "Lk Suppgid1", "lustre.mds_rec_link.lk_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9013 { &hf_lustre_obd_quotactl_qc_cmd,
9014 { "Qc Cmd", "lustre.obd_quotactl.qc_cmd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9015 { &hf_lustre_mds_rec_rename_rn_padding_3,
9016 { "Rn Padding 3", "lustre.mds_rec_rename.rn_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9017 { &hf_lustre_qunit_data_padding,
9018 { "Padding", "lustre.qunit_data.padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9019 { &hf_lustre_quota_adjust_qunit_qaq_flags,
9020 { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9021 { &hf_lustre_ldlm_lock_desc_l_granted_mode,
9022 { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9023 { &hf_lustre_obdo_o_gr,
9024 { "O Gr", "lustre.obdo.o_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9025 { &hf_lustre_mds_rec_unlink_ul_padding_2,
9026 { "Ul Padding 2", "lustre.mds_rec_unlink.ul_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9027 { &hf_lustre_obdo_o_gid,
9028 { "O Gid", "lustre.obdo.o_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9029 { &hf_lustre_llog_catid_lci_logid,
9030 { "Lci Logid", "lustre.llog_catid.lci_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9031 { &hf_lustre_llog_rec_tail_lrt_index,
9032 { "Lrt Index", "lustre.llog_rec_tail.lrt_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9033 { &hf_lustre_lov_desc_ld_default_stripe_count,
9034 { "Ld Default Stripe Count", "lustre.lov_desc.ld_default_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9035 { &hf_lustre_ldlm_resource_desc_lr_padding,
9036 { "Lr Padding", "lustre.ldlm_resource_desc.lr_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9037 { &hf_lustre_cfg_marker_cm_vers,
9038 { "Cm Vers", "lustre.cfg_marker.cm_vers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9039 { &hf_lustre_mds_rec_create_cr_fid,
9040 { "Cr Fid", "lustre.mds_rec_create.cr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9041 { &hf_lustre_llog_unlink_rec_lur_hdr,
9042 { "Lur Hdr", "lustre.llog_unlink_rec.lur_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9043 { &hf_lustre_llogd_body_lgd_index,
9044 { "Lgd Index", "lustre.llogd_body.lgd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9045 { &hf_lustre_cfg_marker_cm_tgtname,
9046 { "Cm Tgtname", "lustre.cfg_marker.cm_tgtname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9047 { &hf_lustre_mds_rec_unlink_ul_padding_1,
9048 { "Ul Padding 1", "lustre.mds_rec_unlink.ul_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9049 { &hf_lustre_mds_rec_unlink_ul_cap,
9050 { "Ul Cap", "lustre.mds_rec_unlink.ul_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9051 { &hf_lustre_llog_setattr_rec_lsr_ogen,
9052 { "Lsr Ogen", "lustre.llog_setattr_rec.lsr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9053 { &hf_lustre_mds_rec_create_cr_padding_3,
9054 { "Cr Padding 3", "lustre.mds_rec_create.cr_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9055 { &hf_lustre_llog_logid_rec_lid_hdr,
9056 { "Lid Hdr", "lustre.llog_logid_rec.lid_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9057 { &hf_lustre_obdo_o_ioepoch,
9058 { "O IOEpoch", "lustre.obdo.o_ioepoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9059 { &hf_lustre_ost_body_oa,
9060 { "Oa", "lustre.ost_body.oa", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9061 { &hf_lustre_llog_logid_rec_padding3,
9062 { "Padding3", "lustre.llog_logid_rec.padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9063 { &hf_lustre_llog_log_hdr_llh_flags,
9064 { "Llh Flags", "lustre.llog_log_hdr.llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9065 {&hf_lustre_llog_hdr_llh_flag_zap_when_empty,
9066 {"LLOG_F_ZAP_WHEN_EMPTY","lustre.lustre.llog_log_hdr.llh_flag_zap",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_ZAP_WHEN_EMPTY,"",HFILL}},
9067 {&hf_lustre_llog_hdr_llh_flag_is_cat,
9068 {"LLOG_F_IS_CAT","lustre.lustre.llog_log_hdr.llh_flag_cat",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_CAT,"",HFILL}},
9069 {&hf_lustre_llog_hdr_llh_flag_is_play,
9070 {"LOG_F_IS_PLAIN","lustre.lustre.llog_log_hdr.llh_flag_play",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_PLAIN,"",HFILL}},
9072 { &hf_lustre_llog_setattr_rec_lsr_oid,
9073 { "Lsr Oid", "lustre.llog_setattr_rec.lsr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9074 { &hf_lustre_mds_rec_create_cr_mode,
9075 { "Cr Mode", "lustre.mds_rec_create.cr_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9076 { &hf_lustre_llog_size_change_rec_padding,
9077 { "Padding", "lustre.llog_size_change_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9078 { &hf_lustre_mgs_target_info_mti_config_ver,
9079 { "Mti Config Ver", "lustre.mgs_target_info.mti_config_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9080 { &hf_lustre_cfg_marker_cm_createtime,
9081 { "Cm Createtime", "lustre.cfg_marker.cm_createtime",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9082 { &hf_lustre_qunit_data_old_qd_count,
9083 { "Qd Count", "lustre.qunit_data_old.qd_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9084 { &hf_lustre_mds_rec_setattr_sa_uid,
9085 { "Sa Uid", "lustre.mds_rec_setattr.sa_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9086 { &hf_lustre_llog_catid_lci_padding1,
9087 { "Lci Padding1", "lustre.llog_catid.lci_padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9088 { &hf_lustre_mds_rec_setattr_sa_atime,
9089 { "Sa Atime", "lustre.mds_rec_setattr.sa_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9090 { &hf_lustre_lov_desc_ld_active_tgt_count,
9091 { "Ld Active Tgt Count", "lustre.lov_desc.ld_active_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9092 { &hf_lustre_obdo_o_lcookie,
9093 { "O Lcookie", "lustre.obdo.o_lcookie", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9094 { &hf_lustre_llog_gen_rec_lgr_gen,
9095 { "Lgr Gen", "lustre.llog_gen_rec.lgr_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9096 { &hf_lustre_obdo_o_id,
9097 { "O Id", "lustre.obdo.o_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9098 { &hf_lustre_mgs_target_info_mti_uuid,
9099 { "Mti Uuid", "lustre.mgs_target_info.mti_uuid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9100 { &hf_lustre_mds_rec_link_lk_padding_1,
9101 { "Lk Padding 1", "lustre.mds_rec_link.lk_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9102 { &hf_lustre_llog_rec_hdr_lrh_index,
9103 { "Lrh Index", "lustre.llog_rec_hdr.lrh_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9104 { &hf_lustre_llog_setattr_rec_lsr_hdr,
9105 { "Lsr Hdr", "lustre.llog_setattr_rec.lsr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9106 { &hf_lustre_mgs_target_info_mti_stripe_index,
9107 { "Mti Stripe Index", "lustre.mgs_target_info.mti_stripe_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9108 { &hf_lustre_llog_gen_conn_cnt,
9109 { "Conn Cnt", "lustre.llog_gen.conn_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9110 { &hf_lustre_obdo_o_padding_6,
9111 { "O Padding 6", "lustre.obdo.o_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9112 { &hf_lustre_mds_rec_create_cr_suppgid,
9113 { "Cr Suppgid", "lustre.mds_rec_create.cr_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9114 { &hf_lustre_llog_cookie_lgc_index,
9115 { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9116 { &hf_lustre_lov_desc_ld_uuid,
9117 { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9118 { &hf_lustre_llog_create_rec_lcr_oid,
9119 { "Lcr Oid", "lustre.llog_create_rec.lcr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9120 { &hf_lustre_ldlm_reply_lock_desc,
9121 { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9122 { &hf_lustre_lov_desc_ld_padding_0,
9123 { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9124 { &hf_lustre_llog_unlink_rec_lur_ogen,
9125 { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9126 { &hf_lustre_llog_orphan_rec_lor_hdr,
9127 { "Lor Hdr", "lustre.llog_orphan_rec.lor_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9128 { &hf_lustre_mds_rec_rename_rn_fsuid,
9129 { "Rn Fsuid", "lustre.mds_rec_rename.rn_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9130 { &hf_lustre_cfg_marker_cm_flags,
9131 { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9132 { &hf_lustre_obdo_o_padding_3,
9133 { "O Padding 3", "lustre.obdo.o_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9134 { &hf_lustre_mds_rec_create_cr_fsuid,
9135 { "Cr Fsuid", "lustre.mds_rec_create.cr_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9136 { &hf_lustre_mds_rec_unlink_ul_fsgid,
9137 { "Ul Fsgid", "lustre.mds_rec_unlink.ul_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9138 { &hf_lustre_ldlm_request_lock_desc,
9139 { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9140 { &hf_lustre_mds_rec_unlink_ul_fsuid,
9141 { "Ul Fsuid", "lustre.mds_rec_unlink.ul_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9142 { &hf_lustre_mds_rec_link_lk_suppgid2,
9143 { "Lk Suppgid2", "lustre.mds_rec_link.lk_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9144 { &hf_lustre_llog_orphan_rec_padding,
9145 { "Padding", "lustre.llog_orphan_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9146 { &hf_lustre_obdo_o_flags,
9147 { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9148 { &hf_lustre_mgs_target_info_mti_params,
9149 { "Mti Params", "lustre.mgs_target_info.mti_params", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9150 { &hf_lustre_llog_logid_lgl_ogen,
9151 { "Lgl Ogen", "lustre.llog_logid.lgl_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9152 { &hf_lustre_mds_rec_setattr_sa_valid,
9153 { "Sa Valid", "lustre.mds_rec_setattr.sa_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9154 { &hf_lustre_cfg_marker_cm_comment,
9155 { "Cm Comment", "lustre.cfg_marker.cm_comment", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9156 { &hf_lustre_llog_unlink_rec_lur_oid,
9157 { "Lur Oid", "lustre.llog_unlink_rec.lur_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9158 { &hf_lustre_qunit_data_qd_count,
9159 { "Qd Count", "lustre.qunit_data.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9160 { &hf_lustre_mds_rec_rename_rn_padding_1,
9161 { "Rn Padding 1", "lustre.mds_rec_rename.rn_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9162 { &hf_lustre_obdo_o_mtime,
9163 { "O Mtime", "lustre.obdo.o_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9164 { &hf_lustre_mds_rec_rename_rn_fsgid,
9165 { "Rn Fsgid", "lustre.mds_rec_rename.rn_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9166 { &hf_lustre_mds_rec_rename_rn_cap,
9167 { "Rn Cap", "lustre.mds_rec_rename.rn_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9168 { &hf_lustre_obdo_o_blksize,
9169 { "O Blksize", "lustre.obdo.o_blksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9170 { &hf_lustre_mds_rec_unlink_ul_suppgid,
9171 { "Ul Suppgid", "lustre.mds_rec_unlink.ul_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9172 { &hf_lustre_ldlm_res_id_name,
9173 { "Name", "lustre.ldlm_res_id.name", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9174 { &hf_lustre_mds_rec_link_lk_time,
9175 { "Lk Time", "lustre.mds_rec_link.lk_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9176 { &hf_lustre_ldlm_reply_lock_handle,
9177 { "Lock Handle", "lustre.ldlm_reply.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9178 { &hf_lustre_mds_rec_unlink_ul_padding_3,
9179 { "Ul Padding 3", "lustre.mds_rec_unlink.ul_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9180 { &hf_lustre_llogd_body_lgd_saved_index,
9181 { "Lgd Saved Index", "lustre.llogd_body.lgd_saved_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9182 { &hf_lustre_mds_rec_rename_rn_padding_4,
9183 { "Rn Padding 4", "lustre.mds_rec_rename.rn_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9184 { &hf_lustre_qunit_data_old_qd_isblk,
9185 { "Qd Isblk", "lustre.qunit_data_old.qd_isblk", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9186 { &hf_lustre_obdo_o_blocks,
9187 { "O Blocks", "lustre.obdo.o_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9188 { &hf_lustre_lov_desc_ld_padding_2,
9189 { "Ld Padding 2", "lustre.lov_desc.ld_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9190 { &hf_lustre_mds_rec_link_lk_fid2,
9191 { "Lk Fid2", "lustre.mds_rec_link.lk_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9192 { &hf_lustre_llog_logid_rec_lid_tail,
9193 { "Lid Tail", "lustre.llog_logid_rec.lid_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9194 { &hf_lustre_obdo_o_grant,
9195 { "O Grant", "lustre.obdo.o_grant", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9196 { &hf_lustre_obdo_o_padding_2,
9197 { "O Padding 2", "lustre.obdo.o_padding_2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9198 { &hf_lustre_quota_adjust_qunit_qaq_iunit_sz,
9199 { "Qaq Iunit Sz", "lustre.quota_adjust_qunit.qaq_iunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9200 { &hf_lustre_llog_unlink_rec_padding,
9201 { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9202 { &hf_lustre_ldlm_lock_desc_l_req_mode,
9203 { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9204 { &hf_lustre_ldlm_extent_end,
9205 { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9206 { &hf_lustre_llog_gen_rec_lgr_hdr,
9207 { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9208 { &hf_lustre_llog_orphan_rec_lor_ogen,
9209 { "Lor Ogen", "lustre.llog_orphan_rec.lor_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9210 { &hf_lustre_llogd_body_lgd_llh_flags,
9211 { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9212 { &hf_lustre_llog_log_hdr_llh_cat_idx,
9213 { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9214 { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
9215 { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9216 { &hf_lustre_llog_orphan_rec_lor_oid,
9217 { "Lor Oid", "lustre.llog_orphan_rec.lor_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9218 { &hf_lustre_ldlm_reply_lock_padding,
9219 { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9220 { &hf_lustre_obd_quotactl_qc_id,
9221 { "Qc Id", "lustre.obd_quotactl.qc_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9222 { &hf_lustre_mds_rec_create_cr_padding_4,
9223 { "Cr Padding 4", "lustre.mds_rec_create.cr_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9224 { &hf_lustre_llog_logid_rec_padding4,
9225 { "Padding4", "lustre.llog_logid_rec.padding4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9226 { &hf_lustre_mds_rec_link_lk_padding_2,
9227 { "Lk Padding 2", "lustre.mds_rec_link.lk_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9228 { &hf_lustre_llog_setattr_rec_lsr_gid,
9229 { "Lsr Gid", "lustre.llog_setattr_rec.lsr_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9230 { &hf_lustre_obd_quotactl_qc_type,
9231 { "Qc Type", "lustre.obd_quotactl.qc_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9232 { &hf_lustre_cfg_marker_padding,
9233 { "Padding", "lustre.cfg_marker.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9234 { &hf_lustre_mgs_target_info_mti_nids,
9235 { "Mti Nids", "lustre.mgs_target_info.mti_nids", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9236 { &hf_lustre_obdo_o_stripe_idx,
9237 { "O Stripe Idx", "lustre.obdo.o_stripe_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9238 { &hf_lustre_llogd_conn_body_lgdc_logid,
9239 { "Lgdc Logid", "lustre.llogd_conn_body.lgdc_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9240 { &hf_lustre_mds_rec_setattr_sa_fsuid,
9241 { "Sa Fsuid", "lustre.mds_rec_setattr.sa_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9242 { &hf_lustre_ldlm_flock_blocking_pid,
9243 { "Blocking Pid", "lustre.ldlm_flock.blocking_pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9244 { &hf_lustre_lov_desc_ld_tgt_count,
9245 { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9246 { &hf_lustre_llogd_body_lgd_cur_offset,
9247 { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9248 { &hf_lustre_llog_create_rec_lcr_ogen,
9249 { "Lcr Ogen", "lustre.llog_create_rec.lcr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9250 { &hf_lustre_qunit_data_old2_qd_count,
9251 { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9253 { "Operation", "lustre.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
9254 { &hf_lustre_qunit_data_old2_qd_flags,
9255 { "Qd Flags", "lustre.qunit_data_old2.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9256 { &hf_lustre_ldlm_flock_start,
9257 { "Start", "lustre.ldlm_flock.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9258 { &hf_lustre_quota_adjust_qunit_qaq_bunit_sz,
9259 { "Qaq Bunit Sz", "lustre.quota_adjust_qunit.qaq_bunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9260 { &hf_lustre_ldlm_flock_pid,
9261 { "Pid", "lustre.ldlm_flock.pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9262 { &hf_lustre_lov_desc_ld_default_stripe_size,
9263 { "Ld Default Stripe Size", "lustre.lov_desc.ld_default_stripe_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9264 { &hf_lustre_mds_rec_setattr_sa_opcode,
9265 { "Sa Opcode", "lustre.mds_rec_setattr.sa_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
9266 { &hf_lustre_llog_log_hdr_llh_tgtuuid,
9267 { "Llh Tgtuuid", "lustre.llog_log_hdr.llh_tgtuuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9268 { &hf_lustre_mds_rec_link_lk_fid1,
9269 { "Lk Fid1", "lustre.mds_rec_link.lk_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9270 { &hf_lustre_cfg_marker_cm_step,
9271 { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9272 { &hf_lustre_mgs_send_param_mgs_param,
9273 { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9274 { &hf_lustre_llog_create_rec_lcr_fid,
9275 { "Lcr Fid", "lustre.llog_create_rec.lcr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9276 { &hf_lustre_lov_desc_ld_default_stripe_offset,
9277 { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9278 { &hf_lustre_ldlm_resource_desc_lr_name,
9279 { "Lr Name", "lustre.ldlm_resource_desc.lr_name", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9280 { &hf_lustre_llog_rec_tail_lrt_len,
9281 { "Lrt Len", "lustre.llog_rec_tail.lrt_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9282 { &hf_lustre_mds_rec_setattr_sa_mtime,
9283 { "Sa Mtime", "lustre.mds_rec_setattr.sa_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9284 { &hf_lustre_llog_log_hdr_llh_timestamp,
9285 { "Llh Timestamp", "lustre.llog_log_hdr.llh_timestamp", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9286 { &hf_lustre_llog_catid_lci_padding2,
9287 { "Lci Padding2", "lustre.llog_catid.lci_padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9288 { &hf_lustre_llogd_conn_body_lgdc_ctxt_idx,
9289 { "Lgdc Ctxt Idx", "lustre.llogd_conn_body.lgdc_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9290 { &hf_lustre_cfg_marker_cm_canceltime,
9291 { "Cm Canceltime", "lustre.cfg_marker.cm_canceltime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9292 { &hf_lustre_mgs_target_info_mti_lustre_ver,
9293 { "Mti Lustre Ver", "lustre.mgs_target_info.mti_lustre_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9294 { &hf_lustre_obdo_o_padding_1,
9295 { "O Padding 1", "lustre.obdo.o_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9296 { &hf_lustre_qunit_data_qd_flags,
9297 { "Qd Flags", "lustre.qunit_data.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9298 { &hf_lustre_llog_logid_rec_lid_id,
9299 { "Lid Id", "lustre.llog_logid_rec.lid_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9300 { &hf_lustre_obdo_o_generation,
9301 { "O Generation", "lustre.obdo.o_generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9302 { &hf_lustre_llog_gen_mnt_cnt,
9303 { "Mnt Cnt", "lustre.llog_gen.mnt_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9304 { &hf_lustre_llog_size_change_rec_lsc_tail,
9305 { "Lsc Tail", "lustre.llog_size_change_rec.lsc_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9306 { &hf_lustre_obdo_o_padding_5,
9307 { "O Padding 5", "lustre.obdo.o_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9308 { &hf_lustre_ldlm_lock_desc_l_resource,
9309 { "L Resource", "lustre.ldlm_lock_desc.l_resource", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9310 { &hf_lustre_mds_rec_rename_rn_time,
9311 { "Rn Time", "lustre.mds_rec_rename.rn_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9312 { &hf_lustre_mds_rec_create_cr_rdev,
9313 { "Cr Rdev", "lustre.mds_rec_create.cr_rdev", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9314 { &hf_lustre_obdo_o_fid,
9315 { "O Fid", "lustre.obdo.o_fid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9316 { &hf_lustre_mds_rec_setattr_sa_fid,
9317 { "Sa Fid", "lustre.mds_rec_setattr.sa_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9318 { &hf_lustre_ldlm_request_lock_count,
9319 { "Lock Count", "lustre.ldlm_request.lock_count", FT_UINT32, BASE_HEX_DEC, NULL, 0, "", HFILL }},
9320 { &hf_lustre_ldlm_flock_end,
9321 { "End", "lustre.ldlm_flock.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9322 { &hf_lustre_mds_rec_link_lk_opcode,
9323 { "Lk Opcode", "lustre.mds_rec_link.lk_opcode", FT_UINT32, BASE_DEC,VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
9324 { &hf_lustre_mgs_target_info_mti_nid_count,
9325 { "Mti Nid Count", "lustre.mgs_target_info.mti_nid_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9326 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9327 { &hf_lustre_mgs_target_info,
9328 { "mgs target info", "lustre.mgs_target_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9329 { &hf_lustre_mgs_send_param,
9330 { "mgs send param", "lustre.mgs_send_param", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9331 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9332 { &hf_lustre_ost_lvb,
9333 { "ost lvb data", "lustre.ost_lvb", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9335 { &hf_lustre_obdo_o_ctime,
9336 { "O Ctime", "lustre.obdo.o_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9337 { &hf_lustre_ldlm_reply_lock_policy_res2,
9338 { "Lock Policy Res2", "lustre.ldlm_reply.lock_policy_res2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9339 { &hf_lustre_llogd_body_lgd_ctxt_idx,
9340 { "Lgd Ctxt Idx", "lustre.llogd_body.lgd_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9341 { &hf_lustre_mds_rec_unlink_ul_fid2,
9342 { "Ul Fid2", "lustre.mds_rec_unlink.ul_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9343 { &hf_lustre_lov_desc_ld_qos_maxage,
9344 { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9345 { &hf_lustre_ldlm_resource_desc_lr_type,
9346 { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_t_vals), 0, "", HFILL }},
9347 { &hf_lustre_llog_setattr_rec_lsr_tail,
9348 { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9349 { &hf_lustre_llog_cookie_lgc_subsys,
9350 { "Lgc Subsys", "lustre.llog_cookie.lgc_subsys", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9351 { &hf_lustre_llog_log_hdr_llh_hdr,
9352 { "Llh Hdr", "lustre.llog_log_hdr.llh_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9353 { &hf_lustre_mds_rec_setattr_sa_fsgid,
9354 { "Sa Fsgid", "lustre.mds_rec_setattr.sa_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9355 { &hf_lustre_mds_rec_setattr_sa_padding,
9356 { "Sa Padding", "lustre.mds_rec_setattr.sa_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9357 { &hf_lustre_llog_log_hdr_llh_reserved,
9358 { "Llh Reserved", "lustre.llog_log_hdr.llh_reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9360 { &hf_lustre_extra_padding,
9361 { "extra padding", "lustre.msg_v2_extra_padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9362 { &hf_lustre_ldlm_reply,
9363 { "ldlm reply", "lustre.ldlm_reply", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9364 { &hf_lustre_ldlm_request,
9365 { "ldlm request", "lustre.ldlm_request", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9367 /* add for lustre_user.h */
9368 { &hf_lustre_obd_dqinfo_dqi_valid,
9369 { "Dqi Valid", "lustre.obd_dqinfo.dqi_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9370 { &hf_lustre_obd_dqblk_dqb_isoftlimit,
9371 { "Dqb Isoftlimit", "lustre.obd_dqblk.dqb_isoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9372 { &hf_lustre_obd_dqblk_dqb_bhardlimit,
9373 { "Dqb Bhardlimit", "lustre.obd_dqblk.dqb_bhardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9374 { &hf_lustre_obd_dqblk_dqb_curspace,
9375 { "Dqb Curspace", "lustre.obd_dqblk.dqb_curspace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9376 { &hf_lustre_obd_dqblk_dqb_itime,
9377 { "Dqb Itime", "lustre.obd_dqblk.dqb_itime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9378 { &hf_lustre_obd_dqblk_dqb_valid,
9379 { "Dqb Valid", "lustre.obd_dqblk.dqb_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9380 { &hf_lustre_obd_dqinfo_dqi_igrace,
9381 { "Dqi Igrace", "lustre.obd_dqinfo.dqi_igrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9382 { &hf_lustre_obd_dqinfo_dqi_bgrace,
9383 { "Dqi Bgrace", "lustre.obd_dqinfo.dqi_bgrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9384 { &hf_lustre_obd_dqblk_padding,
9385 { "Padding", "lustre.obd_dqblk.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9386 { &hf_lustre_obd_dqblk_dqb_curinodes,
9387 { "Dqb Curinodes", "lustre.obd_dqblk.dqb_curinodes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9388 { &hf_lustre_obd_dqblk_dqb_bsoftlimit,
9389 { "Dqb Bsoftlimit", "lustre.obd_dqblk.dqb_bsoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9390 { &hf_lustre_obd_dqinfo_dqi_flags,
9391 { "Dqi Flags", "lustre.obd_dqinfo.dqi_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9392 { &hf_lustre_obd_dqblk_dqb_btime,
9393 { "Dqb Btime", "lustre.obd_dqblk.dqb_btime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9394 { &hf_lustre_obd_dqblk_dqb_ihardlimit,
9395 { "Dqb Ihardlimit", "lustre.obd_dqblk.dqb_ihardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }}
9400 static gint *ett[] = {
9402 &ett_lustre_lustre_handle_cookie,
9403 &ett_lustre_lustre_msg_v1,
9404 &ett_lustre_lustre_handle_v1,
9405 &ett_lustre_lustre_msg_v2,
9406 &ett_lustre_ptlrpc_body,
9407 &ett_lustre_lustre_handle_v2,
9408 &ett_lustre_obd_connect_data,
9409 &ett_lustre_lov_mds_md_v1,
9410 &ett_lustre_lov_ost_data_v1,
9411 &ett_lustre_obd_statfs,
9412 &ett_lustre_obd_ioobj,
9413 &ett_lustre_niobuf_remote,
9414 &ett_lustre_ost_lvb,
9416 &ett_lustre_mds_status_req,
9417 &ett_lustre_mds_body,
9418 &ett_lustre_obd_quotactl,
9419 &ett_lustre_obd_dqinfo,
9420 &ett_lustre_obd_dqblk,
9421 &ett_lustre_quota_adjust_qunit,
9422 &ett_lustre_mds_rec_setattr,
9423 &ett_lustre_mds_rec_create,
9424 &ett_lustre_mds_rec_link,
9425 &ett_lustre_mds_rec_unlink,
9426 &ett_lustre_mds_rec_rename,
9427 &ett_lustre_lov_desc,
9428 &ett_lustre_obd_uuid,
9429 &ett_lustre_ldlm_res_id,
9430 &ett_lustre_ldlm_extent,
9431 &ett_lustre_ldlm_inodebits,
9432 &ett_lustre_ldlm_flock,
9433 &ett_lustre_ldlm_intent_opc,
9434 &ett_lustre_ldlm_resource_desc,
9435 &ett_lustre_ldlm_res_id,
9436 &ett_lustre_ldlm_lock_desc,
9437 &ett_lustre_ldlm_resource_desc,
9438 &ett_lustre_ldlm_request,
9439 &ett_lustre_ldlm_lock_desc,
9440 &ett_lustre_lustre_handle,
9441 &ett_lustre_ldlm_reply,
9442 &ett_lustre_ldlm_lock_desc,
9443 &ett_lustre_lustre_handle,
9444 &ett_lustre_mgs_send_param,
9445 &ett_lustre_mgs_target_info,
9446 &ett_lustre_cfg_marker,
9447 &ett_lustre_llog_logid,
9448 &ett_lustre_llog_catid,
9449 &ett_lustre_llog_logid,
9450 &ett_lustre_lov_mds_md,
9451 &ett_lustre_llog_logid,
9452 &ett_lustre_llog_rec_hdr,
9453 &ett_lustre_llog_rec_tail,
9454 &ett_lustre_llog_logid_rec,
9455 &ett_lustre_llog_rec_hdr,
9456 &ett_lustre_llog_logid,
9457 &ett_lustre_llog_rec_tail,
9458 &ett_lustre_lov_mds_md,
9459 &ett_lustre_llog_rec_hdr,
9460 &ett_lustre_llog_rec_tail,
9461 &ett_lustre_llog_create_rec,
9462 &ett_lustre_llog_rec_hdr,
9464 &ett_lustre_llog_rec_tail,
9465 &ett_lustre_llog_orphan_rec,
9466 &ett_lustre_llog_rec_hdr,
9467 &ett_lustre_llog_rec_tail,
9468 &ett_lustre_llog_unlink_rec,
9469 &ett_lustre_llog_rec_hdr,
9470 &ett_lustre_llog_rec_tail,
9471 &ett_lustre_llog_setattr_rec,
9472 &ett_lustre_llog_rec_hdr,
9473 &ett_lustre_llog_rec_tail,
9474 &ett_lustre_llog_size_change_rec,
9475 &ett_lustre_llog_rec_hdr,
9477 &ett_lustre_llog_rec_tail,
9478 &ett_lustre_llog_gen,
9479 &ett_lustre_llog_gen_rec,
9480 &ett_lustre_llog_rec_hdr,
9481 &ett_lustre_llog_gen,
9482 &ett_lustre_llog_rec_tail,
9483 &ett_lustre_llog_log_hdr,
9484 &ett_lustre_llog_rec_hdr,
9485 &ett_lustre_obd_uuid,
9486 &ett_lustre_llog_rec_tail,
9487 &ett_lustre_llog_cookie,
9488 &ett_lustre_llog_logid,
9489 &ett_lustre_llogd_body,
9490 &ett_lustre_llog_logid,
9491 &ett_lustre_llogd_conn_body,
9492 &ett_lustre_llog_gen,
9493 &ett_lustre_llog_logid,
9494 &ett_lustre_llog_logid,
9496 &ett_lustre_lustre_handle,
9497 &ett_lustre_llog_cookie,
9498 &ett_lustre_ost_body,
9500 &ett_lustre_qunit_data,
9501 &ett_lustre_qunit_data_old2,
9502 &ett_lustre_qunit_data_old,
9503 &ett_lustre_ldlm_lock_flags,
9504 &ett_lustre_llog_log_llh_flags,
9508 proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
9509 proto_register_field_array(proto_lustre, hf, array_length (hf));
9510 proto_register_subtree_array(ett, array_length(ett));
9514 void proto_reg_handoff_lustre(void)
9516 dissector_handle_t lustre_handle;
9517 lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
9518 /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
9519 /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
9520 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
9521 dissector_add("lnet.ptl_index", CONNMGR_REQUEST_PORTAL , lustre_handle);
9522 dissector_add("lnet.ptl_index", CONNMGR_REPLY_PORTAL , lustre_handle);
9523 dissector_add("lnet.ptl_index", OSC_REPLY_PORTAL , lustre_handle);
9524 dissector_add("lnet.ptl_index", OST_IO_PORTAL , lustre_handle);
9525 dissector_add("lnet.ptl_index", OST_CREATE_PORTAL , lustre_handle);
9526 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
9527 dissector_add("lnet.ptl_index", MDS_REQUEST_PORTAL , lustre_handle);
9528 dissector_add("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL , lustre_handle);
9529 dissector_add("lnet.ptl_index", LDLM_CB_REPLY_PORTAL , lustre_handle);
9530 dissector_add("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
9531 dissector_add("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL , lustre_handle);
9532 dissector_add("lnet.ptl_index", MDS_SETATTR_PORTAL , lustre_handle);
9533 dissector_add("lnet.ptl_index", MDS_READPAGE_PORTAL , lustre_handle);
9534 dissector_add("lnet.ptl_index", MGC_REPLY_PORTAL , lustre_handle);
9535 dissector_add("lnet.ptl_index", MGS_REQUEST_PORTAL , lustre_handle);
9536 dissector_add("lnet.ptl_index", MGS_REPLY_PORTAL , lustre_handle);
9537 dissector_add("lnet.ptl_index", OST_REQUEST_PORTAL , lustre_handle);