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_obdo_o_mds = -1;
671 static int hf_lustre_lov_desc_ld_default_stripe_count = -1;
672 static int hf_lustre_ldlm_resource_desc_lr_padding = -1;
673 static int hf_lustre_cfg_marker_cm_vers = -1;
674 static int hf_lustre_mds_rec_create_cr_fid = -1;
675 static int hf_lustre_llog_unlink_rec_lur_hdr = -1;
676 static int hf_lustre_llogd_body_lgd_index = -1;
677 static int hf_lustre_cfg_marker_cm_tgtname = -1;
678 static int hf_lustre_mds_rec_unlink_ul_padding_1 = -1;
679 static int hf_lustre_mds_rec_unlink_ul_cap = -1;
680 static int hf_lustre_llog_setattr_rec_lsr_ogen = -1;
681 static int hf_lustre_mds_rec_create_cr_padding_3 = -1;
682 static int hf_lustre_llog_logid_rec_lid_hdr = -1;
683 static int hf_lustre_obdo_o_easize = -1;
684 static int hf_lustre_ost_body_oa = -1;
685 static int hf_lustre_llog_logid_rec_padding3 = -1;
686 static int hf_lustre_llog_log_hdr_llh_flags = -1;
687 static int hf_lustre_llog_setattr_rec_lsr_oid = -1;
688 static int hf_lustre_mds_rec_create_cr_mode = -1;
689 static int hf_lustre_llog_size_change_rec_padding = -1;
690 static int hf_lustre_mgs_target_info_mti_config_ver = -1;
691 static int hf_lustre_cfg_marker_cm_createtime = -1;
692 static int hf_lustre_qunit_data_old_qd_count = -1;
693 static int hf_lustre_mds_rec_setattr_sa_uid = -1;
694 static int hf_lustre_llog_catid_lci_padding1 = -1;
695 static int hf_lustre_mds_rec_setattr_sa_atime = -1;
696 static int hf_lustre_lov_desc_ld_active_tgt_count = -1;
697 static int hf_lustre_obdo_o_lcookie = -1;
698 static int hf_lustre_llog_gen_rec_lgr_gen = -1;
699 static int hf_lustre_obdo_o_id = -1;
700 static int hf_lustre_mgs_target_info_mti_uuid = -1;
701 static int hf_lustre_mds_rec_link_lk_padding_1 = -1;
702 static int hf_lustre_llog_rec_hdr_lrh_index = -1;
703 static int hf_lustre_llog_setattr_rec_lsr_hdr = -1;
704 static int hf_lustre_mgs_target_info_mti_stripe_index = -1;
705 static int hf_lustre_llog_gen_conn_cnt = -1;
706 static int hf_lustre_obdo_o_padding_6 = -1;
707 static int hf_lustre_mds_rec_create_cr_suppgid = -1;
708 static int hf_lustre_llog_cookie_lgc_index = -1;
709 static int hf_lustre_lov_desc_ld_uuid = -1;
710 static int hf_lustre_llog_create_rec_lcr_oid = -1;
711 static int hf_lustre_ldlm_reply_lock_desc = -1;
712 static int hf_lustre_lov_desc_ld_padding_0 = -1;
713 static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
714 static int hf_lustre_llog_orphan_rec_lor_hdr = -1;
715 static int hf_lustre_mds_rec_rename_rn_fsuid = -1;
716 static int hf_lustre_cfg_marker_cm_flags = -1;
717 static int hf_lustre_obdo_o_padding_3 = -1;
718 static int hf_lustre_mds_rec_create_cr_fsuid = -1;
719 static int hf_lustre_mds_rec_unlink_ul_fsgid = -1;
720 static int hf_lustre_ldlm_request_lock_desc = -1;
721 static int hf_lustre_mds_rec_unlink_ul_fsuid = -1;
722 static int hf_lustre_mds_rec_link_lk_suppgid2 = -1;
723 static int hf_lustre_llog_orphan_rec_padding = -1;
724 static int hf_lustre_obdo_o_flags = -1;
725 static int hf_lustre_mgs_target_info_mti_params = -1;
726 static int hf_lustre_llog_logid_lgl_ogen = -1;
727 static int hf_lustre_mds_rec_setattr_sa_valid = -1;
728 static int hf_lustre_cfg_marker_cm_comment = -1;
729 static int hf_lustre_llog_unlink_rec_lur_oid = -1;
730 static int hf_lustre_qunit_data_qd_count = -1;
731 static int hf_lustre_mds_rec_rename_rn_padding_1 = -1;
732 static int hf_lustre_obdo_o_mtime = -1;
733 static int hf_lustre_mds_rec_rename_rn_fsgid = -1;
734 static int hf_lustre_mds_rec_rename_rn_cap = -1;
735 static int hf_lustre_obdo_o_blksize = -1;
736 static int hf_lustre_mds_rec_unlink_ul_suppgid = -1;
737 static int hf_lustre_ldlm_res_id_name = -1;
738 static int hf_lustre_mds_rec_link_lk_time = -1;
739 static int hf_lustre_ldlm_reply_lock_handle = -1;
740 static int hf_lustre_mds_rec_unlink_ul_padding_3 = -1;
741 static int hf_lustre_llogd_body_lgd_saved_index = -1;
742 static int hf_lustre_mds_rec_rename_rn_padding_4 = -1;
743 static int hf_lustre_qunit_data_old_qd_isblk = -1;
744 static int hf_lustre_obdo_o_blocks = -1;
745 static int hf_lustre_lov_desc_ld_padding_2 = -1;
746 static int hf_lustre_mds_rec_link_lk_fid2 = -1;
747 static int hf_lustre_llog_logid_rec_lid_tail = -1;
748 static int hf_lustre_obdo_o_grant = -1;
749 static int hf_lustre_obdo_o_padding_2 = -1;
750 static int hf_lustre_quota_adjust_qunit_qaq_iunit_sz = -1;
751 static int hf_lustre_llog_unlink_rec_padding = -1;
752 static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
753 static int hf_lustre_ldlm_extent_end = -1;
754 static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
755 static int hf_lustre_llog_orphan_rec_lor_ogen = -1;
756 static int hf_lustre_llogd_body_lgd_llh_flags = -1;
757 static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
758 static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
759 static int hf_lustre_llog_orphan_rec_lor_oid = -1;
760 static int hf_lustre_ldlm_reply_lock_padding = -1;
761 static int hf_lustre_obd_quotactl_qc_id = -1;
762 static int hf_lustre_mds_rec_create_cr_padding_4 = -1;
763 static int hf_lustre_llog_logid_rec_padding4 = -1;
764 static int hf_lustre_mds_rec_link_lk_padding_2 = -1;
765 static int hf_lustre_llog_setattr_rec_lsr_gid = -1;
766 static int hf_lustre_obd_quotactl_qc_type = -1;
767 static int hf_lustre_cfg_marker_padding = -1;
768 static int hf_lustre_mgs_target_info_mti_nids = -1;
769 static int hf_lustre_obdo_o_stripe_idx = -1;
770 static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
771 static int hf_lustre_mds_rec_setattr_sa_fsuid = -1;
772 static int hf_lustre_ldlm_flock_blocking_pid = -1;
773 static int hf_lustre_lov_desc_ld_tgt_count = -1;
774 static int hf_lustre_llogd_body_lgd_cur_offset=-1;
775 static int hf_lustre_llog_create_rec_lcr_ogen = -1;
776 static int hf_lustre_qunit_data_old2_qd_count = -1;
777 static int hf_lustre_qunit_data_old2_qd_flags = -1;
778 static int hf_lustre_ldlm_flock_start = -1;
779 static int hf_lustre_quota_adjust_qunit_qaq_bunit_sz = -1;
780 static int hf_lustre_ldlm_flock_pid = -1;
781 static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
782 static int hf_lustre_mds_rec_setattr_sa_opcode = -1;
783 static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
784 static int hf_lustre_mds_rec_link_lk_fid1 = -1;
785 static int hf_lustre_cfg_marker_cm_step = -1;
786 static int hf_lustre_mgs_send_param_mgs_param = -1;
787 static int hf_lustre_llog_create_rec_lcr_fid = -1;
788 static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
789 static int hf_lustre_ldlm_resource_desc_lr_name = -1;
790 static int hf_lustre_llog_rec_tail_lrt_len = -1;
791 static int hf_lustre_mds_rec_setattr_sa_mtime = -1;
792 static int hf_lustre_llog_log_hdr_llh_timestamp = -1;
793 static int hf_lustre_llog_catid_lci_padding2 = -1;
794 static int hf_lustre_llogd_conn_body_lgdc_ctxt_idx = -1;
795 static int hf_lustre_cfg_marker_cm_canceltime = -1;
796 static int hf_lustre_mgs_target_info_mti_lustre_ver = -1;
797 static int hf_lustre_obdo_o_padding_1 = -1;
798 static int hf_lustre_qunit_data_qd_flags = -1;
799 static int hf_lustre_llog_logid_rec_lid_id = -1;
800 static int hf_lustre_obdo_o_generation = -1;
801 static int hf_lustre_llog_gen_mnt_cnt = -1;
802 static int hf_lustre_llog_size_change_rec_lsc_tail = -1;
803 static int hf_lustre_obdo_o_padding_5 = -1;
804 static int hf_lustre_ldlm_lock_desc_l_resource = -1;
805 static int hf_lustre_mds_rec_rename_rn_time = -1;
806 static int hf_lustre_mds_rec_create_cr_rdev = -1;
807 static int hf_lustre_obdo_o_fid = -1;
808 static int hf_lustre_mds_rec_setattr_sa_fid = -1;
809 static int hf_lustre_ldlm_request_lock_count = -1;
810 static int hf_lustre_ldlm_flock_end = -1;
811 static int hf_lustre_mds_rec_link_lk_opcode = -1;
812 static int hf_lustre_mgs_target_info_mti_nid_count = -1;
813 static int hf_lustre_obdo_o_ctime = -1;
814 static int hf_lustre_ldlm_reply_lock_policy_res2 = -1;
815 static int hf_lustre_llogd_body_lgd_ctxt_idx = -1;
816 static int hf_lustre_mds_rec_unlink_ul_fid2 = -1;
817 static int hf_lustre_lov_desc_ld_qos_maxage = -1;
818 static int hf_lustre_ldlm_resource_desc_lr_type = -1;
819 static int hf_lustre_llog_setattr_rec_lsr_tail = -1;
820 static int hf_lustre_llog_cookie_lgc_subsys = -1;
821 static int hf_lustre_llog_log_hdr_llh_hdr = -1;
822 static int hf_lustre_mds_rec_setattr_sa_fsgid = -1;
823 static int hf_lustre_mds_rec_setattr_sa_padding = -1;
824 static int hf_lustre_llog_log_hdr_llh_reserved = -1;
826 /* Header field declarations for field from lustre_user.h*/
827 static int hf_lustre_obd_dqinfo_dqi_valid = -1;
828 static int hf_lustre_obd_dqblk_dqb_isoftlimit = -1;
829 static int hf_lustre_obd_dqblk_dqb_bhardlimit = -1;
830 static int hf_lustre_obd_dqblk_dqb_curspace = -1;
831 static int hf_lustre_obd_dqblk_dqb_itime = -1;
832 static int hf_lustre_obd_dqblk_dqb_valid = -1;
833 static int hf_lustre_obd_dqinfo_dqi_igrace = -1;
834 static int hf_lustre_obd_dqinfo_dqi_bgrace = -1;
835 static int hf_lustre_obd_dqblk_padding = -1;
836 static int hf_lustre_obd_dqblk_dqb_curinodes = -1;
837 static int hf_lustre_obd_dqblk_dqb_bsoftlimit = -1;
838 static int hf_lustre_obd_dqinfo_dqi_flags = -1;
839 static int hf_lustre_obd_dqblk_dqb_btime = -1;
840 static int hf_lustre_obd_dqblk_dqb_ihardlimit = -1;
841 static int hf_lustre_ldlm_intent_opc_open = -1 ;
842 static int hf_lustre_ldlm_intent_opc_creat = -1;
843 static int hf_lustre_ldlm_intent_opc_readdir = -1;
844 static int hf_lustre_ldlm_intent_opc_getattr = -1;
845 static int hf_lustre_ldlm_intent_opc_lookup = -1;
846 static int hf_lustre_ldlm_intent_opc_unlink = -1;
847 static int hf_lustre_ldlm_intent_opc_getxattr = -1;
848 static int hf_lustre_ldlm_intent_opc_exec = -1;
849 static int hf_lustre_ldlm_intent_opc_pin = -1;
850 static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
851 static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
852 static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
853 /* --------------------------------------------------------------------*/
856 /* proto declaration */
857 static gint proto_lustre = -1;
862 static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
863 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_);
864 static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
867 /* ======================================================================== */
869 const value_string lustre_ldlm_opcode[] = {
870 { IT_OPEN , "IT_OPEN "},
871 { IT_CREAT , "IT_CREAT "},
872 { IT_READDIR , "IT_READDIR "},
873 { IT_GETATTR , "IT_GETATTR "},
874 { IT_LOOKUP , "IT_LOOKUP "},
875 { IT_UNLINK , "IT_UNLINK "},
876 { IT_GETXATTR, "IT_GETXATTR"},
877 { IT_EXEC , "IT_EXEC "},
878 { IT_PIN , "IT_PIN "},
882 const value_string lustre_lov_magic[] = {
883 { LOV_MAGIC_V1, "LOV_MAGIC_V1" },
887 const value_string lustre_ldlm_flags_vals[] = {
888 {0x000001 , "LDLM_FL_LOCK_CHANGED"},
889 {0x000002 , "LDLM_FL_BLOCK_GRANTED"},
890 {0x000004 , "LDLM_FL_BLOCK_CONV"},
891 {0x000008 , "LDLM_FL_BLOCK_WAIT"},
892 {0x000010 , "LDLM_FL_CBPENDING"},
893 {0x000020 , "LDLM_FL_AST_SENT"},
894 {0x000040 , "LDLM_FL_WAIT_NOREPROC"},
895 {0x000080 , "LDLM_FL_CANCEL"},
896 {0x000100 , "LDLM_FL_REPLAY"},
897 {0x000200 , "LDLM_FL_INTENT_ONLY"},
898 {0x000400 , "LDLM_FL_LOCAL_ONLY"},
899 {0x000800 , "LDLM_FL_FAILED"},
900 {0x001000 , "LDLM_FL_HAS_INTENT"},
901 {0x002000 , "LDLM_FL_CANCELING"},
902 {0x004000 , "LDLM_FL_LOCAL"},
903 {0x008000 , "LDLM_FL_WARN"},
904 {0x010000 , "LDLM_FL_DISCARD_DATA"},
905 {0x020000 , "LDLM_FL_NO_TIMEOUT"},
906 {0x040000 , "LDLM_FL_BLOCK_NOWAIT"},
907 {0x080000 , "LDLM_FL_TEST_LOCK"},
908 {0x100000 , "LDLM_FL_LVB_READY"},
909 {0x200000 , "LDLM_FL_KMS_IGNORE"},
910 {0x400000 , "LDLM_FL_NO_LRU"},
911 {0x800000 , "LDLM_FL_CANCEL_ON_BLOCK"},
912 {0x1000000 , "LDLM_FL_CP_REQD"},
913 {0x2000000 , "LDLM_FL_CLEANED"},
914 {0x4000000 , "LDLM_FL_ATOMIC_CB"},
915 {0x10000000 , "LDLM_FL_BL_AST"},
916 {0x20000000 , "LDLM_FL_BL_DONE"},
917 {0x40000000 , "LDLM_FL_DENY_ON_CONTENTION"},
918 {0x80000000 , "LDLM_AST_DISCARD_DATA"},
922 const value_string lustre_llog_op_type[] = {
923 {LLOG_PAD_MAGIC ,"LLOG_PAD_MAGIC "},
924 {OST_SZ_REC ,"OST_SZ_REC "},
925 {OST_RAID1_REC ,"OST_RAID1_REC "},
926 {MDS_UNLINK_REC ,"MDS_UNLINK_REC "},
927 {MDS_SETATTR_REC ,"MDS_SETATTR_REC "},
928 {OBD_CFG_REC ,"OBD_CFG_REC "},
929 {PTL_CFG_REC ,"PTL_CFG_REC "},
930 {LLOG_GEN_REC ,"LLOG_GEN_REC "},
931 {LLOG_JOIN_REC ,"LLOG_JOIN_REC "},
932 {LLOG_HDR_MAGIC ,"LLOG_HDR_MAGIC "},
933 {LLOG_LOGID_MAGIC ,"LLOG_LOGID_MAGIC"},
937 const value_string lustre_llog_hdr_llh_flags[]= {
938 {LLOG_F_ZAP_WHEN_EMPTY , "LLOhdr_llh_G_F_ZAP_WHEN_EMPTY"},
939 {LLOG_F_IS_CAT , "LLOhdr_llh_G_F_IS_CAT"},
940 {LLOG_F_IS_PLAIN , "LLOG_F_IS_PLAIN"},
944 const value_string lustre_mds_flags_vals[] = {
945 {0x1,"MDS_BFLAG_UNCOMMITTED_WRITES"},
946 {0x80000000, "MDS_BFLAG_EXT_FLAGS"}, /* == EXT3_RESERVED_FL */
947 {0x00000008, "MDS_SYNC_FL "}, /* Synchronous updates */
948 {0x00000010, "MDS_IMMUTABLE_FL "}, /* Immutable file */
949 {0x00000020, "MDS_APPEND_FL "}, /* writes to file may only append */
950 {0x00000080, "MDS_NOATIME_FL "}, /* do not update atime */
951 {0x00010000, "MDS_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
955 const value_string lustre_LMTypes[] = {
956 { PTL_RPC_MSG_REQUEST, "request"},
957 { PTL_RPC_MSG_ERR , "error"},
958 { PTL_RPC_MSG_REPLY , "reply"},
962 const value_string lustre_mds_reint_t_vals[] = {
963 { REINT_SETATTR, "REINT_SETATTR" },
964 { REINT_CREATE, "REINT_CREATE" },
965 { REINT_LINK, "REINT_LINK" },
966 { REINT_UNLINK, "REINT_UNLINK" },
967 { REINT_RENAME, "REINT_RENAME" },
968 { REINT_OPEN, "REINT_OPEN" },
971 const value_string lustre_op_codes[] = {
980 {7 , "OST_GET_INFO"},
982 {9 , "OST_DISCONNECT"},
987 {14 , "OST_SAN_READ(deprecated)"},
988 {15 , "OST_SAN_WRITE(deprecated)"},
990 {17 , "OST_SET_INFO"},
991 {18 , "OST_QUOTACHECK"},
992 {19 , "OST_QUOTACTL"},
993 {20 , "OST_LAST_OPC"},
995 {33 , "MDS_GETATTR"},
996 {34 , "MDS_GETATTR_NAME"},
999 {37 , "MDS_READPAGE"},
1000 {38 , "MDS_CONNECT"},
1001 {39 , "MDS_DISCONNECT"},
1002 {40 , "MDS_GETSTATUS"},
1003 {41 , "MDS_STATFS"},
1007 {45 , "MDS_DONE_WRITING"},
1008 {46 , "MDS_SET_INFO"},
1009 {47 , "MDS_QUOTACHECK"},
1010 {48 , "MDS_QUOTACTL"},
1011 {49 , "MDS_GETXATTR"},
1012 {50 , "MDS_SETXATTR"},
1013 {51 , "MDS_LAST_OPC"},
1015 {101 , "LDLM_ENQUEUE"},
1016 {102 , "LDLM_CONVERT"},
1017 {103 , "LDLM_CANCEL"},
1018 {104 , "LDLM_BL_CALLBACK"},
1019 {105 , "LDLM_CP_CALLBACK"},
1020 {106 , "LDLM_GL_CALLBACK"},
1021 {107 , "LDLM_LAST_OPC"},
1023 {250 , "MGS_CONNECT"},
1024 {251 , "MGS_DISCONNECT"},
1025 {252 , "MGS_EXCEPTION"},
1026 {253 , "MGS_TARGET_REG"},
1027 {254 , "MGS_TARGET_DEL"},
1028 {255 , "MGS_SET_INFO"},
1029 {256 , "MGS_LAST_OPC"},
1032 {401 , "OBD_LOG_CANCEL"},
1033 {402 , "OBD_QC_CALLBACK"},
1034 {403 , "OBD_LAST_OPC"},
1036 { 501, "LLOG_ORIGIN_HANDLE_CREATE"},
1037 { 502, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK"},
1038 { 503, "LLOG_ORIGIN_HANDLE_READ_HEADER"},
1039 { 504, "LLOG_ORIGIN_HANDLE_WRITE_REC"},
1040 { 505, "LLOG_ORIGIN_HANDLE_CLOSE"},
1041 { 506, "LLOG_ORIGIN_CONNECT"},
1042 { 507, "LLOG_CATINFO"},
1043 { 508, "LLOG_ORIGIN_HANDLE_PREV_BLOCK"},
1044 { 509, "LLOG_ORIGIN_HANDLE_DESTROY"},
1047 /*const value_string lustre_ldlm_mode_t_vals[] = {*/
1048 /* { LCK_MINMODE, "MINMODE" },*/
1049 /* { LCK_EX, "EX" },*/
1050 /* { LCK_PW, "PW" },*/
1051 /* { LCK_PR, "PR" },*/
1052 /* { LCK_CW, "CW" },*/
1053 /* { LCK_CR, "CR" },*/
1054 /* { LCK_NL, "NL" },*/
1055 /* { LCK_GROUP, "GROUP" },*/
1059 /* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
1060 const value_string lustre_ldlm_mode_t_vals[] = {
1061 { LCK_MINMODE, "MINMODE" },
1062 { LCK_EX, "Exclusive" },
1063 { LCK_PW, "Protected Write" },
1064 { LCK_PR, "Protected Read" },
1065 { LCK_CW, "Concurrent Write" },
1066 { LCK_CR, "Concurrent Read" },
1068 { LCK_GROUP, "GROUP" },
1072 const value_string lustre_ldlm_type_t_vals[] = {
1073 { LDLM_PLAIN, "LDLM_PLAIN" },
1074 { LDLM_EXTENT,"LDLM_EXTENT" },
1075 { LDLM_FLOCK, "LDLM_FLOCK" },
1076 { LDLM_IBITS, "LDLM_IBITS" },
1081 const value_string lustre_llog_cmd_t_vals[] = {
1082 { LLOG_ORIGIN_HANDLE_CREATE, "LLOG_ORIGIN_HANDLE_CREATE" },
1083 { LLOG_ORIGIN_HANDLE_NEXT_BLOCK, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK" },
1084 { LLOG_ORIGIN_HANDLE_READ_HEADER, "LLOG_ORIGIN_HANDLE_READ_HEADER" },
1085 { LLOG_ORIGIN_HANDLE_WRITE_REC, "LLOG_ORIGIN_HANDLE_WRITE_REC" },
1086 { LLOG_ORIGIN_HANDLE_CLOSE, "LLOG_ORIGIN_HANDLE_CLOSE" },
1087 { LLOG_ORIGIN_CONNECT, "LLOG_ORIGIN_CONNECT" },
1088 { LLOG_CATINFO, "LLOG_CATINFO" },
1089 { LLOG_ORIGIN_HANDLE_PREV_BLOCK, "LLOG_ORIGIN_HANDLE_PREV_BLOCK" },
1090 { LLOG_ORIGIN_HANDLE_DESTROY, "LLOG_ORIGIN_HANDLE_DESTROY" },
1095 /* ------------------------------------------------------------------- */
1096 /* display functions */
1097 /* ------------------------------------------------------------------- */
1098 /* display str in left corner and in COL */
1099 /* TODO : do we need to use inline here ?*/
1100 /* @gint col : the col where we add the information */
1101 inline static void display_info_str(proto_item *pi, column_info *cinfo, gint col, const gchar* str)
1104 proto_item_append_text(pi, str);
1107 if (check_col(cinfo, col))
1108 col_append_str(cinfo, col, str);
1112 * Need to be (re)written
1114 static void display_info_fstr(proto_item *pi, column_info *cinfo, gint col, const char* format, const gchar * str){
1117 //va_start(ap, format);
1118 proto_item_append_text(pi, format, str);
1123 if (check_col(cinfo, col)){
1125 // va_start(ap, format);
1126 col_append_fstr(cinfo, col, format, str);
1133 /* ------------------------------ basic dissect functions ------------------------ */
1136 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1138 proto_tree_add_item(tree, hfindex, tvb, offset, 8, TRUE);
1144 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1146 proto_tree_add_item(tree, hfindex, tvb, offset, 4, TRUE);
1152 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1154 proto_tree_add_item(tree, hfindex, tvb, offset, 1, TRUE);
1157 /* ------------------------------------------------------------------------- */
1162 /* IDL: struct lustre_handle { */
1163 /* IDL: uint64 cookie; */
1167 lustre_dissect_element_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1169 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_handle_cookie);
1175 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_)
1177 proto_item *item = NULL;
1178 proto_tree *tree = NULL;
1184 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1185 tree = proto_item_add_subtree(item, ett_lustre_lustre_handle_cookie);
1188 offset=lustre_dissect_element_handle_cookie(tvb, offset, pinfo, tree);
1191 proto_item_set_len(item, offset-old_offset);
1196 /* IDL: struct obd_connect_data { */
1197 /* IDL: uint64 ocd_connect_flags; */
1198 /* IDL: uint32 ocd_version; */
1199 /* IDL: uint32 ocd_grant; */
1200 /* IDL: uint32 ocd_index; */
1201 /* IDL: uint32 ocd_brw_size; */
1202 /* IDL: uint64 ocd_ibits_known; */
1203 /* IDL: uint32 ocd_nllu; */
1204 /* IDL: uint32 ocd_nllg; */
1205 /* IDL: uint64 ocd_transno; */
1206 /* IDL: uint32 ocd_group; */
1207 /* IDL: uint32 ocd_cksum_types; */
1208 /* IDL: uint64 padding1; */
1209 /* IDL: uint64 padding2; */
1213 lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1215 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_connect_flags);
1221 lustre_dissect_element_obd_connect_data_ocd_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1223 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_version);
1229 lustre_dissect_element_obd_connect_data_ocd_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1231 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_grant);
1237 lustre_dissect_element_obd_connect_data_ocd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1239 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_index);
1245 lustre_dissect_element_obd_connect_data_ocd_brw_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1247 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_brw_size);
1253 lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1255 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_ibits_known);
1261 lustre_dissect_element_obd_connect_data_ocd_nllu(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1263 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllu);
1269 lustre_dissect_element_obd_connect_data_ocd_nllg(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1271 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllg);
1277 lustre_dissect_element_obd_connect_data_ocd_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1279 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_transno);
1285 lustre_dissect_element_obd_connect_data_ocd_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1287 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_group);
1293 lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1295 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_cksum_types);
1301 lustre_dissect_element_obd_connect_data_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1303 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding1);
1309 lustre_dissect_element_obd_connect_data_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1311 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding2);
1317 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_)
1319 proto_item *item = NULL;
1320 proto_tree *tree = NULL;
1328 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1329 tree = proto_item_add_subtree(item, ett_lustre_obd_connect_data);
1332 offset=lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvb, offset, pinfo, tree);
1334 offset=lustre_dissect_element_obd_connect_data_ocd_version(tvb, offset, pinfo, tree);
1336 offset=lustre_dissect_element_obd_connect_data_ocd_grant(tvb, offset, pinfo, tree);
1338 offset=lustre_dissect_element_obd_connect_data_ocd_index(tvb, offset, pinfo, tree);
1340 offset=lustre_dissect_element_obd_connect_data_ocd_brw_size(tvb, offset, pinfo, tree);
1342 offset=lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvb, offset, pinfo, tree);
1344 offset=lustre_dissect_element_obd_connect_data_ocd_nllu(tvb, offset, pinfo, tree);
1346 offset=lustre_dissect_element_obd_connect_data_ocd_nllg(tvb, offset, pinfo, tree);
1348 offset=lustre_dissect_element_obd_connect_data_ocd_transno(tvb, offset, pinfo, tree);
1350 offset=lustre_dissect_element_obd_connect_data_ocd_group(tvb, offset, pinfo, tree);
1352 offset=lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvb, offset, pinfo, tree);
1354 offset=lustre_dissect_element_obd_connect_data_padding1(tvb, offset, pinfo, tree);
1356 offset=lustre_dissect_element_obd_connect_data_padding2(tvb, offset, pinfo, tree);
1359 proto_item_set_len(item, offset-old_offset);
1365 /* IDL: struct lov_ost_data_v1 { */
1366 /* IDL: uint64 l_object_id; */
1367 /* IDL: uint64 l_object_gr; */
1368 /* IDL: uint32 l_ost_gen; */
1369 /* IDL: uint32 l_ost_idx; */
1373 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_)
1375 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_id);
1381 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_)
1383 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_gr);
1389 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_)
1391 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_gen);
1397 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_)
1399 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_idx);
1405 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_)
1407 proto_item *item = NULL;
1408 proto_tree *tree = NULL;
1416 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1417 tree = proto_item_add_subtree(item, ett_lustre_lov_ost_data_v1);
1420 offset=lustre_dissect_element_lov_ost_data_v1_l_object_id(tvb, offset, pinfo, tree);
1422 offset=lustre_dissect_element_lov_ost_data_v1_l_object_gr(tvb, offset, pinfo, tree);
1424 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvb, offset, pinfo, tree);
1426 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvb, offset, pinfo, tree);
1429 proto_item_set_len(item, offset-old_offset);
1434 /* IDL: struct lov_mds_md_v1 { */
1435 /* IDL: uint32 lmm_magic; */
1436 /* IDL: uint32 lmm_pattern; */
1437 /* IDL: uint64 lmm_object_id; */
1438 /* IDL: uint64 lmm_object_gr; */
1439 /* IDL: uint32 lmm_stripe_size; */
1440 /* IDL: uint32 lmm_stripe_count; */
1441 /* IDL: struct lov_ost_data_v1 { */
1442 /* IDL: } lmm_objects[0]; <-- en fait on en a lmm_stripe_count */
1446 lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1448 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_magic);
1454 lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1456 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_pattern);
1462 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_)
1464 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_id);
1470 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_)
1472 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_gr);
1478 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_)
1480 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_size);
1486 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_)
1488 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_count);
1494 lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1496 offset=lustre_dissect_struct_lov_ost_data_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1_lmm_objects);
1501 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)
1504 /*g_print("num = %d", num);*/
1505 for (i = 0; i < num; i++){
1506 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvb, offset, pinfo, tree);
1515 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_)
1517 proto_item *item = NULL;
1518 proto_tree *tree = NULL;
1521 guint32 stripe_count ;
1527 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1528 tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v1);
1531 offset=lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvb, offset, pinfo, tree);
1533 offset=lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvb, offset, pinfo, tree);
1535 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_id(tvb, offset, pinfo, tree);
1537 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_gr(tvb, offset, pinfo, tree);
1539 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_size(tvb, offset, pinfo, tree);
1541 stripe_count = tvb_get_letohl(tvb,offset);
1542 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_count(tvb, offset, pinfo, tree);
1544 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects(tvb, offset, pinfo, tree, stripe_count);
1547 proto_item_set_len(item, offset-old_offset);
1554 /* IDL: struct obd_statfs { */
1555 /* IDL: uint64 os_type; */
1556 /* IDL: uint64 os_blocks; */
1557 /* IDL: uint64 os_bfree; */
1558 /* IDL: uint64 os_bavail; */
1559 /* IDL: uint64 os_files; */
1560 /* IDL: uint64 os_ffree; */
1561 /* IDL: uint8 os_fsid[40]; */
1562 /* IDL: uint32 os_bsize; */
1563 /* IDL: uint32 os_namelen; */
1564 /* IDL: uint64 os_maxbytes; */
1565 /* IDL: uint32 os_state; */
1566 /* IDL: uint32 os_spare1; */
1567 /* IDL: uint32 os_spare2; */
1568 /* IDL: uint32 os_spare3; */
1569 /* IDL: uint32 os_spare4; */
1570 /* IDL: uint32 os_spare5; */
1571 /* IDL: uint32 os_spare6; */
1572 /* IDL: uint32 os_spare7; */
1573 /* IDL: uint32 os_spare8; */
1574 /* IDL: uint32 os_spare9; */
1578 lustre_dissect_element_obd_statfs_os_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1580 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_type);
1586 lustre_dissect_element_obd_statfs_os_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1588 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_blocks);
1594 lustre_dissect_element_obd_statfs_os_bfree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1596 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bfree);
1602 lustre_dissect_element_obd_statfs_os_bavail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1604 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bavail);
1610 lustre_dissect_element_obd_statfs_os_files(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1612 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_files);
1618 lustre_dissect_element_obd_statfs_os_ffree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1620 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_ffree);
1626 lustre_dissect_element_obd_statfs_os_fsid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1628 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_fsid);
1634 lustre_dissect_element_obd_statfs_os_fsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1637 for (i = 0; i < 40; i++)
1638 offset=lustre_dissect_element_obd_statfs_os_fsid_(tvb, offset, pinfo, tree);
1646 lustre_dissect_element_obd_statfs_os_bsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1648 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bsize);
1654 lustre_dissect_element_obd_statfs_os_namelen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1656 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_namelen);
1662 lustre_dissect_element_obd_statfs_os_maxbytes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1664 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_maxbytes);
1670 lustre_dissect_element_obd_statfs_os_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1672 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_state);
1678 lustre_dissect_element_obd_statfs_os_spare1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1680 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare1);
1686 lustre_dissect_element_obd_statfs_os_spare2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1688 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare2);
1694 lustre_dissect_element_obd_statfs_os_spare3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1696 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare3);
1702 lustre_dissect_element_obd_statfs_os_spare4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1704 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare4);
1710 lustre_dissect_element_obd_statfs_os_spare5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1712 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare5);
1718 lustre_dissect_element_obd_statfs_os_spare6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1720 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare6);
1726 lustre_dissect_element_obd_statfs_os_spare7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1728 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare7);
1734 lustre_dissect_element_obd_statfs_os_spare8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1736 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare8);
1742 lustre_dissect_element_obd_statfs_os_spare9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1744 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare9);
1750 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_)
1752 proto_item *item = NULL;
1753 proto_tree *tree = NULL;
1761 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1762 tree = proto_item_add_subtree(item, ett_lustre_obd_statfs);
1765 offset=lustre_dissect_element_obd_statfs_os_type(tvb, offset, pinfo, tree);
1767 offset=lustre_dissect_element_obd_statfs_os_blocks(tvb, offset, pinfo, tree);
1769 offset=lustre_dissect_element_obd_statfs_os_bfree(tvb, offset, pinfo, tree);
1771 offset=lustre_dissect_element_obd_statfs_os_bavail(tvb, offset, pinfo, tree);
1773 offset=lustre_dissect_element_obd_statfs_os_files(tvb, offset, pinfo, tree);
1775 offset=lustre_dissect_element_obd_statfs_os_ffree(tvb, offset, pinfo, tree);
1777 offset=lustre_dissect_element_obd_statfs_os_fsid(tvb, offset, pinfo, tree);
1779 offset=lustre_dissect_element_obd_statfs_os_bsize(tvb, offset, pinfo, tree);
1781 offset=lustre_dissect_element_obd_statfs_os_namelen(tvb, offset, pinfo, tree);
1783 offset=lustre_dissect_element_obd_statfs_os_maxbytes(tvb, offset, pinfo, tree);
1785 offset=lustre_dissect_element_obd_statfs_os_state(tvb, offset, pinfo, tree);
1787 offset=lustre_dissect_element_obd_statfs_os_spare1(tvb, offset, pinfo, tree);
1789 offset=lustre_dissect_element_obd_statfs_os_spare2(tvb, offset, pinfo, tree);
1791 offset=lustre_dissect_element_obd_statfs_os_spare3(tvb, offset, pinfo, tree);
1793 offset=lustre_dissect_element_obd_statfs_os_spare4(tvb, offset, pinfo, tree);
1795 offset=lustre_dissect_element_obd_statfs_os_spare5(tvb, offset, pinfo, tree);
1797 offset=lustre_dissect_element_obd_statfs_os_spare6(tvb, offset, pinfo, tree);
1799 offset=lustre_dissect_element_obd_statfs_os_spare7(tvb, offset, pinfo, tree);
1801 offset=lustre_dissect_element_obd_statfs_os_spare8(tvb, offset, pinfo, tree);
1803 offset=lustre_dissect_element_obd_statfs_os_spare9(tvb, offset, pinfo, tree);
1806 proto_item_set_len(item, offset-old_offset);
1811 /* IDL: struct obd_ioobj { */
1812 /* IDL: uint64 ioo_id; */
1813 /* IDL: uint64 ioo_gr; */
1814 /* IDL: uint32 ioo_type; */
1815 /* IDL: uint32 ioo_bufcnt; */
1819 lustre_dissect_element_obd_ioobj_ioo_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1821 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_id);
1827 lustre_dissect_element_obd_ioobj_ioo_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1829 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_gr);
1835 lustre_dissect_element_obd_ioobj_ioo_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1837 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_type);
1843 lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1845 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_bufcnt);
1851 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_)
1853 proto_item *item = NULL;
1854 proto_tree *tree = NULL;
1862 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1863 tree = proto_item_add_subtree(item, ett_lustre_obd_ioobj);
1866 offset=lustre_dissect_element_obd_ioobj_ioo_id(tvb, offset, pinfo, tree);
1868 offset=lustre_dissect_element_obd_ioobj_ioo_gr(tvb, offset, pinfo, tree);
1870 offset=lustre_dissect_element_obd_ioobj_ioo_type(tvb, offset, pinfo, tree);
1872 offset=lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvb, offset, pinfo, tree);
1875 proto_item_set_len(item, offset-old_offset);
1880 /* IDL: struct niobuf_remote { */
1881 /* IDL: uint64 offset; */
1882 /* IDL: uint32 len; */
1883 /* IDL: uint32 flags; */
1887 lustre_dissect_element_niobuf_remote_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1889 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_offset);
1895 lustre_dissect_element_niobuf_remote_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1897 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_len);
1903 lustre_dissect_element_niobuf_remote_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1905 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_flags);
1911 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_)
1913 proto_item *item = NULL;
1914 proto_tree *tree = NULL;
1922 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1923 tree = proto_item_add_subtree(item, ett_lustre_niobuf_remote);
1926 offset=lustre_dissect_element_niobuf_remote_offset(tvb, offset, pinfo, tree);
1928 offset=lustre_dissect_element_niobuf_remote_len(tvb, offset, pinfo, tree);
1930 offset=lustre_dissect_element_niobuf_remote_flags(tvb, offset, pinfo, tree);
1933 proto_item_set_len(item, offset-old_offset);
1938 /* IDL: struct ost_lvb { */
1939 /* IDL: uint64 lvb_size; */
1940 /* IDL: uint64 lvb_mtime; */
1941 /* IDL: uint64 lvb_atime; */
1942 /* IDL: uint64 lvb_ctime; */
1943 /* IDL: uint64 lvb_blocks; */
1947 lustre_dissect_element_ost_lvb_lvb_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1949 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_size);
1955 lustre_dissect_element_ost_lvb_lvb_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1959 ns.secs = tvb_get_letohl(tvb,offset);
1961 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_mtime, tvb, offset, 8, &ns );
1967 lustre_dissect_element_ost_lvb_lvb_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1971 ns.secs = tvb_get_letohl(tvb,offset);
1973 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_atime, tvb, offset, 8, &ns );
1981 lustre_dissect_element_ost_lvb_lvb_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1985 ns.secs = tvb_get_letohl(tvb,offset);
1987 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_ctime, tvb, offset, 8, &ns );
1995 lustre_dissect_element_ost_lvb_lvb_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1997 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_blocks);
2003 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_)
2005 proto_item *item = NULL;
2006 proto_tree *tree = NULL;
2014 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2015 tree = proto_item_add_subtree(item, ett_lustre_ost_lvb);
2018 offset=lustre_dissect_element_ost_lvb_lvb_size(tvb, offset, pinfo, tree);
2020 offset=lustre_dissect_element_ost_lvb_lvb_mtime(tvb, offset, pinfo, tree);
2022 offset=lustre_dissect_element_ost_lvb_lvb_atime(tvb, offset, pinfo, tree);
2024 offset=lustre_dissect_element_ost_lvb_lvb_ctime(tvb, offset, pinfo, tree);
2026 offset=lustre_dissect_element_ost_lvb_lvb_blocks(tvb, offset, pinfo, tree);
2029 proto_item_set_len(item, offset-old_offset);
2035 /* IDL: struct ll_fid { */
2036 /* IDL: uint64 id; */
2037 /* IDL: uint32 generation; */
2038 /* IDL: uint32 f_type; */
2042 lustre_dissect_element_ll_fid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2044 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ll_fid_id);
2050 lustre_dissect_element_ll_fid_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2052 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_generation);
2058 lustre_dissect_element_ll_fid_f_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2060 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_f_type);
2066 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_)
2068 proto_item *item = NULL;
2069 proto_tree *tree = NULL;
2077 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2078 tree = proto_item_add_subtree(item, ett_lustre_ll_fid);
2081 offset=lustre_dissect_element_ll_fid_id(tvb, offset, pinfo, tree);
2083 offset=lustre_dissect_element_ll_fid_generation(tvb, offset, pinfo, tree);
2085 offset=lustre_dissect_element_ll_fid_f_type(tvb, offset, pinfo, tree);
2088 proto_item_set_len(item, offset-old_offset);
2093 /* IDL: struct mds_status_req { */
2094 /* IDL: uint32 flags; */
2095 /* IDL: uint32 repbuf; */
2099 lustre_dissect_element_mds_status_req_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2101 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_flags);
2107 lustre_dissect_element_mds_status_req_repbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2109 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_repbuf);
2115 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_)
2117 proto_item *item = NULL;
2118 proto_tree *tree = NULL;
2125 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2126 tree = proto_item_add_subtree(item, ett_lustre_mds_status_req);
2129 offset=lustre_dissect_element_mds_status_req_flags(tvb, offset, pinfo, tree);
2131 offset=lustre_dissect_element_mds_status_req_repbuf(tvb, offset, pinfo, tree);
2134 proto_item_set_len(item, offset-old_offset);
2139 /* IDL: struct mds_body { */
2140 /* IDL: struct ll_fid { */
2142 /* IDL: struct ll_fid { */
2144 /* IDL: struct lustre_handle { */
2145 /* IDL: } handle; */
2146 /* IDL: uint64 valid; */
2147 /* IDL: uint64 size; */
2148 /* IDL: uint64 mtime; */
2149 /* IDL: uint64 atime; */
2150 /* IDL: uint64 ctime; */
2151 /* IDL: uint64 blocks; */
2152 /* IDL: uint64 io_epoch; */
2153 /* IDL: uint64 ino; */
2154 /* IDL: uint32 fsuid; */
2155 /* IDL: uint32 fsgid; */
2156 /* IDL: uint32 capability; */
2157 /* IDL: uint32 mode; */
2158 /* IDL: uint32 uid; */
2159 /* IDL: uint32 gid; */
2160 /* IDL: uint32 flags; */
2161 /* IDL: uint32 rdev; */
2162 /* IDL: uint32 nlink; */
2163 /* IDL: uint32 generation; */
2164 /* IDL: uint32 suppgid; */
2165 /* IDL: uint32 eadatasize; */
2166 /* IDL: uint32 aclsize; */
2167 /* IDL: uint32 max_mdsize; */
2168 /* IDL: uint32 max_cookiesize; */
2169 /* IDL: uint32 padding_4; */
2173 lustre_dissect_element_mds_body_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2175 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid1);
2180 lustre_dissect_element_mds_body_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2182 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid2);
2187 lustre_dissect_element_mds_body_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2189 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
2195 lustre_dissect_element_mds_body_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2197 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_valid);
2203 lustre_dissect_element_mds_body_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2205 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_size);
2211 lustre_dissect_element_mds_body_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2215 ns.secs = tvb_get_letohl(tvb,offset);
2217 proto_tree_add_time(tree, hf_lustre_mds_body_mtime, tvb, offset, 8, &ns );
2223 lustre_dissect_element_mds_body_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2227 ns.secs = tvb_get_letohl(tvb,offset);
2229 proto_tree_add_time(tree, hf_lustre_mds_body_atime, tvb, offset, 8, &ns );
2236 lustre_dissect_element_mds_body_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2240 ns.secs = tvb_get_letohl(tvb,offset);
2242 proto_tree_add_time(tree, hf_lustre_mds_body_ctime, tvb, offset, 8, &ns );
2248 lustre_dissect_element_mds_body_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2250 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_blocks);
2256 lustre_dissect_element_mds_body_io_epoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2258 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_io_epoch);
2264 lustre_dissect_element_mds_body_ino(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2266 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_ino);
2272 lustre_dissect_element_mds_body_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2274 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsuid);
2280 lustre_dissect_element_mds_body_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2282 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsgid);
2288 lustre_dissect_element_mds_body_capability(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2290 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_capability);
2296 lustre_dissect_element_mds_body_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2298 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_mode);
2304 lustre_dissect_element_mds_body_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2306 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_uid);
2312 lustre_dissect_element_mds_body_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2314 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_gid);
2320 lustre_dissect_element_mds_body_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2322 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_flags);
2328 lustre_dissect_element_mds_body_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2330 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_rdev);
2336 lustre_dissect_element_mds_body_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2338 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_nlink);
2344 lustre_dissect_element_mds_body_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2346 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_generation);
2352 lustre_dissect_element_mds_body_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2354 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_suppgid);
2360 lustre_dissect_element_mds_body_eadatasize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2362 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_eadatasize);
2368 lustre_dissect_element_mds_body_aclsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2370 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_aclsize);
2376 lustre_dissect_element_mds_body_max_mdsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2378 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_mdsize);
2384 lustre_dissect_element_mds_body_max_cookiesize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2386 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_cookiesize);
2392 lustre_dissect_element_mds_body_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2394 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_padding_4);
2400 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_)
2402 proto_item *item = NULL;
2403 proto_tree *tree = NULL;
2410 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2411 tree = proto_item_add_subtree(item, ett_lustre_mds_body);
2414 offset=lustre_dissect_element_mds_body_fid1(tvb, offset, pinfo, tree);
2416 offset=lustre_dissect_element_mds_body_fid2(tvb, offset, pinfo, tree);
2418 offset=lustre_dissect_element_mds_body_handle(tvb, offset, pinfo, tree);
2420 offset=lustre_dissect_element_mds_body_valid(tvb, offset, pinfo, tree);
2422 offset=lustre_dissect_element_mds_body_size(tvb, offset, pinfo, tree);
2424 offset=lustre_dissect_element_mds_body_mtime(tvb, offset, pinfo, tree);
2426 offset=lustre_dissect_element_mds_body_atime(tvb, offset, pinfo, tree);
2428 offset=lustre_dissect_element_mds_body_ctime(tvb, offset, pinfo, tree);
2430 offset=lustre_dissect_element_mds_body_blocks(tvb, offset, pinfo, tree);
2432 offset=lustre_dissect_element_mds_body_io_epoch(tvb, offset, pinfo, tree);
2434 offset=lustre_dissect_element_mds_body_ino(tvb, offset, pinfo, tree);
2436 offset=lustre_dissect_element_mds_body_fsuid(tvb, offset, pinfo, tree);
2438 offset=lustre_dissect_element_mds_body_fsgid(tvb, offset, pinfo, tree);
2440 offset=lustre_dissect_element_mds_body_capability(tvb, offset, pinfo, tree);
2442 offset=lustre_dissect_element_mds_body_mode(tvb, offset, pinfo, tree);
2444 offset=lustre_dissect_element_mds_body_uid(tvb, offset, pinfo, tree);
2446 offset=lustre_dissect_element_mds_body_gid(tvb, offset, pinfo, tree);
2448 offset=lustre_dissect_element_mds_body_flags(tvb, offset, pinfo, tree);
2450 offset=lustre_dissect_element_mds_body_rdev(tvb, offset, pinfo, tree);
2452 offset=lustre_dissect_element_mds_body_nlink(tvb, offset, pinfo, tree);
2454 offset=lustre_dissect_element_mds_body_generation(tvb, offset, pinfo, tree);
2456 offset=lustre_dissect_element_mds_body_suppgid(tvb, offset, pinfo, tree);
2458 offset=lustre_dissect_element_mds_body_eadatasize(tvb, offset, pinfo, tree);
2460 offset=lustre_dissect_element_mds_body_aclsize(tvb, offset, pinfo, tree);
2462 offset=lustre_dissect_element_mds_body_max_mdsize(tvb, offset, pinfo, tree);
2464 offset=lustre_dissect_element_mds_body_max_cookiesize(tvb, offset, pinfo, tree);
2466 offset=lustre_dissect_element_mds_body_padding_4(tvb, offset, pinfo, tree);
2469 proto_item_set_len(item, offset-old_offset);
2474 /* IDL: struct obd_dqinfo { */
2475 /* IDL: uint64 dqi_bgrace; */
2476 /* IDL: uint64 dqi_igrace; */
2477 /* IDL: uint32 dqi_flags; */
2478 /* IDL: uint32 dqi_valid; */
2482 lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2484 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_bgrace);
2490 lustre_dissect_element_obd_dqinfo_dqi_igrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2492 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_igrace);
2498 lustre_dissect_element_obd_dqinfo_dqi_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2500 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_flags);
2506 lustre_dissect_element_obd_dqinfo_dqi_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2508 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_valid);
2514 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_)
2516 proto_item *item = NULL;
2517 proto_tree *tree = NULL;
2522 old_offset = offset;
2525 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2526 tree = proto_item_add_subtree(item, ett_lustre_obd_dqinfo);
2529 offset = lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvb, offset, pinfo, tree);
2531 offset = lustre_dissect_element_obd_dqinfo_dqi_igrace(tvb, offset, pinfo, tree);
2533 offset = lustre_dissect_element_obd_dqinfo_dqi_flags(tvb, offset, pinfo, tree);
2535 offset = lustre_dissect_element_obd_dqinfo_dqi_valid(tvb, offset, pinfo, tree);
2538 proto_item_set_len(item, offset-old_offset);
2543 /* IDL: struct obd_dqblk { */
2544 /* IDL: uint64 dqb_bhardlimit; */
2545 /* IDL: uint64 dqb_bsoftlimit; */
2546 /* IDL: uint64 dqb_curspace; */
2547 /* IDL: uint64 dqb_ihardlimit; */
2548 /* IDL: uint64 dqb_isoftlimit; */
2549 /* IDL: uint64 dqb_curinodes; */
2550 /* IDL: uint64 dqb_btime; */
2551 /* IDL: uint64 dqb_itime; */
2552 /* IDL: uint32 dqb_valid; */
2553 /* IDL: uint32 padding; */
2557 lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2559 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bhardlimit);
2565 lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2567 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bsoftlimit);
2573 lustre_dissect_element_obd_dqblk_dqb_curspace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2575 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curspace);
2581 lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2583 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_ihardlimit);
2589 lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2591 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_isoftlimit);
2597 lustre_dissect_element_obd_dqblk_dqb_curinodes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2599 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curinodes);
2605 lustre_dissect_element_obd_dqblk_dqb_btime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2610 ns.secs = tvb_get_letohl(tvb,offset);
2612 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_btime, tvb, offset, 8, &ns );
2618 lustre_dissect_element_obd_dqblk_dqb_itime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2622 ns.secs = tvb_get_letohl(tvb,offset);
2624 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_itime, tvb, offset, 8, &ns );
2631 lustre_dissect_element_obd_dqblk_dqb_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2633 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_valid);
2639 lustre_dissect_element_obd_dqblk_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2641 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_padding);
2647 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_)
2649 proto_item *item = NULL;
2650 proto_tree *tree = NULL;
2655 old_offset = offset;
2658 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2659 tree = proto_item_add_subtree(item, ett_lustre_obd_dqblk);
2662 offset = lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvb, offset, pinfo, tree);
2664 offset = lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvb, offset, pinfo, tree);
2666 offset = lustre_dissect_element_obd_dqblk_dqb_curspace(tvb, offset, pinfo, tree);
2668 offset = lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvb, offset, pinfo, tree);
2670 offset = lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvb, offset, pinfo, tree);
2672 offset = lustre_dissect_element_obd_dqblk_dqb_curinodes(tvb, offset, pinfo, tree);
2674 offset = lustre_dissect_element_obd_dqblk_dqb_btime(tvb, offset, pinfo, tree);
2676 offset = lustre_dissect_element_obd_dqblk_dqb_itime(tvb, offset, pinfo, tree);
2678 offset = lustre_dissect_element_obd_dqblk_dqb_valid(tvb, offset, pinfo, tree);
2680 offset = lustre_dissect_element_obd_dqblk_padding(tvb, offset, pinfo, tree);
2683 proto_item_set_len(item, offset-old_offset);
2689 /* IDL: struct obd_quotactl { */
2690 /* IDL: uint32 qc_cmd; */
2691 /* IDL: uint32 qc_type; */
2692 /* IDL: uint32 qc_id; */
2693 /* IDL: uint32 qc_stat; */
2694 /* IDL: struct obd_dqinfo { */
2695 /* IDL: } qc_dqinfo; */
2696 /* IDL: struct obd_dqblk { */
2697 /* IDL: } qc_dqblk; */
2701 lustre_dissect_element_obd_quotactl_qc_cmd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2703 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_cmd);
2709 lustre_dissect_element_obd_quotactl_qc_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2711 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_type);
2717 lustre_dissect_element_obd_quotactl_qc_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2719 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_id);
2725 lustre_dissect_element_obd_quotactl_qc_stat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2727 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_stat);
2735 lustre_dissect_element_obd_quotactl_qc_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2737 offset=lustre_dissect_struct_obd_dqblk(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqblk);
2742 lustre_dissect_element_obd_quotactl_qc_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2744 offset=lustre_dissect_struct_obd_dqinfo(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqinfo);
2749 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_)
2751 proto_item *item = NULL;
2752 proto_tree *tree = NULL;
2758 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2759 tree = proto_item_add_subtree(item, ett_lustre_obd_quotactl);
2762 offset=lustre_dissect_element_obd_quotactl_qc_cmd(tvb, offset, pinfo, tree);
2764 offset=lustre_dissect_element_obd_quotactl_qc_type(tvb, offset, pinfo, tree);
2766 offset=lustre_dissect_element_obd_quotactl_qc_id(tvb, offset, pinfo, tree);
2768 offset=lustre_dissect_element_obd_quotactl_qc_stat(tvb, offset, pinfo, tree);
2770 offset=lustre_dissect_element_obd_quotactl_qc_dqinfo(tvb, offset, pinfo, tree);
2772 offset=lustre_dissect_element_obd_quotactl_qc_dqblk(tvb, offset, pinfo, tree);
2775 proto_item_set_len(item, offset-old_offset);
2781 /* IDL: struct quota_adjust_qunit { */
2782 /* IDL: uint32 qaq_flags; */
2783 /* IDL: uint32 qaq_id; */
2784 /* IDL: uint64 qaq_bunit_sz; */
2785 /* IDL: uint64 qaq_iunit_sz; */
2786 /* IDL: uint64 padding1; */
2790 lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2792 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_flags);
2798 lustre_dissect_element_quota_adjust_qunit_qaq_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2800 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_id);
2806 lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2808 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_bunit_sz);
2814 lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2816 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_iunit_sz);
2822 lustre_dissect_element_quota_adjust_qunit_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2824 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_padding1);
2830 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_)
2832 proto_item *item = NULL;
2833 proto_tree *tree = NULL;
2841 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2842 tree = proto_item_add_subtree(item, ett_lustre_quota_adjust_qunit);
2845 offset=lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvb, offset, pinfo, tree);
2847 offset=lustre_dissect_element_quota_adjust_qunit_qaq_id(tvb, offset, pinfo, tree);
2849 offset=lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvb, offset, pinfo, tree);
2851 offset=lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvb, offset, pinfo, tree);
2853 offset=lustre_dissect_element_quota_adjust_qunit_padding1(tvb, offset, pinfo, tree);
2856 proto_item_set_len(item, offset-old_offset);
2861 /* I don't find where this struct appear on wire.. need to search mdc_setattr_pack() */
2862 /* IDL: struct mds_rec_setattr { */
2863 /* IDL: uint32 sa_opcode; */
2864 /* IDL: uint32 sa_fsuid; */
2865 /* IDL: uint32 sa_fsgid; */
2866 /* IDL: uint32 sa_cap; */
2867 /* IDL: uint32 sa_suppgid; */
2868 /* IDL: uint32 sa_mode; */
2869 /* IDL: struct ll_fid { */
2870 /* IDL: } sa_fid; */
2871 /* IDL: uint64 sa_valid; */
2872 /* IDL: uint64 sa_size; */
2873 /* IDL: uint64 sa_mtime; */
2874 /* IDL: uint64 sa_atime; */
2875 /* IDL: uint64 sa_ctime; */
2876 /* IDL: uint32 sa_uid; */
2877 /* IDL: uint32 sa_gid; */
2878 /* IDL: uint32 sa_attr_flags; */
2879 /* IDL: uint32 sa_padding; */
2883 lustre_dissect_element_mds_rec_setattr_sa_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2885 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_opcode);
2891 lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2893 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsuid);
2899 lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2901 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsgid);
2907 lustre_dissect_element_mds_rec_setattr_sa_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2909 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_cap);
2915 lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2917 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_suppgid);
2923 lustre_dissect_element_mds_rec_setattr_sa_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2925 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_mode);
2931 lustre_dissect_element_mds_rec_setattr_sa_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2933 //offset=lustre_dissect_struct_HASH(0x85af8d0)(tvb,offset,pinfo,tree,hf_lustre_mds_rec_setattr_sa_fid);
2939 lustre_dissect_element_mds_rec_setattr_sa_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2941 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_valid);
2947 lustre_dissect_element_mds_rec_setattr_sa_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2949 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_size);
2955 lustre_dissect_element_mds_rec_setattr_sa_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2960 ns.secs = tvb_get_letohl(tvb,offset);
2962 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_mtime, tvb, offset, 8, &ns );
2968 lustre_dissect_element_mds_rec_setattr_sa_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2972 ns.secs = tvb_get_letohl(tvb,offset);
2974 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_atime, tvb, offset, 8, &ns );
2980 lustre_dissect_element_mds_rec_setattr_sa_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2984 ns.secs = tvb_get_letohl(tvb,offset);
2986 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_ctime, tvb, offset, 8, &ns );
2992 lustre_dissect_element_mds_rec_setattr_sa_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2994 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_uid);
3000 lustre_dissect_element_mds_rec_setattr_sa_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3002 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_gid);
3008 lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3010 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_attr_flags);
3016 lustre_dissect_element_mds_rec_setattr_sa_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3018 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_padding);
3024 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_)
3026 proto_item *item = NULL;
3027 proto_tree *tree = NULL;
3036 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3037 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_setattr);
3039 sa_opcode=tvb_get_letohl(tvb,offset);
3040 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sa_opcode, lustre_mds_reint_t_vals, "Unknown sa_opc"));
3042 offset=lustre_dissect_element_mds_rec_setattr_sa_opcode(tvb, offset, pinfo, tree);
3044 offset=lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvb, offset, pinfo, tree);
3046 offset=lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvb, offset, pinfo, tree);
3048 offset=lustre_dissect_element_mds_rec_setattr_sa_cap(tvb, offset, pinfo, tree);
3050 offset=lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvb, offset, pinfo, tree);
3052 offset=lustre_dissect_element_mds_rec_setattr_sa_mode(tvb, offset, pinfo, tree);
3054 offset=lustre_dissect_element_mds_rec_setattr_sa_fid(tvb, offset, pinfo, tree);
3056 offset=lustre_dissect_element_mds_rec_setattr_sa_valid(tvb, offset, pinfo, tree);
3058 offset=lustre_dissect_element_mds_rec_setattr_sa_size(tvb, offset, pinfo, tree);
3060 offset=lustre_dissect_element_mds_rec_setattr_sa_mtime(tvb, offset, pinfo, tree);
3062 offset=lustre_dissect_element_mds_rec_setattr_sa_atime(tvb, offset, pinfo, tree);
3064 offset=lustre_dissect_element_mds_rec_setattr_sa_ctime(tvb, offset, pinfo, tree);
3066 offset=lustre_dissect_element_mds_rec_setattr_sa_uid(tvb, offset, pinfo, tree);
3068 offset=lustre_dissect_element_mds_rec_setattr_sa_gid(tvb, offset, pinfo, tree);
3070 offset=lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvb, offset, pinfo, tree);
3072 offset=lustre_dissect_element_mds_rec_setattr_sa_padding(tvb, offset, pinfo, tree);
3075 proto_item_set_len(item, offset-old_offset);
3081 /* IDL: struct mds_rec_create { */
3082 /* IDL: uint32 cr_opcode; */
3083 /* IDL: uint32 cr_fsuid; */
3084 /* IDL: uint32 cr_fsgid; */
3085 /* IDL: uint32 cr_cap; */
3086 /* IDL: uint32 cr_flags; */
3087 /* IDL: uint32 cr_mode; */
3088 /* IDL: struct ll_fid { */
3089 /* IDL: } cr_fid; */
3090 /* IDL: struct ll_fid { */
3091 /* IDL: } cr_replayfid; */
3092 /* IDL: uint64 cr_time; */
3093 /* IDL: uint64 cr_rdev; */
3094 /* IDL: uint32 cr_suppgid; */
3095 /* IDL: uint32 cr_padding_1; */
3096 /* IDL: uint32 cr_padding_2; */
3097 /* IDL: uint32 cr_padding_3; */
3098 /* IDL: uint32 cr_padding_4; */
3099 /* IDL: uint32 cr_padding_5; */
3103 lustre_dissect_element_mds_rec_create_cr_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3105 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_opcode);
3111 lustre_dissect_element_mds_rec_create_cr_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3113 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsuid);
3119 lustre_dissect_element_mds_rec_create_cr_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3121 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsgid);
3127 lustre_dissect_element_mds_rec_create_cr_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3129 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_cap);
3135 lustre_dissect_element_mds_rec_create_cr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3137 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_flags);
3143 lustre_dissect_element_mds_rec_create_cr_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3145 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_mode);
3151 lustre_dissect_element_mds_rec_create_cr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3153 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_fid);
3158 lustre_dissect_element_mds_rec_create_cr_replayfid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3160 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_replayfid);
3165 lustre_dissect_element_mds_rec_create_cr_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3169 ns.secs = tvb_get_letohl(tvb,offset);
3171 proto_tree_add_time(tree, hf_lustre_mds_rec_create_cr_time, tvb, offset, 8, &ns );
3178 lustre_dissect_element_mds_rec_create_cr_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3180 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_rdev);
3186 lustre_dissect_element_mds_rec_create_cr_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3188 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_suppgid);
3194 lustre_dissect_element_mds_rec_create_cr_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3196 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_1);
3202 lustre_dissect_element_mds_rec_create_cr_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3204 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_2);
3210 lustre_dissect_element_mds_rec_create_cr_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3212 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_3);
3218 lustre_dissect_element_mds_rec_create_cr_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3220 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_4);
3226 lustre_dissect_element_mds_rec_create_cr_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3228 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_5);
3234 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_)
3236 proto_item *item = NULL;
3237 proto_tree *tree = NULL;
3246 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3247 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_create);
3249 cr_opcode=tvb_get_letohl(tvb,offset);
3250 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(cr_opcode, lustre_mds_reint_t_vals, "Unknown cr_opc"));
3252 offset=lustre_dissect_element_mds_rec_create_cr_opcode(tvb, offset, pinfo, tree);
3254 offset=lustre_dissect_element_mds_rec_create_cr_fsuid(tvb, offset, pinfo, tree);
3256 offset=lustre_dissect_element_mds_rec_create_cr_fsgid(tvb, offset, pinfo, tree);
3258 offset=lustre_dissect_element_mds_rec_create_cr_cap(tvb, offset, pinfo, tree);
3260 offset=lustre_dissect_element_mds_rec_create_cr_flags(tvb, offset, pinfo, tree);
3262 offset=lustre_dissect_element_mds_rec_create_cr_mode(tvb, offset, pinfo, tree);
3264 offset=lustre_dissect_element_mds_rec_create_cr_fid(tvb, offset, pinfo, tree);
3266 offset=lustre_dissect_element_mds_rec_create_cr_replayfid(tvb, offset, pinfo, tree);
3268 offset=lustre_dissect_element_mds_rec_create_cr_time(tvb, offset, pinfo, tree);
3270 offset=lustre_dissect_element_mds_rec_create_cr_rdev(tvb, offset, pinfo, tree);
3272 offset=lustre_dissect_element_mds_rec_create_cr_suppgid(tvb, offset, pinfo, tree);
3274 offset=lustre_dissect_element_mds_rec_create_cr_padding_1(tvb, offset, pinfo, tree);
3276 offset=lustre_dissect_element_mds_rec_create_cr_padding_2(tvb, offset, pinfo, tree);
3278 offset=lustre_dissect_element_mds_rec_create_cr_padding_3(tvb, offset, pinfo, tree);
3280 offset=lustre_dissect_element_mds_rec_create_cr_padding_4(tvb, offset, pinfo, tree);
3282 offset=lustre_dissect_element_mds_rec_create_cr_padding_5(tvb, offset, pinfo, tree);
3285 proto_item_set_len(item, offset-old_offset);
3293 /* TODO : find where this structure appear ! */
3294 /* IDL: struct mds_rec_link { */
3295 /* IDL: uint32 lk_opcode; */
3296 /* IDL: uint32 lk_fsuid; */
3297 /* IDL: uint32 lk_fsgid; */
3298 /* IDL: uint32 lk_cap; */
3299 /* IDL: uint32 lk_suppgid1; */
3300 /* IDL: uint32 lk_suppgid2; */
3301 /* IDL: struct ll_fid { */
3302 /* IDL: } lk_fid1; */
3303 /* IDL: struct ll_fid { */
3304 /* IDL: } lk_fid2; */
3305 /* IDL: uint64 lk_time; */
3306 /* IDL: uint32 lk_padding_1; */
3307 /* IDL: uint32 lk_padding_2; */
3308 /* IDL: uint32 lk_padding_3; */
3309 /* IDL: uint32 lk_padding_4; */
3313 lustre_dissect_element_mds_rec_link_lk_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3315 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_opcode);
3321 lustre_dissect_element_mds_rec_link_lk_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3323 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsuid);
3329 lustre_dissect_element_mds_rec_link_lk_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3331 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsgid);
3337 lustre_dissect_element_mds_rec_link_lk_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3339 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_cap);
3345 lustre_dissect_element_mds_rec_link_lk_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3347 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid1);
3353 lustre_dissect_element_mds_rec_link_lk_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3355 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid2);
3361 lustre_dissect_element_mds_rec_link_lk_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3363 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid1);
3368 lustre_dissect_element_mds_rec_link_lk_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3370 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid2);
3375 lustre_dissect_element_mds_rec_link_lk_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3379 ns.secs = tvb_get_letohl(tvb,offset);
3381 proto_tree_add_time(tree, hf_lustre_mds_rec_link_lk_time, tvb, offset, 8, &ns );
3387 lustre_dissect_element_mds_rec_link_lk_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3389 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_1);
3395 lustre_dissect_element_mds_rec_link_lk_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3397 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_2);
3403 lustre_dissect_element_mds_rec_link_lk_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3405 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_3);
3411 lustre_dissect_element_mds_rec_link_lk_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3413 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_4);
3419 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_)
3421 proto_item *item = NULL;
3422 proto_tree *tree = NULL;
3431 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3432 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_link);
3434 lk_opcode=tvb_get_letohl(tvb,offset);
3435 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lk_opcode, lustre_mds_reint_t_vals, "Unknown lk_opc"));
3437 offset=lustre_dissect_element_mds_rec_link_lk_opcode(tvb, offset, pinfo, tree);
3439 offset=lustre_dissect_element_mds_rec_link_lk_fsuid(tvb, offset, pinfo, tree);
3441 offset=lustre_dissect_element_mds_rec_link_lk_fsgid(tvb, offset, pinfo, tree);
3443 offset=lustre_dissect_element_mds_rec_link_lk_cap(tvb, offset, pinfo, tree);
3445 offset=lustre_dissect_element_mds_rec_link_lk_suppgid1(tvb, offset, pinfo, tree);
3447 offset=lustre_dissect_element_mds_rec_link_lk_suppgid2(tvb, offset, pinfo, tree);
3449 offset=lustre_dissect_element_mds_rec_link_lk_fid1(tvb, offset, pinfo, tree);
3451 offset=lustre_dissect_element_mds_rec_link_lk_fid2(tvb, offset, pinfo, tree);
3453 offset=lustre_dissect_element_mds_rec_link_lk_time(tvb, offset, pinfo, tree);
3455 offset=lustre_dissect_element_mds_rec_link_lk_padding_1(tvb, offset, pinfo, tree);
3457 offset=lustre_dissect_element_mds_rec_link_lk_padding_2(tvb, offset, pinfo, tree);
3459 offset=lustre_dissect_element_mds_rec_link_lk_padding_3(tvb, offset, pinfo, tree);
3461 offset=lustre_dissect_element_mds_rec_link_lk_padding_4(tvb, offset, pinfo, tree);
3464 proto_item_set_len(item, offset-old_offset);
3471 /* IDL: struct mds_rec_unlink { */
3472 /* IDL: uint32 ul_opcode; */
3473 /* IDL: uint32 ul_fsuid; */
3474 /* IDL: uint32 ul_fsgid; */
3475 /* IDL: uint32 ul_cap; */
3476 /* IDL: uint32 ul_suppgid; */
3477 /* IDL: uint32 ul_mode; */
3478 /* IDL: struct ll_fid { */
3479 /* IDL: } ul_fid1; */
3480 /* IDL: struct ll_fid { */
3481 /* IDL: } ul_fid2; */
3482 /* IDL: uint64 ul_time; */
3483 /* IDL: uint32 ul_padding_1; */
3484 /* IDL: uint32 ul_padding_2; */
3485 /* IDL: uint32 ul_padding_3; */
3486 /* IDL: uint32 ul_padding_4; */
3490 lustre_dissect_element_mds_rec_unlink_ul_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3492 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_opcode);
3498 lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3500 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsuid);
3506 lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3508 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsgid);
3514 lustre_dissect_element_mds_rec_unlink_ul_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3516 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_cap);
3522 lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3524 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_suppgid);
3530 lustre_dissect_element_mds_rec_unlink_ul_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3532 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_mode);
3538 lustre_dissect_element_mds_rec_unlink_ul_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3540 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid1);
3545 lustre_dissect_element_mds_rec_unlink_ul_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3547 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid2);
3552 lustre_dissect_element_mds_rec_unlink_ul_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3556 ns.secs = tvb_get_letohl(tvb,offset);
3558 proto_tree_add_time(tree,hf_lustre_mds_rec_unlink_ul_time , tvb, offset, 8, &ns );
3564 lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3566 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_1);
3572 lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3574 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_2);
3580 lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3582 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_3);
3588 lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3590 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_4);
3596 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_)
3598 proto_item *item = NULL;
3599 proto_tree *tree = NULL;
3608 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3609 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_unlink);
3612 ul_opcode=tvb_get_letohl(tvb,offset);
3613 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(ul_opcode, lustre_mds_reint_t_vals, "Unknown ul_opc"));
3615 offset=lustre_dissect_element_mds_rec_unlink_ul_opcode(tvb, offset, pinfo, tree);
3617 offset=lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvb, offset, pinfo, tree);
3619 offset=lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvb, offset, pinfo, tree);
3621 offset=lustre_dissect_element_mds_rec_unlink_ul_cap(tvb, offset, pinfo, tree);
3623 offset=lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvb, offset, pinfo, tree);
3625 offset=lustre_dissect_element_mds_rec_unlink_ul_mode(tvb, offset, pinfo, tree);
3627 offset=lustre_dissect_element_mds_rec_unlink_ul_fid1(tvb, offset, pinfo, tree);
3629 offset=lustre_dissect_element_mds_rec_unlink_ul_fid2(tvb, offset, pinfo, tree);
3631 offset=lustre_dissect_element_mds_rec_unlink_ul_time(tvb, offset, pinfo, tree);
3633 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvb, offset, pinfo, tree);
3635 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvb, offset, pinfo, tree);
3637 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvb, offset, pinfo, tree);
3639 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvb, offset, pinfo, tree);
3642 proto_item_set_len(item, offset-old_offset);
3649 /* IDL: struct mds_rec_rename { */
3650 /* IDL: uint32 rn_opcode; */
3651 /* IDL: uint32 rn_fsuid; */
3652 /* IDL: uint32 rn_fsgid; */
3653 /* IDL: uint32 rn_cap; */
3654 /* IDL: uint32 rn_suppgid1; */
3655 /* IDL: uint32 rn_suppgid2; */
3656 /* IDL: struct ll_fid { */
3657 /* IDL: } rn_fid1; */
3658 /* IDL: struct ll_fid { */
3659 /* IDL: } rn_fid2; */
3660 /* IDL: uint64 rn_time; */
3661 /* IDL: uint32 rn_padding_1; */
3662 /* IDL: uint32 rn_padding_2; */
3663 /* IDL: uint32 rn_padding_3; */
3664 /* IDL: uint32 rn_padding_4; */
3668 lustre_dissect_element_mds_rec_rename_rn_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3670 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_opcode);
3676 lustre_dissect_element_mds_rec_rename_rn_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3678 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsuid);
3684 lustre_dissect_element_mds_rec_rename_rn_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3686 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsgid);
3692 lustre_dissect_element_mds_rec_rename_rn_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3694 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_cap);
3700 lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3702 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid1);
3708 lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3710 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid2);
3716 lustre_dissect_element_mds_rec_rename_rn_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3718 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid1);
3723 lustre_dissect_element_mds_rec_rename_rn_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3725 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid2);
3730 lustre_dissect_element_mds_rec_rename_rn_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3734 ns.secs = tvb_get_letohl(tvb,offset);
3736 proto_tree_add_time(tree, hf_lustre_mds_rec_rename_rn_time, tvb, offset, 8, &ns );
3742 lustre_dissect_element_mds_rec_rename_rn_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3744 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_1);
3750 lustre_dissect_element_mds_rec_rename_rn_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3752 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_2);
3758 lustre_dissect_element_mds_rec_rename_rn_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3760 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_3);
3766 lustre_dissect_element_mds_rec_rename_rn_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3768 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_4);
3774 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_)
3776 proto_item *item = NULL;
3777 proto_tree *tree = NULL;
3786 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3787 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_rename);
3790 rn_opcode=tvb_get_letohl(tvb,offset);
3791 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(rn_opcode, lustre_mds_reint_t_vals, "Unknown rn_opc"));
3793 offset=lustre_dissect_element_mds_rec_rename_rn_opcode(tvb, offset, pinfo, tree);
3795 offset=lustre_dissect_element_mds_rec_rename_rn_fsuid(tvb, offset, pinfo, tree);
3797 offset=lustre_dissect_element_mds_rec_rename_rn_fsgid(tvb, offset, pinfo, tree);
3799 offset=lustre_dissect_element_mds_rec_rename_rn_cap(tvb, offset, pinfo, tree);
3801 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvb, offset, pinfo, tree);
3803 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvb, offset, pinfo, tree);
3805 offset=lustre_dissect_element_mds_rec_rename_rn_fid1(tvb, offset, pinfo, tree);
3807 offset=lustre_dissect_element_mds_rec_rename_rn_fid2(tvb, offset, pinfo, tree);
3809 offset=lustre_dissect_element_mds_rec_rename_rn_time(tvb, offset, pinfo, tree);
3811 offset=lustre_dissect_element_mds_rec_rename_rn_padding_1(tvb, offset, pinfo, tree);
3813 offset=lustre_dissect_element_mds_rec_rename_rn_padding_2(tvb, offset, pinfo, tree);
3815 offset=lustre_dissect_element_mds_rec_rename_rn_padding_3(tvb, offset, pinfo, tree);
3817 offset=lustre_dissect_element_mds_rec_rename_rn_padding_4(tvb, offset, pinfo, tree);
3820 proto_item_set_len(item, offset-old_offset);
3826 /* TODO : find where this structure appear */
3828 /* IDL: struct lov_desc { */
3829 /* IDL: uint32 ld_tgt_count; */
3830 /* IDL: uint32 ld_active_tgt_count; */
3831 /* IDL: uint32 ld_default_stripe_count; */
3832 /* IDL: uint32 ld_pattern; */
3833 /* IDL: uint64 ld_default_stripe_size; */
3834 /* IDL: uint64 ld_default_stripe_offset; */
3835 /* IDL: uint32 ld_padding_0; */
3836 /* IDL: uint32 ld_qos_maxage; */
3837 /* IDL: uint32 ld_padding_1; */
3838 /* IDL: uint32 ld_padding_2; */
3839 /* IDL: struct obd_uuid { */
3840 /* IDL: } ld_uuid; */
3844 lustre_dissect_element_lov_desc_ld_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3846 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_tgt_count);
3852 lustre_dissect_element_lov_desc_ld_active_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3854 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_active_tgt_count);
3860 lustre_dissect_element_lov_desc_ld_default_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3862 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_count);
3868 lustre_dissect_element_lov_desc_ld_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3870 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_pattern);
3876 lustre_dissect_element_lov_desc_ld_default_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3878 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_size);
3884 lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3886 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_offset);
3892 lustre_dissect_element_lov_desc_ld_padding_0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3894 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_0);
3900 lustre_dissect_element_lov_desc_ld_qos_maxage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3902 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_qos_maxage);
3908 lustre_dissect_element_lov_desc_ld_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3910 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_1);
3916 lustre_dissect_element_lov_desc_ld_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3918 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_2);
3924 lustre_dissect_element_lov_desc_ld_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3926 //offset=lustre_dissect_struct_HASH(0x85bade8)(tvb,offset,pinfo,tree,hf_lustre_lov_desc_ld_uuid);
3931 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_)
3933 proto_item *item = NULL;
3934 proto_tree *tree = NULL;
3942 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3943 tree = proto_item_add_subtree(item, ett_lustre_lov_desc);
3946 offset=lustre_dissect_element_lov_desc_ld_tgt_count(tvb, offset, pinfo, tree);
3948 offset=lustre_dissect_element_lov_desc_ld_active_tgt_count(tvb, offset, pinfo, tree);
3950 offset=lustre_dissect_element_lov_desc_ld_default_stripe_count(tvb, offset, pinfo, tree);
3952 offset=lustre_dissect_element_lov_desc_ld_pattern(tvb, offset, pinfo, tree);
3954 offset=lustre_dissect_element_lov_desc_ld_default_stripe_size(tvb, offset, pinfo, tree);
3956 offset=lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvb, offset, pinfo, tree);
3958 offset=lustre_dissect_element_lov_desc_ld_padding_0(tvb, offset, pinfo, tree);
3960 offset=lustre_dissect_element_lov_desc_ld_qos_maxage(tvb, offset, pinfo, tree);
3962 offset=lustre_dissect_element_lov_desc_ld_padding_1(tvb, offset, pinfo, tree);
3964 offset=lustre_dissect_element_lov_desc_ld_padding_2(tvb, offset, pinfo, tree);
3966 offset=lustre_dissect_element_lov_desc_ld_uuid(tvb, offset, pinfo, tree);
3969 proto_item_set_len(item, offset-old_offset);
3974 /* IDL: struct obd_uuid { */
3975 /* char uuid[40]; */
3979 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_)
3982 /* the lenght of the string is 40 bytes max, with \0 inside */
3984 proto_tree_add_item(parent_tree, hf_index, tvb, offset, 40, TRUE);
3993 /* IDL: struct ldlm_res_id { */
3994 /* IDL: uint64 name[4]; */
3998 lustre_dissect_element_ldlm_res_id_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4000 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_res_id_name);
4006 lustre_dissect_element_ldlm_res_id_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4009 for (i = 0; i < 4; i++)
4010 offset=lustre_dissect_element_ldlm_res_id_name_(tvb, offset, pinfo, tree);
4018 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_)
4020 proto_item *item = NULL;
4021 proto_tree *tree = NULL;
4029 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4030 tree = proto_item_add_subtree(item, ett_lustre_ldlm_res_id);
4033 offset=lustre_dissect_element_ldlm_res_id_name(tvb, offset, pinfo, tree);
4036 proto_item_set_len(item, offset-old_offset);
4043 /* IDL: LCK_MINMODE=0, */
4044 /* IDL: LCK_EX=1, */
4045 /* IDL: LCK_PW=2, */
4046 /* IDL: LCK_PR=4, */
4047 /* IDL: LCK_CW=8, */
4048 /* IDL: LCK_CR=16, */
4049 /* IDL: LCK_NL=32, */
4050 /* IDL: LCK_GROUP=64, */
4051 /* IDL: LCK_MAXMODE, */
4055 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_)
4057 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
4063 /* IDL: LDLM_PLAIN=10, */
4064 /* IDL: LDLM_EXTENT=11, */
4065 /* IDL: LDLM_FLOCK=12, */
4066 /* IDL: LDLM_IBITS=13, */
4067 /* IDL: LDLM_MAX_TYPE, */
4071 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_)
4073 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
4077 /* IDL: struct ldlm_extent { */
4078 /* IDL: uint64 start; */
4079 /* IDL: uint64 end; */
4080 /* IDL: uint64 gid; */
4084 lustre_dissect_element_ldlm_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4086 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_start);
4092 lustre_dissect_element_ldlm_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4094 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_end);
4100 lustre_dissect_element_ldlm_extent_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4102 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_gid);
4108 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_)
4110 proto_item *item = NULL;
4111 proto_tree *tree = NULL;
4119 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4120 tree = proto_item_add_subtree(item, ett_lustre_ldlm_extent);
4123 offset=lustre_dissect_element_ldlm_extent_start(tvb, offset, pinfo, tree);
4125 offset=lustre_dissect_element_ldlm_extent_end(tvb, offset, pinfo, tree);
4127 offset=lustre_dissect_element_ldlm_extent_gid(tvb, offset, pinfo, tree);
4130 proto_item_set_len(item, offset-old_offset);
4135 /* IDL: struct ldlm_inodebits { */
4136 /* IDL: uint64 bits; */
4140 lustre_dissect_element_ldlm_inodebits_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4142 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_inodebits_bits);
4148 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_)
4150 proto_item *item = NULL;
4151 proto_tree *tree = NULL;
4159 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4160 tree = proto_item_add_subtree(item, ett_lustre_ldlm_inodebits);
4163 offset=lustre_dissect_element_ldlm_inodebits_bits(tvb, offset, pinfo, tree);
4166 proto_item_set_len(item, offset-old_offset);
4171 /* IDL: struct ldlm_flock { */
4172 /* IDL: uint64 start; */
4173 /* IDL: uint64 end; */
4174 /* IDL: uint64 blocking_export; */
4175 /* IDL: uint32 blocking_pid; */
4176 /* IDL: uint32 pid; */
4180 lustre_dissect_element_ldlm_flock_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4182 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_start);
4188 lustre_dissect_element_ldlm_flock_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4190 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_end);
4196 lustre_dissect_element_ldlm_flock_blocking_export(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4198 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_export);
4204 lustre_dissect_element_ldlm_flock_blocking_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4206 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_pid);
4212 lustre_dissect_element_ldlm_flock_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4214 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_pid);
4220 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_)
4222 proto_item *item = NULL;
4223 proto_tree *tree = NULL;
4231 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4232 tree = proto_item_add_subtree(item, ett_lustre_ldlm_flock);
4235 offset=lustre_dissect_element_ldlm_flock_start(tvb, offset, pinfo, tree);
4237 offset=lustre_dissect_element_ldlm_flock_end(tvb, offset, pinfo, tree);
4239 offset=lustre_dissect_element_ldlm_flock_blocking_export(tvb, offset, pinfo, tree);
4241 offset=lustre_dissect_element_ldlm_flock_blocking_pid(tvb, offset, pinfo, tree);
4243 offset=lustre_dissect_element_ldlm_flock_pid(tvb, offset, pinfo, tree);
4246 proto_item_set_len(item, offset-old_offset);
4251 /* IDL: struct ldlm_intent { */
4252 /* IDL: uint64 opc; */
4256 lustre_dissect_element_ldlm_intent_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4259 /* this opcode is like a flag*/
4260 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_open );
4261 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_creat );
4262 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_readdir );
4263 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getattr );
4264 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_lookup );
4265 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_unlink );
4266 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getxattr);
4267 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_exec );
4268 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_pin );
4269 opcode = tvb_get_letohl(tvb,offset);
4271 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, "[ intent :");
4272 if(opcode & IT_OPEN ){
4273 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " open");
4274 proto_item_append_text(tree, " open" );
4276 if(opcode & IT_CREAT ){
4277 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " create");
4278 proto_item_append_text(tree, " create" );
4280 if(opcode & IT_READDIR ){
4281 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " readdir");
4282 proto_item_append_text(tree, " readdir" );
4284 if(opcode & IT_GETATTR ){
4285 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getattr");
4286 proto_item_append_text(tree, " getattr" );
4288 if(opcode & IT_LOOKUP ){
4289 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " lookup");
4290 proto_item_append_text(tree, " lookup" );
4292 if(opcode & IT_UNLINK ){
4293 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " unlink");
4294 proto_item_append_text(tree, " unlink" );
4296 if(opcode & IT_GETXATTR){
4297 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getxattr");
4298 proto_item_append_text(tree, " getxattr" );
4300 if(opcode & IT_EXEC ){
4301 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " exec");
4302 proto_item_append_text(tree, " exec" );
4304 if(opcode & IT_PIN ){
4305 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " pin");
4306 proto_item_append_text(tree, " pin" );
4309 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " ]");
4315 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_)
4317 // proto_item *item = NULL;
4318 //proto_tree *tree = NULL;
4321 proto_item * opcode_item = NULL;
4322 proto_tree * opcode_tree = NULL;
4325 // if (parent_tree) {
4326 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4327 // tree = proto_item_add_subtree(item, ett_lustre_ldlm_intent);
4328 // //tree = parent_tree; /* TODO : !!!!!!!!!!!!!!! ATTENTIon à revoir,
4329 // //fait rapidement pour ne pas avoir le subtree */
4333 intent_opc = tvb_get_letoh64(tvb,offset);
4335 opcode_item = proto_tree_add_item(parent_tree, hf_lustre_ldlm_intent_opc, tvb, offset, 8, TRUE);
4336 opcode_tree = proto_item_add_subtree(opcode_item, ett_lustre_ldlm_intent_opc);
4339 offset=lustre_dissect_element_ldlm_intent_opc(tvb, offset, pinfo, opcode_tree);
4341 offset=ldlm_opcode_process(tvb, offset, pinfo, parent_tree, intent_opc);
4348 /* IDL: struct ldlm_resource_desc { */
4349 /* IDL: ldlm_type_t lr_type; */
4350 /* IDL: uint32 lr_padding; */
4351 /* IDL: struct ldlm_res_id { */
4352 /* IDL: } lr_name; */
4356 lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4358 /* offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);*/
4359 offset=lustre_dissect_enum_ldlm_type_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);
4364 lustre_dissect_element_ldlm_resource_desc_lr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4366 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_padding);
4372 lustre_dissect_element_ldlm_resource_desc_lr_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4374 offset=lustre_dissect_struct_ldlm_res_id(tvb,offset,pinfo,tree,hf_lustre_ldlm_resource_desc_lr_name);
4379 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_)
4381 proto_item *item = NULL;
4382 proto_tree *tree = NULL;
4390 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4391 tree = proto_item_add_subtree(item, ett_lustre_ldlm_resource_desc);
4394 offset=lustre_dissect_element_ldlm_resource_desc_lr_type(tvb, offset, pinfo, tree);
4396 offset=lustre_dissect_element_ldlm_resource_desc_lr_padding(tvb, offset, pinfo, tree);
4398 offset=lustre_dissect_element_ldlm_resource_desc_lr_name(tvb, offset, pinfo, tree);
4401 proto_item_set_len(item, offset-old_offset);
4407 /* IDL: struct ldlm_lock_desc { */
4408 /* IDL: struct ldlm_resource_desc { */
4409 /* IDL: } l_resource; */
4410 /* IDL: ldlm_mode_t l_req_mode; */
4411 /* IDL: ldlm_mode_t l_granted_mode; */
4412 /* IDL: ldlm_policy_data_t l_policy_data; */
4416 lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4418 offset=lustre_dissect_struct_ldlm_resource_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_resource);
4423 lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4425 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_req_mode);
4431 lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4433 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_granted_mode);
4439 lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4442 guint32 lr_type; /* type of the lock */
4444 lr_type = tvb_get_letohl(tvb,offset - 48 ); /* TODO : find another way that using -48 */
4446 /* this section must be check with lustre code, possible mistake here */
4450 offset=lustre_dissect_struct_ldlm_flock(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4453 offset= lustre_dissect_struct_ldlm_extent(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4454 /* add an extra padding 8 bytes */
4455 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4458 offset=lustre_dissect_struct_ldlm_inodebits(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4459 /* add an extra padding 24 bytes */
4460 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4461 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4462 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);
4468 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4475 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_)
4477 proto_item *item = NULL;
4478 proto_tree *tree = NULL;
4481 guint32 lock_req_mode;
4487 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4488 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_desc);
4491 offset=lustre_dissect_element_ldlm_lock_desc_l_resource(tvb, offset, pinfo, tree);
4493 lock_req_mode = tvb_get_letohl(tvb,offset);
4495 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_t_vals, "Unknown lock"));
4497 offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
4499 offset=lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvb, offset, pinfo, tree);
4501 offset=lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvb, offset, pinfo, tree);
4504 proto_item_set_len(item, offset-old_offset);
4510 /* IDL: struct ldlm_request { */
4511 /* IDL: uint32 lock_flags; */
4512 /* IDL: uint32 lock_count; */
4513 /* IDL: struct ldlm_lock_desc { */
4514 /* IDL: } lock_desc; */
4515 /* IDL: struct lustre_handle { */
4516 /* IDL: } lock_handle[2]; */
4522 lustre_dissect_element_ldlm_request_lock_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4524 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_count);
4530 lustre_dissect_element_ldlm_request_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4532 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_desc);
4539 lustre_dissect_element_ldlm_request_lock_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4541 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4542 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4544 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_handle);
4549 lustre_dissect_element_ldlm_request_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4552 for (i = 0; i < 2; i++)
4553 offset=lustre_dissect_element_ldlm_request_lock_handle_(tvb, offset, pinfo, tree);
4559 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_)
4561 proto_item *item = NULL;
4562 proto_tree *tree = NULL;
4570 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4571 tree = proto_item_add_subtree(item, ett_lustre_ldlm_request);
4574 lock_flag = tvb_get_letohl(tvb,offset);
4575 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_flags);
4577 offset=lustre_dissect_element_ldlm_request_lock_count(tvb, offset, pinfo, tree);
4579 /* ldlm_type = (EXTENT, PLAIN, ou IBITS) */
4580 ldlm_type = tvb_get_letohl(tvb,offset);
4581 offset=lustre_dissect_element_ldlm_request_lock_desc(tvb, offset, pinfo, tree);
4582 offset=lustre_dissect_element_ldlm_request_lock_handle(tvb, offset, pinfo, tree);
4584 proto_item_set_len(item, offset-old_offset);
4592 /* IDL: struct ldlm_reply { */
4593 /* IDL: uint32 lock_flags; */
4594 /* IDL: uint32 lock_padding; */
4595 /* IDL: struct ldlm_lock_desc { */
4596 /* IDL: } lock_desc; */
4597 /* IDL: struct lustre_handle { */
4598 /* IDL: } lock_handle; */
4599 /* IDL: uint64 lock_policy_res1; */
4600 /* IDL: uint64 lock_policy_res2; */
4605 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_)
4607 proto_item *item = NULL;
4608 proto_tree *tree = NULL;
4611 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
4612 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_flags);
4614 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_ast_discard_data);
4615 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_deny_on_contention);
4616 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_done );
4617 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_ast );
4618 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_atomic_cb );
4619 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cleaned );
4620 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cp_reqd );
4621 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel_on_block );
4622 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_lru );
4623 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_kms_ignore );
4624 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lvb_ready );
4625 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_test_lock );
4626 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_nowait );
4627 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_timeout );
4628 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_discard_data );
4629 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_warn );
4630 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local );
4631 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_canceling );
4632 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_has_intent );
4633 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_failed );
4634 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local_only );
4635 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_intent_only );
4636 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_replay );
4637 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel );
4638 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_wait_noreproc );
4639 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_ast_sent );
4640 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cbpending );
4641 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_wait );
4642 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_conv );
4643 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_granted );
4644 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lock_changed );
4649 lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4651 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_padding);
4657 lustre_dissect_element_ldlm_reply_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4659 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_desc);
4664 lustre_dissect_element_ldlm_reply_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4666 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4667 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4669 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_handle);
4674 lustre_dissect_element_ldlm_reply_lock_policy_res1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4676 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res1);
4682 lustre_dissect_element_ldlm_reply_lock_policy_res2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4684 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res2);
4690 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_ )
4692 proto_item *item = NULL;
4693 proto_tree *tree = NULL;
4701 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4702 tree = proto_item_add_subtree(item, ett_lustre_ldlm_reply);
4705 lock_flag = tvb_get_letohl(tvb,offset);
4706 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_flags);
4708 offset=lustre_dissect_element_ldlm_reply_lock_padding(tvb, offset, pinfo, tree);
4710 if (ldlm_type != NULL)
4711 *ldlm_type = tvb_get_letohl(tvb,offset);
4712 offset=lustre_dissect_element_ldlm_reply_lock_desc(tvb, offset, pinfo, tree);
4714 offset=lustre_dissect_element_ldlm_reply_lock_handle(tvb, offset, pinfo, tree);
4716 offset=lustre_dissect_element_ldlm_reply_lock_policy_res1(tvb, offset, pinfo, tree);
4718 offset=lustre_dissect_element_ldlm_reply_lock_policy_res2(tvb, offset, pinfo, tree);
4720 proto_item_set_len(item, offset-old_offset);
4728 /* IDL: struct mgs_send_param { */
4729 /* IDL: uint8 mgs_param[1024]; */
4735 lustre_dissect_element_mgs_send_param_mgs_param_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4737 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_send_param_mgs_param);
4743 lustre_dissect_element_mgs_send_param_mgs_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4746 for (i = 0; i < 1024; i++)
4747 offset=lustre_dissect_element_mgs_send_param_mgs_param_(tvb, offset, pinfo, tree);
4753 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_)
4755 proto_item *item = NULL;
4756 proto_tree *tree = NULL;
4763 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4764 tree = proto_item_add_subtree(item, ett_lustre_mgs_send_param);
4767 offset=lustre_dissect_element_mgs_send_param_mgs_param(tvb, offset, pinfo, tree);
4770 proto_item_set_len(item, offset-old_offset);
4775 /* IDL: struct mgs_target_info { */
4776 /* IDL: uint32 mti_lustre_ver; */
4777 /* IDL: uint32 mti_stripe_index; */
4778 /* IDL: uint32 mti_config_ver; */
4779 /* IDL: uint32 mti_flags; */
4780 /* IDL: uint32 mti_nid_count; */
4781 /* IDL: uint32 padding; */
4782 /* IDL: uint8 mti_fsname[64]; */
4783 /* IDL: uint8 mti_svname[64]; */
4784 /* IDL: uint8 mti_uuid[40]; */
4785 /* IDL: uint64 mti_nids[32]; */
4786 /* IDL: uint8 mti_params[4096]; */
4790 lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4792 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_lustre_ver);
4798 lustre_dissect_element_mgs_target_info_mti_stripe_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4800 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_stripe_index);
4806 lustre_dissect_element_mgs_target_info_mti_config_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4808 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_config_ver);
4814 lustre_dissect_element_mgs_target_info_mti_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4816 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_flags);
4822 lustre_dissect_element_mgs_target_info_mti_nid_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4824 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nid_count);
4830 lustre_dissect_element_mgs_target_info_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4832 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_padding);
4838 lustre_dissect_element_mgs_target_info_mti_fsname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4840 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_fsname);
4846 lustre_dissect_element_mgs_target_info_mti_fsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4849 for (i = 0; i < 64; i++)
4850 offset=lustre_dissect_element_mgs_target_info_mti_fsname_(tvb, offset, pinfo, tree);
4860 lustre_dissect_element_mgs_target_info_mti_svname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4862 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_svname);
4868 lustre_dissect_element_mgs_target_info_mti_svname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4871 for (i = 0; i < 64; i++)
4872 offset=lustre_dissect_element_mgs_target_info_mti_svname_(tvb, offset, pinfo, tree);
4878 lustre_dissect_element_mgs_target_info_mti_uuid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4880 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_uuid);
4886 lustre_dissect_element_mgs_target_info_mti_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4889 for (i = 0; i < 40; i++)
4890 offset=lustre_dissect_element_mgs_target_info_mti_uuid_(tvb, offset, pinfo, tree);
4900 lustre_dissect_element_mgs_target_info_mti_nids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4902 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nids);
4908 lustre_dissect_element_mgs_target_info_mti_nids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4911 for (i = 0; i < 32; i++)
4912 offset=lustre_dissect_element_mgs_target_info_mti_nids_(tvb, offset, pinfo, tree);
4920 lustre_dissect_element_mgs_target_info_mti_params_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4922 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_params);
4928 lustre_dissect_element_mgs_target_info_mti_params(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4931 for (i = 0; i < 4096; i++)
4932 offset=lustre_dissect_element_mgs_target_info_mti_params_(tvb, offset, pinfo, tree);
4938 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_)
4940 proto_item *item = NULL;
4941 proto_tree *tree = NULL;
4949 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4950 tree = proto_item_add_subtree(item, ett_lustre_mgs_target_info);
4953 offset=lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvb, offset, pinfo, tree);
4955 offset=lustre_dissect_element_mgs_target_info_mti_stripe_index(tvb, offset, pinfo, tree);
4957 offset=lustre_dissect_element_mgs_target_info_mti_config_ver(tvb, offset, pinfo, tree);
4959 offset=lustre_dissect_element_mgs_target_info_mti_flags(tvb, offset, pinfo, tree);
4961 offset=lustre_dissect_element_mgs_target_info_mti_nid_count(tvb, offset, pinfo, tree);
4963 offset=lustre_dissect_element_mgs_target_info_padding(tvb, offset, pinfo, tree);
4965 offset=lustre_dissect_element_mgs_target_info_mti_fsname(tvb, offset, pinfo, tree);
4967 offset=lustre_dissect_element_mgs_target_info_mti_svname(tvb, offset, pinfo, tree);
4969 offset=lustre_dissect_element_mgs_target_info_mti_uuid(tvb, offset, pinfo, tree);
4971 offset=lustre_dissect_element_mgs_target_info_mti_nids(tvb, offset, pinfo, tree);
4973 offset=lustre_dissect_element_mgs_target_info_mti_params(tvb, offset, pinfo, tree);
4976 proto_item_set_len(item, offset-old_offset);
4981 /* IDL: struct cfg_marker { */
4982 /* IDL: uint32 cm_step; */
4983 /* IDL: uint32 cm_flags; */
4984 /* IDL: uint32 cm_vers; */
4985 /* IDL: uint32 padding; */
4986 /* IDL: time_t cm_createtime; */
4987 /* IDL: time_t cm_canceltime; */
4988 /* IDL: uint8 cm_tgtname[64]; */
4989 /* IDL: uint8 cm_comment[64]; */
4993 lustre_dissect_element_cfg_marker_cm_step(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4995 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_step);
5001 lustre_dissect_element_cfg_marker_cm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5003 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_flags);
5009 lustre_dissect_element_cfg_marker_cm_vers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5011 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_vers);
5017 lustre_dissect_element_cfg_marker_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5019 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_padding);
5025 lustre_dissect_element_cfg_marker_cm_createtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5027 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_createtime );
5028 /*g_print("function lustre_dissect_element_cfg_marker_cm_createtime don't work\n");*/
5033 lustre_dissect_element_cfg_marker_cm_canceltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5035 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_canceltime);
5037 /*g_print("element_cfg_marker_cm_canceltime\n");*/
5044 lustre_dissect_element_cfg_marker_cm_tgtname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5046 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_tgtname);
5052 lustre_dissect_element_cfg_marker_cm_tgtname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5055 for (i = 0; i < 64; i++)
5056 offset=lustre_dissect_element_cfg_marker_cm_tgtname_(tvb, offset, pinfo, tree);
5064 lustre_dissect_element_cfg_marker_cm_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5066 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_comment);
5072 lustre_dissect_element_cfg_marker_cm_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5075 for (i = 0; i < 64; i++)
5076 offset=lustre_dissect_element_cfg_marker_cm_comment_(tvb, offset, pinfo, tree);
5082 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_)
5084 proto_item *item = NULL;
5085 proto_tree *tree = NULL;
5093 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5094 tree = proto_item_add_subtree(item, ett_lustre_cfg_marker);
5097 offset=lustre_dissect_element_cfg_marker_cm_step(tvb, offset, pinfo, tree);
5099 offset=lustre_dissect_element_cfg_marker_cm_flags(tvb, offset, pinfo, tree);
5101 offset=lustre_dissect_element_cfg_marker_cm_vers(tvb, offset, pinfo, tree);
5103 offset=lustre_dissect_element_cfg_marker_padding(tvb, offset, pinfo, tree);
5105 offset=lustre_dissect_element_cfg_marker_cm_createtime(tvb, offset, pinfo, tree);
5107 offset=lustre_dissect_element_cfg_marker_cm_canceltime(tvb, offset, pinfo, tree);
5109 offset=lustre_dissect_element_cfg_marker_cm_tgtname(tvb, offset, pinfo, tree);
5111 offset=lustre_dissect_element_cfg_marker_cm_comment(tvb, offset, pinfo, tree);
5114 proto_item_set_len(item, offset-old_offset);
5121 /* IDL: struct llog_logid { */
5122 /* IDL: uint64 lgl_oid; */
5123 /* IDL: uint64 lgl_ogr; */
5124 /* IDL: uint32 lgl_ogen; */
5128 lustre_dissect_element_llog_logid_lgl_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5130 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oid);
5136 lustre_dissect_element_llog_logid_lgl_ogr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5138 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogr);
5144 lustre_dissect_element_llog_logid_lgl_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5146 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogen);
5152 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_)
5154 proto_item *item = NULL;
5155 proto_tree *tree = NULL;
5163 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5164 tree = proto_item_add_subtree(item, ett_lustre_llog_logid);
5167 offset=lustre_dissect_element_llog_logid_lgl_oid(tvb, offset, pinfo, tree);
5169 offset=lustre_dissect_element_llog_logid_lgl_ogr(tvb, offset, pinfo, tree);
5171 offset=lustre_dissect_element_llog_logid_lgl_ogen(tvb, offset, pinfo, tree);
5174 proto_item_set_len(item, offset-old_offset);
5179 /* I don't know when this structure is used on network */
5180 /* IDL: struct llog_catid { */
5181 /* IDL: struct llog_logid { */
5182 /* IDL: } lci_logid; */
5183 /* IDL: uint32 lci_padding1; */
5184 /* IDL: uint32 lci_padding2; */
5185 /* IDL: uint32 lci_padding3; */
5189 lustre_dissect_element_llog_catid_lci_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5191 //offset=lustre_dissect_struct_HASH(0x85cc76c)(tvb,offset,pinfo,tree,hf_lustre_llog_catid_lci_logid);
5193 /*g_print("llog_catid_lci_logid bug\n");*/
5198 lustre_dissect_element_llog_catid_lci_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5200 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding1);
5206 lustre_dissect_element_llog_catid_lci_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5208 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding2);
5214 lustre_dissect_element_llog_catid_lci_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5216 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding3);
5222 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_)
5224 proto_item *item = NULL;
5225 proto_tree *tree = NULL;
5233 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5234 tree = proto_item_add_subtree(item, ett_lustre_llog_catid);
5237 offset=lustre_dissect_element_llog_catid_lci_logid(tvb, offset, pinfo, tree);
5239 offset=lustre_dissect_element_llog_catid_lci_padding1(tvb, offset, pinfo, tree);
5241 offset=lustre_dissect_element_llog_catid_lci_padding2(tvb, offset, pinfo, tree);
5243 offset=lustre_dissect_element_llog_catid_lci_padding3(tvb, offset, pinfo, tree);
5246 proto_item_set_len(item, offset-old_offset);
5251 /* IDL: struct llog_rec_hdr { */
5252 /* IDL: uint32 lrh_len; */
5253 /* IDL: uint32 lrh_index; */
5254 /* IDL: uint32 lrh_type; */
5255 /* IDL: uint32 padding; */
5259 lustre_dissect_element_llog_rec_hdr_lrh_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5261 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_len);
5267 lustre_dissect_element_llog_rec_hdr_lrh_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5269 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_index);
5275 lustre_dissect_element_llog_rec_hdr_lrh_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5277 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_type);
5283 lustre_dissect_element_llog_rec_hdr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5285 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_padding);
5291 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_)
5293 proto_item *item = NULL;
5294 proto_tree *tree = NULL;
5302 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5303 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_hdr);
5306 offset=lustre_dissect_element_llog_rec_hdr_lrh_len(tvb, offset, pinfo, tree);
5308 offset=lustre_dissect_element_llog_rec_hdr_lrh_index(tvb, offset, pinfo, tree);
5310 offset=lustre_dissect_element_llog_rec_hdr_lrh_type(tvb, offset, pinfo, tree);
5312 offset=lustre_dissect_element_llog_rec_hdr_padding(tvb, offset, pinfo, tree);
5315 proto_item_set_len(item, offset-old_offset);
5320 /* IDL: struct llog_rec_tail { */
5321 /* IDL: uint32 lrt_len; */
5322 /* IDL: uint32 lrt_index; */
5326 lustre_dissect_element_llog_rec_tail_lrt_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5328 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_len);
5334 lustre_dissect_element_llog_rec_tail_lrt_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5336 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_index);
5342 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_)
5344 proto_item *item = NULL;
5345 proto_tree *tree = NULL;
5353 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5354 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_tail);
5357 offset=lustre_dissect_element_llog_rec_tail_lrt_len(tvb, offset, pinfo, tree);
5359 offset=lustre_dissect_element_llog_rec_tail_lrt_index(tvb, offset, pinfo, tree);
5362 proto_item_set_len(item, offset-old_offset);
5367 /* IDL: struct llog_logid_rec { */
5368 /* IDL: struct llog_rec_hdr { */
5369 /* IDL: } lid_hdr; */
5370 /* IDL: struct llog_logid { */
5371 /* IDL: } lid_id; */
5372 /* IDL: uint32 padding1; */
5373 /* IDL: uint32 padding2; */
5374 /* IDL: uint32 padding3; */
5375 /* IDL: uint32 padding4; */
5376 /* IDL: uint32 padding5; */
5377 /* IDL: struct llog_rec_tail { */
5378 /* IDL: } lid_tail; */
5382 lustre_dissect_element_llog_logid_rec_lid_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5384 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_hdr);
5389 lustre_dissect_element_llog_logid_rec_lid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5391 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_id);
5396 lustre_dissect_element_llog_logid_rec_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5398 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding1);
5404 lustre_dissect_element_llog_logid_rec_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5406 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding2);
5412 lustre_dissect_element_llog_logid_rec_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5414 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding3);
5420 lustre_dissect_element_llog_logid_rec_padding4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5422 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding4);
5428 lustre_dissect_element_llog_logid_rec_padding5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5430 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding5);
5436 lustre_dissect_element_llog_logid_rec_lid_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5438 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_tail);
5443 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_)
5445 proto_item *item = NULL;
5446 proto_tree *tree = NULL;
5454 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5455 tree = proto_item_add_subtree(item, ett_lustre_llog_logid_rec);
5458 offset=lustre_dissect_element_llog_logid_rec_lid_hdr(tvb, offset, pinfo, tree);
5460 offset=lustre_dissect_element_llog_logid_rec_lid_id(tvb, offset, pinfo, tree);
5462 offset=lustre_dissect_element_llog_logid_rec_padding1(tvb, offset, pinfo, tree);
5464 offset=lustre_dissect_element_llog_logid_rec_padding2(tvb, offset, pinfo, tree);
5466 offset=lustre_dissect_element_llog_logid_rec_padding3(tvb, offset, pinfo, tree);
5468 offset=lustre_dissect_element_llog_logid_rec_padding4(tvb, offset, pinfo, tree);
5470 offset=lustre_dissect_element_llog_logid_rec_padding5(tvb, offset, pinfo, tree);
5472 offset=lustre_dissect_element_llog_logid_rec_lid_tail(tvb, offset, pinfo, tree);
5475 proto_item_set_len(item, offset-old_offset);
5480 /* IDL: struct llog_create_rec { */
5481 /* IDL: struct llog_rec_hdr { */
5482 /* IDL: } lcr_hdr; */
5483 /* IDL: struct ll_fid { */
5484 /* IDL: } lcr_fid; */
5485 /* IDL: uint64 lcr_oid; */
5486 /* IDL: uint32 lcr_ogen; */
5487 /* IDL: uint32 padding; */
5488 /* IDL: struct llog_rec_tail { */
5489 /* IDL: } lcr_tail; */
5493 lustre_dissect_element_llog_create_rec_lcr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5495 //offset=lustre_dissect_struct_HASH(0x85d56e0)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_hdr);
5501 lustre_dissect_element_llog_create_rec_lcr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5503 //offset=lustre_dissect_struct_HASH(0x85d5830)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_fid);
5509 lustre_dissect_element_llog_create_rec_lcr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5511 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_oid);
5517 lustre_dissect_element_llog_create_rec_lcr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5519 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_ogen);
5525 lustre_dissect_element_llog_create_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5527 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_padding);
5533 lustre_dissect_element_llog_create_rec_lcr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5535 //offset=lustre_dissect_struct_HASH(0x85d69dc)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_tail);
5541 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_)
5543 proto_item *item = NULL;
5544 proto_tree *tree = NULL;
5552 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5553 tree = proto_item_add_subtree(item, ett_lustre_llog_create_rec);
5556 offset=lustre_dissect_element_llog_create_rec_lcr_hdr(tvb, offset, pinfo, tree);
5558 offset=lustre_dissect_element_llog_create_rec_lcr_fid(tvb, offset, pinfo, tree);
5560 offset=lustre_dissect_element_llog_create_rec_lcr_oid(tvb, offset, pinfo, tree);
5562 offset=lustre_dissect_element_llog_create_rec_lcr_ogen(tvb, offset, pinfo, tree);
5564 offset=lustre_dissect_element_llog_create_rec_padding(tvb, offset, pinfo, tree);
5566 offset=lustre_dissect_element_llog_create_rec_lcr_tail(tvb, offset, pinfo, tree);
5569 proto_item_set_len(item, offset-old_offset);
5577 /* IDL: struct llog_orphan_rec { */
5578 /* IDL: struct llog_rec_hdr { */
5579 /* IDL: } lor_hdr; */
5580 /* IDL: uint64 lor_oid; */
5581 /* IDL: uint32 lor_ogen; */
5582 /* IDL: uint32 padding; */
5583 /* IDL: struct llog_rec_tail { */
5584 /* IDL: } lor_tail; */
5588 lustre_dissect_element_llog_orphan_rec_lor_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5590 //offset=lustre_dissect_struct_HASH(0x85d767c)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_hdr);
5596 lustre_dissect_element_llog_orphan_rec_lor_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5598 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_oid);
5604 lustre_dissect_element_llog_orphan_rec_lor_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5606 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_ogen);
5612 lustre_dissect_element_llog_orphan_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5614 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_padding);
5620 lustre_dissect_element_llog_orphan_rec_lor_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5622 //offset=lustre_dissect_struct_HASH(0x85d8550)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_tail);
5627 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_)
5629 proto_item *item = NULL;
5630 proto_tree *tree = NULL;
5638 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5639 tree = proto_item_add_subtree(item, ett_lustre_llog_orphan_rec);
5642 offset=lustre_dissect_element_llog_orphan_rec_lor_hdr(tvb, offset, pinfo, tree);
5644 offset=lustre_dissect_element_llog_orphan_rec_lor_oid(tvb, offset, pinfo, tree);
5646 offset=lustre_dissect_element_llog_orphan_rec_lor_ogen(tvb, offset, pinfo, tree);
5648 offset=lustre_dissect_element_llog_orphan_rec_padding(tvb, offset, pinfo, tree);
5650 offset=lustre_dissect_element_llog_orphan_rec_lor_tail(tvb, offset, pinfo, tree);
5653 proto_item_set_len(item, offset-old_offset);
5660 /* IDL: struct llog_unlink_rec { */
5661 /* IDL: struct llog_rec_hdr { */
5662 /* IDL: } lur_hdr; */
5663 /* IDL: uint64 lur_oid; */
5664 /* IDL: uint32 lur_ogen; */
5665 /* IDL: uint32 padding; */
5666 /* IDL: struct llog_rec_tail { */
5667 /* IDL: } lur_tail; */
5671 lustre_dissect_element_llog_unlink_rec_lur_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5673 //offset=lustre_dissect_struct_HASH(0x85d8730)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_hdr);
5678 lustre_dissect_element_llog_unlink_rec_lur_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5680 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_oid);
5686 lustre_dissect_element_llog_unlink_rec_lur_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5688 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_ogen);
5694 lustre_dissect_element_llog_unlink_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5696 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_padding);
5702 lustre_dissect_element_llog_unlink_rec_lur_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5704 //offset=lustre_dissect_struct_HASH(0x85d9664)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_tail);
5709 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_)
5711 proto_item *item = NULL;
5712 proto_tree *tree = NULL;
5720 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5721 tree = proto_item_add_subtree(item, ett_lustre_llog_unlink_rec);
5724 offset=lustre_dissect_element_llog_unlink_rec_lur_hdr(tvb, offset, pinfo, tree);
5726 offset=lustre_dissect_element_llog_unlink_rec_lur_oid(tvb, offset, pinfo, tree);
5728 offset=lustre_dissect_element_llog_unlink_rec_lur_ogen(tvb, offset, pinfo, tree);
5730 offset=lustre_dissect_element_llog_unlink_rec_padding(tvb, offset, pinfo, tree);
5732 offset=lustre_dissect_element_llog_unlink_rec_lur_tail(tvb, offset, pinfo, tree);
5735 proto_item_set_len(item, offset-old_offset);
5742 /* IDL: struct llog_setattr_rec { */
5743 /* IDL: struct llog_rec_hdr { */
5744 /* IDL: } lsr_hdr; */
5745 /* IDL: uint64 lsr_oid; */
5746 /* IDL: uint32 lsr_ogen; */
5747 /* IDL: uint32 lsr_uid; */
5748 /* IDL: uint32 lsr_gid; */
5749 /* IDL: uint32 padding; */
5750 /* IDL: struct llog_rec_tail { */
5751 /* IDL: } lsr_tail; */
5755 lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5757 //offset=lustre_dissect_struct_HASH(0x85da2f0)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_hdr);
5762 lustre_dissect_element_llog_setattr_rec_lsr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5764 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_oid);
5770 lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5772 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_ogen);
5778 lustre_dissect_element_llog_setattr_rec_lsr_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5780 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_uid);
5786 lustre_dissect_element_llog_setattr_rec_lsr_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5788 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_gid);
5794 lustre_dissect_element_llog_setattr_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5796 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_padding);
5802 lustre_dissect_element_llog_setattr_rec_lsr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5804 //offset=lustre_dissect_struct_HASH(0x85db3d4)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_tail);
5809 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_)
5811 proto_item *item = NULL;
5812 proto_tree *tree = NULL;
5820 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5821 tree = proto_item_add_subtree(item, ett_lustre_llog_setattr_rec);
5824 offset=lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvb, offset, pinfo, tree);
5826 offset=lustre_dissect_element_llog_setattr_rec_lsr_oid(tvb, offset, pinfo, tree);
5828 offset=lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvb, offset, pinfo, tree);
5830 offset=lustre_dissect_element_llog_setattr_rec_lsr_uid(tvb, offset, pinfo, tree);
5832 offset=lustre_dissect_element_llog_setattr_rec_lsr_gid(tvb, offset, pinfo, tree);
5834 offset=lustre_dissect_element_llog_setattr_rec_padding(tvb, offset, pinfo, tree);
5836 offset=lustre_dissect_element_llog_setattr_rec_lsr_tail(tvb, offset, pinfo, tree);
5839 proto_item_set_len(item, offset-old_offset);
5847 /* IDL: struct llog_size_change_rec { */
5848 /* IDL: struct llog_rec_hdr { */
5849 /* IDL: } lsc_hdr; */
5850 /* IDL: struct ll_fid { */
5851 /* IDL: } lsc_fid; */
5852 /* IDL: uint32 lsc_io_epoch; */
5853 /* IDL: uint32 padding; */
5854 /* IDL: struct llog_rec_tail { */
5855 /* IDL: } lsc_tail; */
5859 lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5861 //offset=lustre_dissect_struct_HASH(0x85dc458)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_hdr);
5866 lustre_dissect_element_llog_size_change_rec_lsc_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5868 //offset=lustre_dissect_struct_HASH(0x85dc5a8)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_fid);
5873 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_)
5875 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_lsc_io_epoch);
5881 lustre_dissect_element_llog_size_change_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5883 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_padding);
5889 lustre_dissect_element_llog_size_change_rec_lsc_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5891 //offset=lustre_dissect_struct_HASH(0x85dd384)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_tail);
5892 // TODO: to be corrected !
5897 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_)
5899 proto_item *item = NULL;
5900 proto_tree *tree = NULL;
5908 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5909 tree = proto_item_add_subtree(item, ett_lustre_llog_size_change_rec);
5912 offset=lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvb, offset, pinfo, tree);
5914 offset=lustre_dissect_element_llog_size_change_rec_lsc_fid(tvb, offset, pinfo, tree);
5916 offset=lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvb, offset, pinfo, tree);
5918 offset=lustre_dissect_element_llog_size_change_rec_padding(tvb, offset, pinfo, tree);
5920 offset=lustre_dissect_element_llog_size_change_rec_lsc_tail(tvb, offset, pinfo, tree);
5923 proto_item_set_len(item, offset-old_offset);
5931 /* IDL: struct llog_gen { */
5932 /* IDL: uint64 mnt_cnt; */
5933 /* IDL: uint64 conn_cnt; */
5937 lustre_dissect_element_llog_gen_mnt_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5939 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_mnt_cnt);
5945 lustre_dissect_element_llog_gen_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5947 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_conn_cnt);
5953 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_)
5955 proto_item *item = NULL;
5956 proto_tree *tree = NULL;
5964 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5965 tree = proto_item_add_subtree(item, ett_lustre_llog_gen);
5968 offset=lustre_dissect_element_llog_gen_mnt_cnt(tvb, offset, pinfo, tree);
5970 offset=lustre_dissect_element_llog_gen_conn_cnt(tvb, offset, pinfo, tree);
5973 proto_item_set_len(item, offset-old_offset);
5978 /* IDL: struct llog_gen_rec { */
5979 /* IDL: struct llog_rec_hdr { */
5980 /* IDL: } lgr_hdr; */
5981 /* IDL: struct llog_gen { */
5982 /* IDL: } lgr_gen; */
5983 /* IDL: struct llog_rec_tail { */
5984 /* IDL: } lgr_tail; */
5988 lustre_dissect_element_llog_gen_rec_lgr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5990 //offset=lustre_dissect_struct_HASH(0x85de2e4)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_hdr);
5991 // TODO: to be corrected !
5996 lustre_dissect_element_llog_gen_rec_lgr_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5998 //offset=lustre_dissect_struct_HASH(0x85de434)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_gen);
5999 // TODO: to be corrected !
6004 lustre_dissect_element_llog_gen_rec_lgr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6006 //offset=lustre_dissect_struct_HASH(0x85df3f8)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_tail);
6007 // TODO: to be corrected !
6012 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_)
6014 proto_item *item = NULL;
6015 proto_tree *tree = NULL;
6023 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6024 tree = proto_item_add_subtree(item, ett_lustre_llog_gen_rec);
6027 offset=lustre_dissect_element_llog_gen_rec_lgr_hdr(tvb, offset, pinfo, tree);
6029 offset=lustre_dissect_element_llog_gen_rec_lgr_gen(tvb, offset, pinfo, tree);
6031 offset=lustre_dissect_element_llog_gen_rec_lgr_tail(tvb, offset, pinfo, tree);
6034 proto_item_set_len(item, offset-old_offset);
6042 /* IDL: struct llog_log_hdr { */
6043 /* IDL: struct llog_rec_hdr { */
6044 /* IDL: } llh_hdr; */
6045 /* IDL: uint64 llh_timestamp; */
6046 /* IDL: uint32 llh_count; */
6047 /* IDL: uint32 llh_bitmap_offset; */
6048 /* IDL: uint32 llh_size; */
6049 /* IDL: uint32 llh_flags; */
6050 /* IDL: uint32 llh_cat_idx; */
6051 /* IDL: struct obd_uuid { */
6052 /* IDL: } llh_tgtuuid; */
6053 /* IDL: uint32 llh_reserved[1]; */
6054 /* IDL: uint32 llh_bitmap[2024]; */
6055 /* IDL: struct llog_rec_tail { */
6056 /* IDL: } llh_tail; */
6060 lustre_dissect_element_llog_log_hdr_llh_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6062 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_hdr);
6067 lustre_dissect_element_llog_log_hdr_llh_timestamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6070 ns.secs = tvb_get_letohl(tvb,offset);
6072 proto_tree_add_time(tree, hf_lustre_llog_log_hdr_llh_timestamp, tvb, offset, 8, &ns );
6078 lustre_dissect_element_llog_log_hdr_llh_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6080 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_count);
6086 lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6088 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap_offset);
6094 lustre_dissect_element_llog_log_hdr_llh_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6096 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_size);
6104 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_)
6106 proto_item *item = NULL;
6107 proto_tree *tree = NULL;
6110 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
6111 tree = proto_item_add_subtree(item, ett_lustre_llog_log_llh_flags);
6113 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_zap_when_empty);
6114 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_cat);
6115 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_play);
6122 lustre_dissect_element_llog_log_hdr_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6124 // offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6125 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6130 lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6132 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_cat_idx);
6138 lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6140 offset=lustre_dissect_struct_obd_uuid(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tgtuuid);
6145 lustre_dissect_element_llog_log_hdr_llh_reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6147 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_reserved);
6153 lustre_dissect_element_llog_log_hdr_llh_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6156 for (i = 0; i < 1; i++)
6157 offset=lustre_dissect_element_llog_log_hdr_llh_reserved_(tvb, offset, pinfo, tree);
6163 lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6165 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap);
6172 lustre_dissect_element_llog_log_hdr_llh_bitmap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6175 for (i = 0; i < 2024; i++)
6176 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvb, offset, pinfo, tree);
6184 lustre_dissect_element_llog_log_hdr_llh_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6186 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tail);
6191 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_)
6193 proto_item *item = NULL;
6194 proto_tree *tree = NULL;
6202 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6203 tree = proto_item_add_subtree(item, ett_lustre_llog_log_hdr);
6206 offset=lustre_dissect_element_llog_log_hdr_llh_hdr(tvb, offset, pinfo, tree);
6208 offset=lustre_dissect_element_llog_log_hdr_llh_timestamp(tvb, offset, pinfo, tree);
6210 offset=lustre_dissect_element_llog_log_hdr_llh_count(tvb, offset, pinfo, tree);
6212 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvb, offset, pinfo, tree);
6214 offset=lustre_dissect_element_llog_log_hdr_llh_size(tvb, offset, pinfo, tree);
6216 offset=lustre_dissect_element_llog_log_hdr_llh_flags(tvb, offset, pinfo, tree);
6218 offset=lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvb, offset, pinfo, tree);
6220 offset=lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvb, offset, pinfo, tree);
6222 offset=lustre_dissect_element_llog_log_hdr_llh_reserved(tvb, offset, pinfo, tree);
6224 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap(tvb, offset, pinfo, tree);
6226 offset=lustre_dissect_element_llog_log_hdr_llh_tail(tvb, offset, pinfo, tree);
6229 proto_item_set_len(item, offset-old_offset);
6237 /* IDL: struct llog_cookie { */
6238 /* IDL: struct llog_logid { */
6239 /* IDL: } lgc_lgl; */
6240 /* IDL: uint32 lgc_subsys; */
6241 /* IDL: uint32 lgc_index; */
6242 /* IDL: uint32 lgc_padding; */
6246 lustre_dissect_element_llog_cookie_lgc_lgl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6248 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_cookie_lgc_lgl);
6253 lustre_dissect_element_llog_cookie_lgc_subsys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6255 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_subsys);
6261 lustre_dissect_element_llog_cookie_lgc_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6263 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_index);
6269 lustre_dissect_element_llog_cookie_lgc_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6271 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_padding);
6277 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_)
6279 proto_item *item = NULL;
6280 proto_tree *tree = NULL;
6288 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6289 tree = proto_item_add_subtree(item, ett_lustre_llog_cookie);
6292 offset=lustre_dissect_element_llog_cookie_lgc_lgl(tvb, offset, pinfo, tree);
6294 offset=lustre_dissect_element_llog_cookie_lgc_subsys(tvb, offset, pinfo, tree);
6296 offset=lustre_dissect_element_llog_cookie_lgc_index(tvb, offset, pinfo, tree);
6298 offset=lustre_dissect_element_llog_cookie_lgc_padding(tvb, offset, pinfo, tree);
6301 proto_item_set_len(item, offset-old_offset);
6308 /* IDL: struct llogd_body { */
6309 /* IDL: struct llog_logid { */
6310 /* IDL: } lgd_logid; */
6311 /* IDL: uint32 lgd_ctxt_idx; */
6312 /* IDL: uint32 lgd_llh_flags; */
6313 /* IDL: uint32 lgd_index; */
6314 /* IDL: uint32 lgd_saved_index; */
6315 /* IDL: uint32 lgd_len; */
6316 /* IDL: uint64 lgd_cur_offset; */
6320 lustre_dissect_element_llogd_body_lgd_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6322 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llogd_body_lgd_logid);
6327 lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6329 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_ctxt_idx);
6335 lustre_dissect_element_llogd_body_lgd_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6337 //offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6339 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6345 lustre_dissect_element_llogd_body_lgd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6347 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_index);
6353 lustre_dissect_element_llogd_body_lgd_saved_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6355 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_saved_index);
6361 lustre_dissect_element_llogd_body_lgd_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6363 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_len);
6369 lustre_dissect_element_llogd_body_lgd_cur_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6371 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_cur_offset);
6377 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_)
6379 proto_item *item = NULL;
6380 proto_tree *tree = NULL;
6388 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6389 tree = proto_item_add_subtree(item, ett_lustre_llogd_body);
6392 offset=lustre_dissect_element_llogd_body_lgd_logid(tvb, offset, pinfo, tree);
6394 offset=lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvb, offset, pinfo, tree);
6396 offset=lustre_dissect_element_llogd_body_lgd_llh_flags(tvb, offset, pinfo, tree);
6398 offset=lustre_dissect_element_llogd_body_lgd_index(tvb, offset, pinfo, tree);
6400 offset=lustre_dissect_element_llogd_body_lgd_saved_index(tvb, offset, pinfo, tree);
6402 offset=lustre_dissect_element_llogd_body_lgd_len(tvb, offset, pinfo, tree);
6404 offset=lustre_dissect_element_llogd_body_lgd_cur_offset(tvb, offset, pinfo, tree);
6407 proto_item_set_len(item, offset-old_offset);
6413 /* TODO : find when this Structure appear on the wire */
6414 /* IDL: struct llogd_conn_body { */
6415 /* IDL: struct llog_gen { */
6416 /* IDL: } lgdc_gen; */
6417 /* IDL: struct llog_logid { */
6418 /* IDL: } lgdc_logid; */
6419 /* IDL: uint32 lgdc_ctxt_idx; */
6423 lustre_dissect_element_llogd_conn_body_lgdc_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6425 //offset=lustre_dissect_struct_HASH(0x85e6038)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_gen);
6430 lustre_dissect_element_llogd_conn_body_lgdc_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6432 //offset=lustre_dissect_struct_HASH(0x85e6188)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_logid);
6437 lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6439 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_conn_body_lgdc_ctxt_idx);
6445 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_)
6447 proto_item *item = NULL;
6448 proto_tree *tree = NULL;
6456 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6457 tree = proto_item_add_subtree(item, ett_lustre_llogd_conn_body);
6460 offset=lustre_dissect_element_llogd_conn_body_lgdc_gen(tvb, offset, pinfo, tree);
6462 offset=lustre_dissect_element_llogd_conn_body_lgdc_logid(tvb, offset, pinfo, tree);
6464 offset=lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvb, offset, pinfo, tree);
6467 proto_item_set_len(item, offset-old_offset);
6472 /* IDL: struct obdo { */
6473 /* IDL: uint64 o_valid; */
6474 /* IDL: uint64 o_id; */
6475 /* IDL: uint64 o_gr; */
6476 /* IDL: uint64 o_fid; */
6477 /* IDL: uint64 o_size; */
6478 /* IDL: uint64 o_mtime; */
6479 /* IDL: uint64 o_atime; */
6480 /* IDL: uint64 o_ctime; */
6481 /* IDL: uint64 o_blocks; */
6482 /* IDL: uint64 o_grant; */
6483 /* IDL: uint32 o_blksize; */
6484 /* IDL: uint32 o_mode; */
6485 /* IDL: uint32 o_uid; */
6486 /* IDL: uint32 o_gid; */
6487 /* IDL: uint32 o_flags; */
6488 /* IDL: uint32 o_nlink; */
6489 /* IDL: uint32 o_generation; */
6490 /* IDL: uint32 o_misc; */
6491 /* IDL: uint32 o_easize; */
6492 /* IDL: uint32 o_mds; */
6493 /* IDL: uint32 o_stripe_idx; */
6494 /* IDL: uint32 o_padding_1; */
6495 /* IDL: struct lustre_handle { */
6496 /* IDL: } o_handle; */
6497 /* IDL: struct llog_cookie { */
6498 /* IDL: } o_lcookie; */
6499 /* IDL: uint64 o_padding_2; */
6500 /* IDL: uint64 o_padding_3; */
6501 /* IDL: uint64 o_padding_4; */
6502 /* IDL: uint64 o_padding_5; */
6503 /* IDL: uint64 o_padding_6; */
6507 lustre_dissect_element_obdo_o_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6509 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_valid);
6515 lustre_dissect_element_obdo_o_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6517 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_id);
6523 lustre_dissect_element_obdo_o_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6525 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gr);
6531 lustre_dissect_element_obdo_o_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6533 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_fid);
6539 lustre_dissect_element_obdo_o_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6541 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_size);
6547 lustre_dissect_element_obdo_o_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6551 ns.secs = tvb_get_letohl(tvb,offset);
6553 proto_tree_add_time(tree, hf_lustre_obdo_o_mtime, tvb, offset, 8, &ns );
6559 lustre_dissect_element_obdo_o_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6563 ns.secs = tvb_get_letohl(tvb,offset);
6565 proto_tree_add_time(tree, hf_lustre_obdo_o_atime, tvb, offset, 8, &ns );
6572 lustre_dissect_element_obdo_o_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6576 ns.secs = tvb_get_letohl(tvb,offset);
6578 proto_tree_add_time(tree, hf_lustre_obdo_o_ctime, tvb, offset, 8, &ns );
6584 lustre_dissect_element_obdo_o_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6586 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blocks);
6592 lustre_dissect_element_obdo_o_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6594 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_grant);
6600 lustre_dissect_element_obdo_o_blksize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6602 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blksize);
6608 lustre_dissect_element_obdo_o_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6610 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mode);
6616 lustre_dissect_element_obdo_o_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6618 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid);
6624 lustre_dissect_element_obdo_o_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6626 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid);
6632 lustre_dissect_element_obdo_o_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6634 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_flags);
6635 /* TODO rajouter ça , faire une fonction générique qui s'occupe de tous les flags d'un tableau. */
6637 /*0x00000001 : "OBD_FL_INLINEDATA",*/
6638 /*0x00000002 : "OBD_FL_OBDMDEXISTS",*/
6639 /*0x00000004 : "OBD_FL_DELORPHAN",*/
6640 /*0x00000008 : "OBD_FL_NORPC",*/
6641 /*0x00000010 : "OBD_FL_IDONLY",*/
6642 /*0x00000020 : "OBD_FL_RECREATE_OBJS",*/
6643 /*0x00000040 : "OBD_FL_DEBUG_CHECK",*/
6644 /*0x00000100 : "OBD_FL_NO_USRQUOTA",*/
6645 /*0x00000200 : "OBD_FL_NO_GRPQUOTA",*/
6646 /*0x00000400 : "OBD_FL_CREATE_CROW",*/
6647 /*0x00000800 : "OBD_FL_TRUNCLOCK",*/
6653 lustre_dissect_element_obdo_o_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6655 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_nlink);
6661 lustre_dissect_element_obdo_o_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6663 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_generation);
6669 lustre_dissect_element_obdo_o_misc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6671 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_misc);
6677 lustre_dissect_element_obdo_o_easize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6679 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_easize);
6685 lustre_dissect_element_obdo_o_mds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6687 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mds);
6693 lustre_dissect_element_obdo_o_stripe_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6695 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_stripe_idx);
6701 lustre_dissect_element_obdo_o_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6703 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_1);
6709 lustre_dissect_element_obdo_o_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6711 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_handle);
6716 lustre_dissect_element_obdo_o_lcookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6718 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_lcookie);
6723 lustre_dissect_element_obdo_o_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6725 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_2);
6731 lustre_dissect_element_obdo_o_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6733 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_3);
6739 lustre_dissect_element_obdo_o_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6741 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_4);
6747 lustre_dissect_element_obdo_o_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6749 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_5);
6755 lustre_dissect_element_obdo_o_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6757 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_6);
6763 lustre_dissect_struct_obdo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6765 proto_item *item = NULL;
6766 proto_tree *tree = NULL;
6774 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6775 tree = proto_item_add_subtree(item, ett_lustre_obdo);
6778 offset=lustre_dissect_element_obdo_o_valid(tvb, offset, pinfo, tree);
6780 offset=lustre_dissect_element_obdo_o_id(tvb, offset, pinfo, tree);
6782 offset=lustre_dissect_element_obdo_o_gr(tvb, offset, pinfo, tree);
6784 offset=lustre_dissect_element_obdo_o_fid(tvb, offset, pinfo, tree);
6786 offset=lustre_dissect_element_obdo_o_size(tvb, offset, pinfo, tree);
6788 offset=lustre_dissect_element_obdo_o_mtime(tvb, offset, pinfo, tree);
6790 offset=lustre_dissect_element_obdo_o_atime(tvb, offset, pinfo, tree);
6792 offset=lustre_dissect_element_obdo_o_ctime(tvb, offset, pinfo, tree);
6794 offset=lustre_dissect_element_obdo_o_blocks(tvb, offset, pinfo, tree);
6796 offset=lustre_dissect_element_obdo_o_grant(tvb, offset, pinfo, tree);
6798 offset=lustre_dissect_element_obdo_o_blksize(tvb, offset, pinfo, tree);
6800 offset=lustre_dissect_element_obdo_o_mode(tvb, offset, pinfo, tree);
6802 offset=lustre_dissect_element_obdo_o_uid(tvb, offset, pinfo, tree);
6804 offset=lustre_dissect_element_obdo_o_gid(tvb, offset, pinfo, tree);
6806 offset=lustre_dissect_element_obdo_o_flags(tvb, offset, pinfo, tree);
6808 offset=lustre_dissect_element_obdo_o_nlink(tvb, offset, pinfo, tree);
6810 offset=lustre_dissect_element_obdo_o_generation(tvb, offset, pinfo, tree);
6812 offset=lustre_dissect_element_obdo_o_misc(tvb, offset, pinfo, tree);
6814 offset=lustre_dissect_element_obdo_o_easize(tvb, offset, pinfo, tree);
6816 offset=lustre_dissect_element_obdo_o_mds(tvb, offset, pinfo, tree);
6818 offset=lustre_dissect_element_obdo_o_stripe_idx(tvb, offset, pinfo, tree);
6820 offset=lustre_dissect_element_obdo_o_padding_1(tvb, offset, pinfo, tree);
6822 offset=lustre_dissect_element_obdo_o_handle(tvb, offset, pinfo, tree);
6824 offset=lustre_dissect_element_obdo_o_lcookie(tvb, offset, pinfo, tree);
6826 offset=lustre_dissect_element_obdo_o_padding_2(tvb, offset, pinfo, tree);
6828 offset=lustre_dissect_element_obdo_o_padding_3(tvb, offset, pinfo, tree);
6830 offset=lustre_dissect_element_obdo_o_padding_4(tvb, offset, pinfo, tree);
6832 offset=lustre_dissect_element_obdo_o_padding_5(tvb, offset, pinfo, tree);
6834 offset=lustre_dissect_element_obdo_o_padding_6(tvb, offset, pinfo, tree);
6837 proto_item_set_len(item, offset-old_offset);
6844 /* IDL: struct ost_body { */
6845 /* IDL: struct obdo { */
6850 lustre_dissect_element_ost_body_oa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6852 offset=lustre_dissect_struct_obdo(tvb,offset,pinfo,tree,hf_lustre_ost_body_oa);
6857 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_)
6859 proto_item *item = NULL;
6860 proto_tree *tree = NULL;
6868 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6869 tree = proto_item_add_subtree(item, ett_lustre_ost_body);
6872 offset=lustre_dissect_element_ost_body_oa(tvb, offset, pinfo, tree);
6875 proto_item_set_len(item, offset-old_offset);
6881 /* TODO : find when this Structure appear on the wire */
6882 /* IDL: struct qunit_data { */
6883 /* IDL: uint32 qd_id; */
6884 /* IDL: uint32 qd_flags; */
6885 /* IDL: uint64 qd_count; */
6886 /* IDL: uint64 qd_qunit; */
6887 /* IDL: uint64 padding; */
6891 lustre_dissect_element_qunit_data_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6893 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_id);
6899 lustre_dissect_element_qunit_data_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6901 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_flags);
6907 lustre_dissect_element_qunit_data_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6909 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_count);
6915 lustre_dissect_element_qunit_data_qd_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6917 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_qunit);
6923 lustre_dissect_element_qunit_data_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6925 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_padding);
6931 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_)
6933 proto_item *item = NULL;
6934 proto_tree *tree = NULL;
6942 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6943 tree = proto_item_add_subtree(item, ett_lustre_qunit_data);
6946 offset=lustre_dissect_element_qunit_data_qd_id(tvb, offset, pinfo, tree);
6948 offset=lustre_dissect_element_qunit_data_qd_flags(tvb, offset, pinfo, tree);
6950 offset=lustre_dissect_element_qunit_data_qd_count(tvb, offset, pinfo, tree);
6952 offset=lustre_dissect_element_qunit_data_qd_qunit(tvb, offset, pinfo, tree);
6954 offset=lustre_dissect_element_qunit_data_padding(tvb, offset, pinfo, tree);
6957 proto_item_set_len(item, offset-old_offset);
6962 /* TODO : find when this Structure appear on the wire */
6963 /* IDL: struct qunit_data_old2 { */
6964 /* IDL: uint32 qd_id; */
6965 /* IDL: uint32 qd_flags; */
6966 /* IDL: uint64 qd_count; */
6970 lustre_dissect_element_qunit_data_old2_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6972 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_id);
6978 lustre_dissect_element_qunit_data_old2_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6980 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_flags);
6986 lustre_dissect_element_qunit_data_old2_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6988 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_count);
6994 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_)
6996 proto_item *item = NULL;
6997 proto_tree *tree = NULL;
7005 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7006 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old2);
7009 offset=lustre_dissect_element_qunit_data_old2_qd_id(tvb, offset, pinfo, tree);
7011 offset=lustre_dissect_element_qunit_data_old2_qd_flags(tvb, offset, pinfo, tree);
7013 offset=lustre_dissect_element_qunit_data_old2_qd_count(tvb, offset, pinfo, tree);
7016 proto_item_set_len(item, offset-old_offset);
7021 /* TODO : find when this Structure appear on the wire */
7022 /* IDL: struct qunit_data_old { */
7023 /* IDL: uint32 qd_id; */
7024 /* IDL: uint32 qd_type; */
7025 /* IDL: uint32 qd_count; */
7026 /* IDL: uint32 qd_isblk; */
7030 lustre_dissect_element_qunit_data_old_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7032 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_id);
7038 lustre_dissect_element_qunit_data_old_qd_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7040 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_type);
7046 lustre_dissect_element_qunit_data_old_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7048 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_count);
7054 lustre_dissect_element_qunit_data_old_qd_isblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7056 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_isblk);
7062 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_)
7064 proto_item *item = NULL;
7065 proto_tree *tree = NULL;
7073 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7074 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old);
7077 offset=lustre_dissect_element_qunit_data_old_qd_id(tvb, offset, pinfo, tree);
7079 offset=lustre_dissect_element_qunit_data_old_qd_type(tvb, offset, pinfo, tree);
7081 offset=lustre_dissect_element_qunit_data_old_qd_count(tvb, offset, pinfo, tree);
7083 offset=lustre_dissect_element_qunit_data_old_qd_isblk(tvb, offset, pinfo, tree);
7086 proto_item_set_len(item, offset-old_offset);
7092 /* ------------------------------------------------------------------------- */
7094 * the length of the string is the current buflen
7095 * @tvb the packet buff
7096 * @offset the current offset
7099 * @hf_index : the corresponding header field
7100 * @buf_num : the corresponding bufnumber of the string (we use it to
7101 * determine the string length), must respect : 0<bufnum<=bufmax_in_paquet
7104 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)
7106 proto_item *item = NULL;
7113 // if (parent_tree) { item = proto_tree_add_item(parent_tree, hf_index, tvb,
7114 // offset, -1, TRUE); // tree = proto_item_add_subtree(item,
7117 if(buf_num+1>LUSTRE_BUFCOUNT)
7120 string_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7121 proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
7123 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " filename : %s", tvb_get_string(tvb,offset,string_len) );
7126 proto_item_set_len(item, offset-old_offset);
7127 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* after a string we must be aligned to 8 bytes. */
7133 /* ------------------------------------------------------------------------- */
7134 /* dissect raw data */
7136 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)
7138 proto_item *item = NULL;
7144 if(buf_num+1>LUSTRE_BUFCOUNT)
7147 data_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7148 proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
7151 proto_item_set_len(item, offset-old_offset);
7152 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* align on 8 bytes */
7156 /* ------------------------------------------------------------------------ */
7159 static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
7163 opcode = tvb_get_letohl(tvb,offset);
7167 /* [eadata][cookie_data][ldlm_request] */
7168 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7169 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7170 hf_lustre_ldlm_request) ;
7173 /* [rec_create][filename][tgt.. Ã 0 pour l'instant][ldlm_request] */
7174 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7175 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7176 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"*/
7177 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7178 hf_lustre_ldlm_request) ;
7181 /*[mds_rec_link][filename][ldlm_req] */
7182 offset=lustre_dissect_struct_mds_rec_link(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7183 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7184 hf_lustre_ldlm_request) ;
7185 /*TODO : need to be check*/
7187 case REINT_UNLINK : /* mds_unlink_unpack : [mds_rec_unlink][filename][ldlm_req] */
7188 /* [mds_rec_unlink][filename][ldlm_req][..]*/
7189 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
7190 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7191 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +2))) == 112) /* TODO : ugly .. but
7192 for now we have to do this */
7193 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
7195 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7198 case REINT_RENAME : /*mds_rename_unpack : [mds_rec_rename][filename source][filename target_name][ldlm_request] */
7199 offset=lustre_dissect_struct_mds_rec_rename(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7200 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+1);
7201 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_new_name, LUSTRE_REQ_REC_OFF+2);
7202 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7204 case REINT_OPEN : /* [rec_create][filename][eadata] */
7205 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7206 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7207 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); /* TODO : replace with hf_eadata */
7218 /* dissect a connect message */
7220 lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7222 /*TODO : add a cuuid and target uid */
7223 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7224 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7225 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
7226 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7231 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)
7236 case OST_REPLY: /* obsolete so nothing */
7239 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7242 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7244 case OST_READ: /* [OST_BODY][obd_ioobj][niobuf_remote] for request, [OST_BODY] for reply */
7245 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7246 if(pb_type==PTL_RPC_MSG_REQUEST){
7247 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7248 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_niobuf_remote);
7252 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo,
7253 tree, hf_lustre_ost_body) ; /* [ost_body] in both case */
7254 if(pb_type==PTL_RPC_MSG_REQUEST)
7256 for (i=0;i<tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+ 4*(LUSTRE_REQ_REC_OFF+1))/24;i++)
7257 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7258 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_obd_ioobj);
7260 if(pb_type==PTL_RPC_MSG_REPLY) /* niocount *[uint32], but niocount is in request message, so
7261 we use the bufcount */
7263 for (i=0;i<tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)-2;i++) /* -2 because we have already dissect 2 buffers : ptl + ost */
7264 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_nio);
7265 if (i & 1 ) /* if odd we add extra padding */
7266 offset=dissect_uint32(tvb, offset, pinfo, tree,
7267 hf_lustre_extra_padding);
7271 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7274 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7275 if(pb_type==PTL_RPC_MSG_REQUEST) /* [ost_body][-si buf- ldlm_request] */
7276 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +1))) != 0)
7277 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ost_body);
7278 /* TODO : test that */
7281 if(pb_type==PTL_RPC_MSG_REQUEST) /* [key] */
7283 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF+1);
7285 if (pb_type==PTL_RPC_MSG_REPLY)
7287 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF); /* val */
7292 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7293 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7294 if (pb_type==PTL_RPC_MSG_REPLY)
7295 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7297 case OST_DISCONNECT: /* [nothing] */
7299 case OST_PUNCH: /* [ost_body] */
7300 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7302 case OST_OPEN: /* [nothing] in the code maybee obsolete */
7304 case OST_CLOSE: /* [nothing] in the code maybee obsolete */
7306 case OST_STATFS: /* [obd_statfs] check that : TODO */
7307 if(LUSTRE_BUFCOUNT>=2)
7308 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7311 /*[ost_body] in both case */
7312 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7315 if(pb_type==PTL_RPC_MSG_REQUEST)
7317 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7318 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7320 /* if Key = "evict_by_nid" --> need to be process.. TODO */
7322 case OST_QUOTACHECK:
7323 if(pb_type==PTL_RPC_MSG_REQUEST)
7324 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7325 /* nothing in reply */
7328 /*[obd_quotactl in both case]*/
7329 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7330 case OST_QUOTA_ADJUST_QUNIT:
7331 /* [quota_adjust_qunit] in both case ? */
7332 offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
7339 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)
7342 case MDS_DISCONNECT:
7347 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7350 if(pb_type==PTL_RPC_MSG_REQUEST)
7352 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7353 /*if(reply) : [nothing]*/
7356 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7357 if(pb_type==PTL_RPC_MSG_REQUEST)
7358 /*[string_xattr_name]*/
7359 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+1);
7360 if(pb_type==PTL_RPC_MSG_REPLY)
7362 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+1);
7365 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7366 /* TODO [ something ??? ] */
7368 case MDS_GETATTR_NAME:
7369 if(pb_type==PTL_RPC_MSG_REQUEST)
7371 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7372 /*[nothing in reply]*/
7374 case MDS_DONE_WRITING:
7376 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7378 case MDS_PIN: /* repbody.. */
7380 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7384 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7387 case MDS_CLOSE: /* TODO : check the corresponding structure in lustre code */
7388 if(pb_type==PTL_RPC_MSG_REQUEST)
7389 { /* [mds_body] [lov_mds_md][log_cookie] */
7390 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7391 if(LUSTRE_BUFCOUNT>=3)
7392 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
7393 if(LUSTRE_BUFCOUNT>=4)
7394 if( tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7395 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7397 if(pb_type==PTL_RPC_MSG_REPLY)
7398 { /* [mds_body][md][cookie] TODO : check that (reread the code about shrink in lustre) */
7399 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7400 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0)
7401 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_md_data,LUSTRE_REQ_REC_OFF+1); /* key */
7402 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7403 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7408 if(pb_type==PTL_RPC_MSG_REPLY)
7410 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7411 /*in request : [nothing]*/
7415 /* [mds_body] but with some different interpration, need to modify the hf : TODO */
7416 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7420 /* the structure depend on the intent_opcode */
7421 if(pb_type==PTL_RPC_MSG_REQUEST)
7422 offset=reint_opcode_process(tvb, offset, pinfo, tree);
7423 if(pb_type==PTL_RPC_MSG_REPLY)
7425 /*[mds_body][??][llog_logid_rec] */
7426 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7427 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){
7428 /* OPEN, RENAME, and UNLINK */
7429 if(tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){ /* rec_unlink or rec_rename */
7430 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
7431 LUSTRE_REQ_REC_OFF+1); // replace by eadata TODO TODO //
7432 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*/
7433 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
7434 hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); // replace withe eadata TODO TODO //
7441 if(pb_type==PTL_RPC_MSG_REQUEST){
7443 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7444 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7445 //offset=add_extra_padding(tvb,offset,pinfo,tree);
7447 /*nothing en reply*/
7449 case MDS_QUOTACHECK:
7450 /* [obd_quotactl] */
7451 if(pb_type==PTL_RPC_MSG_REQUEST)
7452 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7455 /* [obd_quotactl] in both case*/
7456 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7459 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7460 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7461 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
7462 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7474 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)
7480 /*[ldlm_request] if we have one more buffer it's [intent_opcode] and the opcode give us the
7481 * corresponding intent structure [intent] */
7482 if(pb_type==PTL_RPC_MSG_REQUEST)
7484 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7485 if (LUSTRE_BUFCOUNT>=3)
7486 offset=lustre_dissect_struct_ldlm_intent(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent);
7488 if(pb_type==PTL_RPC_MSG_REPLY)
7493 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply,&ldlm_type) ;
7494 if(LUSTRE_BUFCOUNT>2 && (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*2) == 40))
7495 /* TODO :this code need to be check and test, the lustre corresponding code is'nt explicit, so
7496 * not sure to have this buffer, but in example it works fine
7498 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
7500 if(LUSTRE_BUFCOUNT>2)
7502 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7503 /*g_print("buflen_off+4*3 = %d", tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF));*/
7504 if(LUSTRE_BUFCOUNT>2 &&
7505 (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF) > 0))
7507 magic=tvb_get_letohl(tvb, offset); /* TODO : replace this with a macro */
7511 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
7514 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
7515 hf_lustre_extra_padding, LUSTRE_DLM_INTENT_REC_OFF);
7524 if(pb_type==PTL_RPC_MSG_REQUEST)
7526 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7527 if(pb_type==PTL_RPC_MSG_REPLY)
7529 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply, NULL) ;
7533 if(pb_type==PTL_RPC_MSG_REQUEST)
7535 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7536 /*[nothing en reply]*/
7539 case LDLM_BL_CALLBACK: /* TODO : check the corresponding code in lustre*/
7540 if(pb_type==PTL_RPC_MSG_REQUEST)
7542 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7545 case LDLM_CP_CALLBACK:
7546 if(pb_type==PTL_RPC_MSG_REQUEST){
7547 /*[ldlm_request] if the third buffer exist we have [lvb data] so it's [ost_lvb] : TODO :
7549 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7550 if(LUSTRE_BUFCOUNT>=3)
7551 offset=lustre_dissect_struct_ost_lvb(tvb,offset,pinfo,tree,hf_lustre_ost_lvb);
7553 /*reply : [nothing] */
7556 case LDLM_GL_CALLBACK:
7557 if(pb_type==PTL_RPC_MSG_REQUEST)
7559 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7561 if(pb_type==PTL_RPC_MSG_REPLY)
7562 /*reply : [ost_lvb] <-- need to be check*/
7563 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
7573 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)
7577 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7578 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7579 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
7580 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7582 case MGS_DISCONNECT :
7585 case MGS_EXCEPTION : /* node died, etc. */
7588 case MGS_TARGET_REG:
7589 /*[mgs_target_info], mgs_handler.c mgs_handle_target_reg() called whenever a target startup*/
7590 offset=lustre_dissect_struct_mgs_target_info(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info);
7592 case MGS_TARGET_DEL:
7596 /*[mgs_send_param], mgs_set_info_rpc()*/
7597 offset=lustre_dissect_struct_mgs_send_param(tvb,offset,pinfo,tree,hf_lustre_mgs_send_param);
7606 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)
7612 case OBD_LOG_CANCEL:
7615 case OBD_QC_CALLBACK:
7616 if(pb_type==PTL_RPC_MSG_REQUEST)
7617 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
7618 /*if (request) : [nothing]*/
7627 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)
7630 case LLOG_ORIGIN_HANDLE_CREATE : /* in handler.c */
7631 /*[llogd_body] (reply and request)*/
7632 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7633 if(pb_type==PTL_RPC_MSG_REQUEST) /*[filename] */
7634 if (LUSTRE_BUFCOUNT>2)
7635 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_name,
7636 LUSTRE_REQ_REC_OFF+1);
7638 case LLOG_ORIGIN_HANDLE_NEXT_BLOCK :/* in handler.c */
7639 /* [llogd_body][???]
7640 * the size of second buf is LLOG_CHKUNK_SIZE, so it's maybee only bulk data */
7641 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7642 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7643 LUSTRE_REQ_REC_OFF + 1 );
7645 case LLOG_ORIGIN_HANDLE_READ_HEADER:/* in handler.c */
7646 if(pb_type==PTL_RPC_MSG_REQUEST){
7647 /* [llogd_body][llog_log_hdr] */
7648 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7649 if(LUSTRE_BUFCOUNT>2)
7650 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
7651 hf_lustre_llogd_log_hdr);
7653 if(pb_type==PTL_RPC_MSG_REPLY) /* [llog_log_hdr] */
7654 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
7655 hf_lustre_llogd_log_hdr);
7657 case LLOG_ORIGIN_HANDLE_WRITE_REC : /* I think this is obsolete */
7660 case LLOG_ORIGIN_HANDLE_CLOSE :/* handler.c */
7663 case LLOG_ORIGIN_CONNECT : /* ost_handler.c */
7665 case LLOG_CATINFO : /*in handler.c */
7666 if(pb_type==PTL_RPC_MSG_REQUEST){
7667 /* [keyword][if keyword=config [char*] else [nothing]] */
7668 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_keyword,
7669 LUSTRE_REQ_REC_OFF);
7670 if(strcmp(tvb_get_string(tvb, LUSTRE_REQ_REC_OFF, tvb_get_letohl(tvb,
7671 LUSTRE_BUFLEN_OFF+4*LUSTRE_REQ_REC_OFF)), "config")==0) /* if(keyword ==
7673 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_client,
7674 LUSTRE_REQ_REC_OFF+1);
7676 if(pb_type==PTL_RPC_MSG_REPLY)
7677 /*[buf] sizeof = llog_chunk_size*/
7678 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7679 LUSTRE_REQ_REC_OFF + 1 );
7680 /* TODO TODO : check if it's note a catid */
7682 case LLOG_ORIGIN_HANDLE_PREV_BLOCK : /* in handler.c */
7683 /* [llogd_body] in both case */
7684 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7685 if(pb_type==PTL_RPC_MSG_REPLY)
7686 /*[buf] size of llog_chunk_size*/
7687 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
7688 LUSTRE_REQ_REC_OFF + 1 );
7690 case LLOG_ORIGIN_HANDLE_DESTROY : /* in handler.c */
7691 /*[llogd_body] in both case*/
7692 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
7701 /* process lustre opcode :
7702 check if opcode is in range_opcode, and call the corresponding opcode process function */
7704 lustre_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
7706 if (opc <= OST_LAST_OPC) /* OST opcodes */
7707 offset=lustre_ost_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7709 if ( (opc >= MDS_FIRST_OPC) && (opc < MDS_LAST_OPC )) /* MDS opcodes */
7710 offset=lustre_mds_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7712 if ( (opc >= LDLM_FIRST_OPC) && (opc < LDLM_LAST_OPC) ) /*LDLM Opcodes*/
7713 offset=lustre_ldlm_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7715 if( (opc>= MGS_FIRST_OPC) && (opc <= MGS_LAST_OPC)) /* MGS Opcodes */
7716 offset=lustre_mgs_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7718 if( (opc>= OBD_FIRST_OPC) && (opc<=OBD_LAST_OPC)) /* ODB Opcodes */
7719 offset=lustre_odb_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7721 if( (opc>=LLOG_FIRST_OPC) && (opc<=LLOG_LAST_OPC)) /* LLOG Opcodes */
7722 offset=lustre_llog_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
7727 /* ----------------------------------------------- */
7728 /* add an extra padding to be aligned to 8bytes */
7730 add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
7732 guint32 padding_len;
7734 padding_len = (8- offset%8)%8;
7736 proto_tree_add_item(tree, hf_lustre_extra_padding , tvb, offset, padding_len, TRUE);
7737 offset+=padding_len;
7741 /* ----------------------------------------------- */
7744 ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_)
7746 /* all corresponding code is in mdc_locks.c in function mdc_enqueue() */
7747 /* if 0x0003 we have CREAT + OPEN
7749 if (intent_opc & IT_OPEN) {
7750 /* mdc_intent_open_pack(), d'où [opcode][mdc_rec_create][name][eada] */
7751 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7752 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7753 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
7754 LUSTRE_DLM_INTENT_REC_OFF+2); /* TODO : replace hf with eada hf */
7757 if (intent_opc & IT_UNLINK){
7758 /* mdc_intent_unlink_pack(), d'où [opcode][mds_rec_unlink][name] */
7759 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
7760 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7762 if (intent_opc & IT_GETATTR){
7763 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
7764 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7765 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7768 if (intent_opc & IT_LOOKUP){
7769 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
7770 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7771 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
7778 /* ----------------------------------------------- */
7779 /* function to test if the packet is entirely dissected add BUG in PROTOCOL COL when it's not*/
7781 sanity_check(tvbuff_t *tvb, packet_info *pinfo, guint32 val_offset _U_)
7783 guint32 magic_number ;
7784 guint32 somme_buflen = 0 ;
7787 magic_number = tvb_get_letohl(tvb, 8);
7790 for (i=0;i<LUSTRE_BUFCOUNT;i++)
7791 somme_buflen += tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF +
7792 4 * i ) + (8- tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4 * i)%8)%8; /* we add the
7800 if(val_offset!=somme_buflen){
7801 /*g_print("somme_buflen=%d, val_offset = %d \n",somme_buflen,val_offset);*/
7802 if (check_col(pinfo->cinfo, COL_INFO)) {
7803 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
7810 /* IDL: struct lustre_msg_v1 { */
7811 /* IDL: struct lustre_handle { */
7812 /* IDL: } lm_handle; */
7813 /* IDL: uint32 lm_magic; */
7814 /* IDL: uint32 lm_type; */
7815 /* IDL: uint32 lm_version; */
7816 /* IDL: uint32 lm_opc; */
7817 /* IDL: uint64 lm_last_xid; */
7818 /* IDL: uint64 lm_last_committed; */
7819 /* IDL: uint64 lm_transno; */
7820 /* IDL: uint32 lm_status; */
7821 /* IDL: uint32 lm_flags; */
7822 /* IDL: uint32 lm_conn_cnt; */
7823 /* IDL: uint32 lm_bufcount; */
7824 /* IDL: uint32 lm_buflens[0]; */
7829 lustre_dissect_element_msg_v1_lm_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7831 /*TODO : replace with a v1 handle*/
7832 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_lustre_msg_v1_lm_handle);
7837 lustre_dissect_element_msg_v1_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7839 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_magic);
7845 lustre_dissect_element_msg_v1_lm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7847 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_type);
7853 lustre_dissect_element_msg_v1_lm_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7855 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_version);
7861 lustre_dissect_element_msg_v1_lm_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7863 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_opc);
7869 lustre_dissect_element_msg_v1_lm_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7871 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_xid);
7877 lustre_dissect_element_msg_v1_lm_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7879 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_committed);
7885 lustre_dissect_element_msg_v1_lm_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7887 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_transno);
7893 lustre_dissect_element_msg_v1_lm_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7895 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_status);
7901 lustre_dissect_element_msg_v1_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7903 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_flags);
7909 lustre_dissect_element_msg_v1_lm_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7911 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_conn_cnt);
7917 lustre_dissect_element_msg_v1_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7919 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_bufcount);
7925 lustre_dissect_element_msg_v1_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7927 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_buflens);
7933 lustre_dissect_element_msg_v1_lm_buflens(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7936 gboolean extra_padding ;
7939 bufcount=tvb_get_letohl(tvb, offset-4); /* TODO : replace with a macro */
7941 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
7946 for (i=0;i<bufcount;i++) {
7947 offset=lustre_dissect_element_msg_v1_lm_buflens_(tvb, offset, pinfo, tree);
7951 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
7960 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_)
7962 proto_item *item = NULL;
7963 proto_tree *tree = NULL;
7965 guint32 opc ; /* opcode */
7966 guint32 pb_type; /* type : {request, reply, error} */
7972 // if (parent_tree) {
7973 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7974 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v1);
7977 offset=lustre_dissect_element_msg_v1_lm_handle(tvb, offset, pinfo, tree);
7979 offset=lustre_dissect_element_msg_v1_lm_magic(tvb, offset, pinfo, tree);
7981 pb_type = tvb_get_letohl(tvb, offset);
7982 offset=lustre_dissect_element_msg_v1_lm_type(tvb, offset, pinfo, tree);
7984 offset=lustre_dissect_element_msg_v1_lm_version(tvb, offset, pinfo, tree);
7985 opc = tvb_get_letohl(tvb, offset);
7986 offset=lustre_dissect_element_msg_v1_lm_opc(tvb, offset, pinfo, tree);
7988 offset=lustre_dissect_element_msg_v1_lm_last_xid(tvb, offset, pinfo, tree);
7990 offset=lustre_dissect_element_msg_v1_lm_last_committed(tvb, offset, pinfo, tree);
7992 offset=lustre_dissect_element_msg_v1_lm_transno(tvb, offset, pinfo, tree);
7994 offset=lustre_dissect_element_msg_v1_lm_status(tvb, offset, pinfo, tree);
7996 offset=lustre_dissect_element_msg_v1_lm_flags(tvb, offset, pinfo, tree);
7998 offset=lustre_dissect_element_msg_v1_lm_conn_cnt(tvb, offset, pinfo, tree);
8000 offset=lustre_dissect_element_msg_v1_lm_bufcount(tvb, offset, pinfo, tree);
8002 offset=lustre_dissect_element_msg_v1_lm_buflens(tvb, offset, pinfo, tree);
8005 proto_item_set_len(item, offset-old_offset);
8007 /* display some nice infos */
8008 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
8009 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
8011 offset=lustre_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
8016 /* IDL: struct ptlrpc_body { */
8017 /* IDL: struct lustre_handle { */
8018 /* IDL: } pb_handle; */
8019 /* IDL: uint32 pb_type; */
8020 /* IDL: uint32 pb_version; */
8021 /* IDL: uint32 pb_opc; */
8022 /* IDL: uint32 pb_status; */
8023 /* IDL: uint64 pb_last_xid; */
8024 /* IDL: uint64 pb_last_seen; */
8025 /* IDL: uint64 pb_last_committed; */
8026 /* IDL: uint64 pb_transno; */
8027 /* IDL: uint32 pb_flags; */
8028 /* IDL: uint32 pb_op_flags; */
8029 /* IDL: uint32 pb_conn_cnt; */
8030 /* IDL: uint32 pb_timeout; */
8031 /* IDL: uint32 pb_service_time; */
8032 /* IDL: uint32 pb_limit; */
8033 /* IDL: uint64 pb_slv; */
8037 lustre_dissect_element_ptlrpc_body_pb_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8039 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ptlrpc_body_pb_handle);
8045 lustre_dissect_element_ptlrpc_body_pb_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8047 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_type);
8053 lustre_dissect_element_ptlrpc_body_pb_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8055 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_version);
8061 lustre_dissect_element_ptlrpc_body_pb_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8063 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_opc);
8069 lustre_dissect_element_ptlrpc_body_pb_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8071 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_status);
8077 lustre_dissect_element_ptlrpc_body_pb_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8079 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_xid);
8085 lustre_dissect_element_ptlrpc_body_pb_last_seen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8087 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_seen);
8093 lustre_dissect_element_ptlrpc_body_pb_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8095 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_committed);
8101 lustre_dissect_element_ptlrpc_body_pb_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8103 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_transno);
8109 lustre_dissect_element_ptlrpc_body_pb_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8111 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_flags);
8117 lustre_dissect_element_ptlrpc_body_pb_op_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8119 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_op_flags);
8125 lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8127 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_conn_cnt);
8133 lustre_dissect_element_ptlrpc_body_pb_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8135 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_timeout);
8141 lustre_dissect_element_ptlrpc_body_pb_service_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8143 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_service_time);
8149 lustre_dissect_element_ptlrpc_body_pb_limit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8151 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_limit);
8157 lustre_dissect_element_ptlrpc_body_pb_slv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8159 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_slv);
8165 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_ )
8167 proto_item *item = NULL;
8168 proto_tree *tree = NULL;
8171 guint32 opc, pb_type;
8178 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8179 tree = proto_item_add_subtree(item, ett_lustre_ptlrpc_body);
8182 offset=lustre_dissect_element_ptlrpc_body_pb_handle(tvb, offset, pinfo, tree);
8184 pb_type = tvb_get_letohl(tvb, offset);
8185 //g_print("msg_v2_lm_type_offset = %d \n" , offset) ;
8187 offset=lustre_dissect_element_ptlrpc_body_pb_type(tvb, offset, pinfo, tree);
8189 offset=lustre_dissect_element_ptlrpc_body_pb_version(tvb, offset, pinfo, tree);
8191 // g_print("msg_v2_opcode_offset %d \n", offset);
8192 opc = tvb_get_letohl(tvb, offset);
8193 offset=lustre_dissect_element_ptlrpc_body_pb_opc(tvb, offset, pinfo, tree);
8195 offset=lustre_dissect_element_ptlrpc_body_pb_status(tvb, offset, pinfo, tree);
8197 offset=lustre_dissect_element_ptlrpc_body_pb_last_xid(tvb, offset, pinfo, tree);
8199 offset=lustre_dissect_element_ptlrpc_body_pb_last_seen(tvb, offset, pinfo, tree);
8201 offset=lustre_dissect_element_ptlrpc_body_pb_last_committed(tvb, offset, pinfo, tree);
8203 offset=lustre_dissect_element_ptlrpc_body_pb_transno(tvb, offset, pinfo, tree);
8205 offset=lustre_dissect_element_ptlrpc_body_pb_flags(tvb, offset, pinfo, tree);
8207 offset=lustre_dissect_element_ptlrpc_body_pb_op_flags(tvb, offset, pinfo, tree);
8209 offset=lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvb, offset, pinfo, tree);
8211 offset=lustre_dissect_element_ptlrpc_body_pb_timeout(tvb, offset, pinfo, tree);
8213 offset=lustre_dissect_element_ptlrpc_body_pb_service_time(tvb, offset, pinfo, tree);
8215 offset=lustre_dissect_element_ptlrpc_body_pb_limit(tvb, offset, pinfo, tree);
8217 offset=lustre_dissect_element_ptlrpc_body_pb_slv(tvb, offset, pinfo, tree);
8221 proto_item_set_len(item, offset-old_offset);
8223 /* display some nice infos */
8224 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
8225 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
8227 /* on utilise parent_tree pour bien distinguer les différents buffers (relatifs à bufcount + buflen), il s'agit d'un choix de présentation */
8228 offset=lustre_opcode_process(tvb, offset, pinfo, parent_tree, opc, pb_type);
8230 sanity_check(tvb,pinfo,offset-old_offset);
8236 /* IDL: struct lustre_msg_v2 { */
8237 /* IDL: uint32 lm_bufcount; */
8238 /* IDL: uint32 lm_secflvr; */
8239 /* IDL: uint32 lm_magic; */
8240 /* IDL: uint32 lm_repsize; */
8241 /* IDL: uint32 lm_cksum; */
8242 /* IDL: uint32 lm_flags; */
8243 /* IDL: uint32 lm_padding_2; */
8244 /* IDL: uint32 lm_padding_3; */
8245 /* IDL: uint32 lm_buflens[0]; */
8249 lustre_dissect_element_msg_v2_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8251 proto_tree_add_item(tree, hf_lustre_lustre_msg_v2_lm_bufcount, tvb, offset, 4, TRUE);
8257 lustre_dissect_element_msg_v2_lm_secflvr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8259 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_secflvr);
8265 lustre_dissect_element_msg_v2_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8267 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_magic);
8273 lustre_dissect_element_msg_v2_lm_repsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8275 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_repsize);
8281 lustre_dissect_element_msg_v2_lm_cksum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8283 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_cksum);
8289 lustre_dissect_element_msg_v2_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8291 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_flags);
8297 lustre_dissect_element_msg_v2_lm_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8299 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_2);
8305 lustre_dissect_element_msg_v2_lm_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8307 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_3);
8315 lustre_dissect_element_msg_v2_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8317 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_buflens);
8323 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_)
8325 proto_item *item = NULL;
8326 proto_tree *tree = NULL;
8330 guint32 buf_len_offset;
8331 guint32 current_buf_len ;
8332 gboolean extra_padding ;
8336 /* to get a light display */
8338 // if (parent_tree) {
8339 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8340 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v2);
8343 bufcount = tvb_get_letohl(tvb,offset);
8344 offset=lustre_dissect_element_msg_v2_lm_bufcount(tvb, offset, pinfo, tree);
8346 offset=lustre_dissect_element_msg_v2_lm_secflvr(tvb, offset, pinfo, tree);
8348 offset=lustre_dissect_element_msg_v2_lm_magic(tvb, offset, pinfo, tree);
8350 offset=lustre_dissect_element_msg_v2_lm_repsize(tvb, offset, pinfo, tree);
8352 offset=lustre_dissect_element_msg_v2_lm_cksum(tvb, offset, pinfo, tree);
8354 offset=lustre_dissect_element_msg_v2_lm_flags(tvb, offset, pinfo, tree);
8356 offset=lustre_dissect_element_msg_v2_lm_padding_2(tvb, offset, pinfo, tree);
8358 offset=lustre_dissect_element_msg_v2_lm_padding_3(tvb, offset, pinfo, tree);
8362 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
8367 buf_len_offset=offset ;
8368 for (i=0;i<bufcount;i++) {
8369 offset=lustre_dissect_element_msg_v2_lm_buflens_(tvb, offset, pinfo, tree);
8374 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
8379 current_buf_len = tvb_get_letohl(tvb, buf_len_offset);
8380 offset=lustre_dissect_struct_ptlrpc_body(tvb,offset, pinfo, tree, hf_lustre_ptlrpc_body_pb, current_buf_len);
8382 proto_item_set_len(item, offset-old_offset);
8391 dissect_lustre(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8393 if (check_col(pinfo->cinfo, COL_PROTOCOL))
8394 col_set_str(pinfo->cinfo, COL_PROTOCOL, "Lustre");
8397 if (check_col(pinfo->cinfo, COL_INFO))
8398 col_set_str(pinfo->cinfo, COL_INFO, "");
8399 /* guint32 magic_number ; */
8400 /* magic_number = tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET); */
8401 /* switch (magic_number)*/
8403 /* case LUSTRE_MSG_MAGIC_V1:*/
8404 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V1 ");*/
8406 /* case LUSTRE_MSG_MAGIC_V2:*/
8407 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V2 ");*/
8415 guint32 magic_number ;
8417 proto_item *ti = NULL ;
8418 proto_tree * lustre_tree = NULL ;
8421 ti = proto_tree_add_item(tree,proto_lustre,tvb,0,-1,FALSE);
8422 lustre_tree = proto_item_add_subtree(ti,ett_lustre);
8425 magic_number = tvb_get_letohl(tvb, 8);
8428 switch (magic_number){
8429 case LUSTRE_MSG_MAGIC_V1:
8430 /* put some nice info*/
8431 proto_item_append_text(lustre_tree, " V1 ");
8432 offset=lustre_dissect_struct_msg_v1(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8434 case LUSTRE_MSG_MAGIC_V2:
8435 /* put some nice info*/
8436 proto_item_append_text(lustre_tree, " V2 ");
8437 offset=lustre_dissect_struct_msg_v2(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8446 void proto_register_dcerpc_lustre(void)
8448 static hf_register_info hf[] = {
8449 { &hf_lustre_mds_body_ctime,
8450 { "Ctime", "lustre.mds_body.ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8451 { &hf_lustre_mds_body_fid1,
8452 { "Fid1", "lustre.mds_body.fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8453 { &hf_lustre_mds_body_nlink,
8454 { "Nlink", "lustre.mds_body.nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8455 { &hf_lustre_mds_body_flags,
8456 { "Flags", "lustre.mds_body.flags", FT_UINT32, BASE_HEX, VALS(lustre_mds_flags_vals) , 0, "", HFILL }},
8457 { &hf_lustre_mds_body_fsgid,
8458 { "Fsgid", "lustre.mds_body.fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8459 { &hf_lustre_mds_body_mtime,
8460 { "Mtime", "lustre.mds_body.mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8461 { &hf_lustre_mds_body_uid,
8462 { "Uid", "lustre.mds_body.uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8463 { &hf_lustre_mds_body_mode,
8464 { "Mode", "lustre.mds_body.mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8465 { &hf_lustre_mds_body_max_cookiesize,
8466 { "Max Cookiesize", "lustre.mds_body.max_cookiesize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8467 { &hf_lustre_mds_body_io_epoch,
8468 { "Io Epoch", "lustre.mds_body.io_epoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8469 { &hf_lustre_mds_body_ino,
8470 { "Ino", "lustre.mds_body.ino", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8471 { &hf_lustre_mds_body_fid2,
8472 { "Fid2", "lustre.mds_body.fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8473 { &hf_lustre_mds_body_padding_4,
8474 { "Padding 4", "lustre.mds_body.padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8475 { &hf_lustre_mds_body_aclsize,
8476 { "Aclsize", "lustre.mds_body.aclsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8477 { &hf_lustre_mds_body_valid,
8478 { "Valid", "lustre.mds_body.valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8479 { &hf_lustre_mds_body_generation,
8480 { "Generation", "lustre.mds_body.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8481 { &hf_lustre_mds_body_atime,
8482 { "Atime", "lustre.mds_body.atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8483 { &hf_lustre_mds_body_handle,
8484 { "Handle", "lustre.mds_body.handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8485 { &hf_lustre_mds_body_max_mdsize,
8486 { "Max Mdsize", "lustre.mds_body.max_mdsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8487 { &hf_lustre_mds_body_rdev,
8488 { "Rdev", "lustre.mds_body.rdev", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8489 { &hf_lustre_mds_body_blocks,
8490 { "Blocks", "lustre.mds_body.blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8491 { &hf_lustre_mds_body_fsuid,
8492 { "Fsuid", "lustre.mds_body.fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8493 { &hf_lustre_mds_body_gid,
8494 { "Gid", "lustre.mds_body.gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8495 { &hf_lustre_lustre_handle_cookie,
8496 { "Cookie", "lustre.lustre_handle.cookie", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8497 { &hf_lustre_mds_body_suppgid,
8498 { "Suppgid", "lustre.mds_body.suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8499 { &hf_lustre_mds_body_size,
8500 { "Size", "lustre.mds_body.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8501 { &hf_lustre_mds_body_eadatasize,
8502 { "Eadatasize", "lustre.mds_body.eadatasize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8503 { &hf_lustre_mds_body_capability,
8504 { "Capability", "lustre.mds_body.capability", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8505 { &hf_lustre_ptlrpc_body_pb_last_committed,
8506 { "Pb Last Committed", "lustre.ptlrpc_body.pb_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8507 { &hf_lustre_ptlrpc_body_pb_version,
8508 { "Pb Version", "lustre.ptlrpc_body.pb_version", FT_UINT32, BASE_DEC, NULL, ~LUSTRE_VERSION_MASK, "", HFILL }},
8509 { &hf_lustre_lustre_msg_v1_lm_bufcount,
8510 { "Lm Bufcount", "lustre.lustre_msg_v1.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8511 { &hf_lustre_obd_ioobj_ioo_id,
8512 { "Ioo Id", "lustre.obd_ioobj.ioo_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8513 { &hf_lustre_ptlrpc_body_pb_slv,
8514 { "Pb Slv", "lustre.ptlrpc_body.pb_slv", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8515 { &hf_lustre_lustre_msg_v1_lm_handle,
8516 { "Lm Handle", "lustre.lustre_msg_v1.lm_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8517 { &hf_lustre_ost_lvb_lvb_atime,
8518 { "Lvb Atime", "lustre.ost_lvb.lvb_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8519 { &hf_lustre_ptlrpc_body_pb_timeout,
8520 { "Pb Timeout", "lustre.ptlrpc_body.pb_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8521 { &hf_lustre_obd_statfs_os_bavail,
8522 { "Os Bavail", "lustre.obd_statfs.os_bavail", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8523 { &hf_lustre_obd_statfs_os_bsize,
8524 { "Os Bsize", "lustre.obd_statfs.os_bsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8525 { &hf_lustre_lustre_msg_v2_lm_repsize,
8526 { "Lm Repsize", "lustre.lustre_msg_v2.lm_repsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8527 { &hf_lustre_lov_mds_md_v1_lmm_stripe_size,
8528 { "Lmm Stripe Size", "lustre.lov_mds_md_v1.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8529 { &hf_lustre_lustre_msg_v1_lm_last_xid,
8530 { "Lm Last Xid", "lustre.lustre_msg_v1.lm_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8531 { &hf_lustre_ll_fid_f_type,
8532 { "F Type", "lustre.ll_fid.f_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8533 { &hf_lustre_lustre_msg_v2_lm_cksum,
8534 { "Lm Cksum", "lustre.lustre_msg_v2.lm_cksum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8535 { &hf_lustre_lustre_msg_v2_lm_buflens,
8536 { "Lm Buflens", "lustre.lustre_msg_v2.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8537 { &hf_lustre_lustre_msg_v1_lm_status,
8538 { "Lm Status", "lustre.lustre_msg_v1.lm_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8539 { &hf_lustre_lustre_msg_v1_lm_type,
8540 { "Lm Type", "lustre.lustre_msg_v1.lm_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
8541 { &hf_lustre_niobuf_remote_len,
8542 { "Len", "lustre.niobuf_remote.len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8543 { &hf_lustre_lov_mds_md_v1_lmm_magic,
8544 { "Lmm Magic", "lustre.lov_mds_md_v1.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic) , 0, "", HFILL }},
8545 { &hf_lustre_ptlrpc_body_pb_op_flags,
8546 { "Pb Op Flags", "lustre.ptlrpc_body.pb_op_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8547 { &hf_lustre_ost_lvb_lvb_ctime,
8548 { "Lvb Ctime", "lustre.ost_lvb.lvb_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8549 { &hf_lustre_ptlrpc_body_pb_type,
8550 { "Pb Type", "lustre.ptlrpc_body.pb_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
8551 { &hf_lustre_obd_connect_data_ocd_nllg,
8552 { "Ocd Nllg", "lustre.obd_connect_data.ocd_nllg", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8553 { &hf_lustre_obd_connect_data_ocd_nllu,
8554 { "Ocd Nllu", "lustre.obd_connect_data.ocd_nllu", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8555 { &hf_lustre_ll_fid_generation,
8556 { "Generation", "lustre.ll_fid.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8557 { &hf_lustre_ost_lvb_lvb_mtime,
8558 { "Lvb Mtime", "lustre.ost_lvb.lvb_mtime",FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0, "", HFILL }},
8559 { &hf_lustre_obd_connect_data_ocd_ibits_known,
8560 { "Ocd Ibits Known", "lustre.obd_connect_data.ocd_ibits_known", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8561 { &hf_lustre_lustre_msg_v2_lm_padding_3,
8562 { "Lm Padding 3", "lustre.lustre_msg_v2.lm_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8563 { &hf_lustre_ptlrpc_body_pb_flags,
8564 { "Pb Flags", "lustre.ptlrpc_body.pb_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8565 { &hf_lustre_obd_statfs_os_spare4,
8566 { "Os Spare4", "lustre.obd_statfs.os_spare4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8567 { &hf_lustre_obd_connect_data_ocd_group,
8568 { "Ocd Group", "lustre.obd_connect_data.ocd_group", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8569 { &hf_lustre_lov_ost_data_v1_l_object_gr,
8570 { "L Object Gr", "lustre.lov_ost_data_v1.l_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8571 { &hf_lustre_lov_mds_md_v1_lmm_object_gr,
8572 { "Lmm Object Gr", "lustre.lov_mds_md_v1.lmm_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8573 { &hf_lustre_obd_connect_data_ocd_brw_size,
8574 { "Ocd Brw Size", "lustre.obd_connect_data.ocd_brw_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8575 { &hf_lustre_ptlrpc_body_pb_limit,
8576 { "Pb Limit", "lustre.ptlrpc_body.pb_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8577 { &hf_lustre_obd_statfs_os_maxbytes,
8578 { "Os Maxbytes", "lustre.obd_statfs.os_maxbytes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8579 { &hf_lustre_obd_statfs_os_spare5,
8580 { "Os Spare5", "lustre.obd_statfs.os_spare5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8581 { &hf_lustre_lustre_msg_v2_lm_flags,
8582 { "Lm Flags", "lustre.lustre_msg_v2.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8583 { &hf_lustre_obd_statfs_os_ffree,
8584 { "Os Ffree", "lustre.obd_statfs.os_ffree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8585 { &hf_lustre_obd_statfs_os_files,
8586 { "Os Files", "lustre.obd_statfs.os_files", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8587 { &hf_lustre_lov_mds_md_v1_lmm_stripe_count,
8588 { "Lmm Stripe Count", "lustre.lov_mds_md_v1.lmm_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8589 { &hf_lustre_lustre_msg_v1_lm_flags,
8590 { "Lm Flags", "lustre.lustre_msg_v1.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8591 { &hf_lustre_lustre_msg_v1_lm_last_committed,
8592 { "Lm Last Committed", "lustre.lustre_msg_v1.lm_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8593 { &hf_lustre_obd_statfs_os_spare9,
8594 { "Os Spare9", "lustre.obd_statfs.os_spare9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8595 { &hf_lustre_obd_connect_data_ocd_index,
8596 { "Ocd Index", "lustre.obd_connect_data.ocd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8597 { &hf_lustre_lustre_msg_v1_lm_buflens,
8598 { "Lm Buflens", "lustre.lustre_msg_v1.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8599 { &hf_lustre_obd_statfs_os_spare1,
8600 { "Os Spare1", "lustre.obd_statfs.os_spare1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8601 { &hf_lustre_obd_statfs_os_spare8,
8602 { "Os Spare8", "lustre.obd_statfs.os_spare8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8603 { &hf_lustre_lustre_msg_v1_lm_conn_cnt,
8604 { "Lm Conn Cnt", "lustre.lustre_msg_v1.lm_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8605 { &hf_lustre_ptlrpc_body_pb_transno,
8606 { "Pb Transno", "lustre.ptlrpc_body.pb_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8607 { &hf_lustre_ptlrpc_body_pb_service_time,
8608 { "Pb Service Time", "lustre.ptlrpc_body.pb_service_time",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8609 { &hf_lustre_ptlrpc_body_pb_conn_cnt,
8610 { "Pb Conn Cnt", "lustre.ptlrpc_body.pb_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8611 { &hf_lustre_ptlrpc_body_pb_opc,
8612 { "Pb Opc", "lustre.ptlrpc_body.pb_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
8613 { &hf_lustre_obd_connect_data_ocd_connect_flags,
8614 { "Ocd Connect Flags", "lustre.obd_connect_data.ocd_connect_flags", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8615 { &hf_lustre_lov_ost_data_v1_l_object_id,
8616 { "L Object Id", "lustre.lov_ost_data_v1.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8617 { &hf_lustre_lov_ost_data_v1_l_ost_gen,
8618 { "L Ost Gen", "lustre.lov_ost_data_v1.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8619 { &hf_lustre_obd_statfs_os_bfree,
8620 { "Os Bfree", "lustre.obd_statfs.os_bfree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8621 { &hf_lustre_obd_connect_data_ocd_version,
8622 { "Ocd Version", "lustre.obd_connect_data.ocd_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8623 { &hf_lustre_lov_mds_md_v1_lmm_objects,
8624 { "Lmm Objects", "lustre.lov_mds_md_v1.lmm_objects", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8625 { &hf_lustre_mds_status_req_flags,
8626 { "Flags", "lustre.mds_status_req.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8627 { &hf_lustre_obd_statfs_os_namelen,
8628 { "Os Namelen", "lustre.obd_statfs.os_namelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8629 { &hf_lustre_obd_statfs_os_blocks,
8630 { "Os Blocks", "lustre.obd_statfs.os_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8631 { &hf_lustre_lustre_msg_v2_lm_secflvr,
8632 { "Lm Secflvr", "lustre.lustre_msg_v2.lm_secflvr", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8633 { &hf_lustre_lustre_msg_v1_lm_transno,
8634 { "Lm Transno", "lustre.lustre_msg_v1.lm_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8635 { &hf_lustre_lov_mds_md_v1_lmm_pattern,
8636 { "Lmm Pattern", "lustre.lov_mds_md_v1.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8637 { &hf_lustre_lustre_msg_v1_lm_opc,
8638 { "Lm Opc", "lustre.lustre_msg_v1.lm_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
8639 { &hf_lustre_obd_connect_data_ocd_grant,
8640 { "Ocd Grant", "lustre.obd_connect_data.ocd_grant", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8641 { &hf_lustre_obd_ioobj_ioo_bufcnt,
8642 { "Ioo Bufcnt", "lustre.obd_ioobj.ioo_bufcnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8643 { &hf_lustre_lustre_msg_v1_lm_version,
8644 { "Lm Version", "lustre.lustre_msg_v1.lm_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8645 { &hf_lustre_obd_statfs_os_spare7,
8646 { "Os Spare7", "lustre.obd_statfs.os_spare7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8647 { &hf_lustre_obd_statfs_os_fsid,
8648 { "Os Fsid", "lustre.obd_statfs.os_fsid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
8649 { &hf_lustre_obd_connect_data_ocd_cksum_types,
8650 { "Ocd Cksum Types", "lustre.obd_connect_data.ocd_cksum_types", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8651 { &hf_lustre_ost_lvb_lvb_size,
8652 { "Lvb Size", "lustre.ost_lvb.lvb_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8653 { &hf_lustre_obd_statfs_os_type,
8654 { "Os Type", "lustre.obd_statfs.os_type", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8655 { &hf_lustre_obd_statfs_os_spare6,
8656 { "Os Spare6", "lustre.obd_statfs.os_spare6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8657 { &hf_lustre_obd_statfs_os_state,
8658 { "Os State", "lustre.obd_statfs.os_state", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8659 { &hf_lustre_obd_statfs_os_spare3,
8660 { "Os Spare3", "lustre.obd_statfs.os_spare3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8661 { &hf_lustre_lustre_msg_v2_lm_magic,
8662 { "Lm Magic", "lustre.lustre_msg_v2.lm_magic", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
8663 { &hf_lustre_lov_mds_md_v1_lmm_object_id,
8664 { "Lmm Object Id", "lustre.lov_mds_md_v1.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8665 { &hf_lustre_ptlrpc_body_pb_last_seen,
8666 { "Pb Last Seen", "lustre.ptlrpc_body.pb_last_seen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8667 { &hf_lustre_obd_ioobj_ioo_type, /* TODO : create the corresponding value_string */
8668 { "Ioo Type", "lustre.obd_ioobj.ioo_type", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
8669 { &hf_lustre_ptlrpc_body_pb_last_xid,
8670 { "Pb Last Xid", "lustre.ptlrpc_body.pb_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8671 { &hf_lustre_ptlrpc_body_pb_status,
8672 { "Pb Status", "lustre.ptlrpc_body.pb_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8673 { &hf_lustre_niobuf_remote_flags,
8674 { "Flags", "lustre.niobuf_remote.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8675 { &hf_lustre_ll_fid_id,
8676 { "Id", "lustre.ll_fid.id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8677 { &hf_lustre_ost_lvb_lvb_blocks,
8678 { "Lvb Blocks", "lustre.ost_lvb.lvb_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8679 { &hf_lustre_lustre_msg_v2_lm_padding_2,
8680 { "Lm Padding 2", "lustre.lustre_msg_v2.lm_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8681 { &hf_lustre_obd_connect_data_padding1,
8682 { "Padding1", "lustre.obd_connect_data.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8683 { &hf_lustre_lov_ost_data_v1_l_ost_idx,
8684 { "L Ost Idx", "lustre.lov_ost_data_v1.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8685 { &hf_lustre_obd_connect_data_padding2,
8686 { "Padding2", "lustre.obd_connect_data.padding2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8687 { &hf_lustre_obd_ioobj_ioo_gr,
8688 { "Ioo Gr", "lustre.obd_ioobj.ioo_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8689 { &hf_lustre_niobuf_remote_offset,
8690 { "Offset", "lustre.niobuf_remote.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8691 { &hf_lustre_mds_status_req_repbuf,
8692 { "Repbuf", "lustre.mds_status_req.repbuf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8693 { &hf_lustre_obd_statfs_os_spare2,
8694 { "Os Spare2", "lustre.obd_statfs.os_spare2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8695 { &hf_lustre_lustre_msg_v2_lm_bufcount,
8696 { "Lm Bufcount", "lustre.lustre_msg_v2.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8697 { &hf_lustre_ptlrpc_body_pb_handle,
8698 { "Pb Handle", "lustre.ptlrpc_body.pb_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8699 { &hf_lustre_obd_connect_data_ocd_transno,
8700 { "Ocd Transno", "lustre.obd_connect_data.ocd_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8701 { &hf_lustre_lustre_msg_v1_lm_magic,
8702 { "Lm Magic", "lustre.lustre_msg_v1.lm_magic", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8703 { &hf_lustre_ptlrpc_body_pb,
8704 { "ptl rpc", "lustre.ptlrpc_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8705 { &hf_lustre_mds_body,
8706 { "mds body", "lustre.mds_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8707 { &hf_lustre_mds_rec_create,
8708 { "mds rec create", "lustre.mds_rec_create", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8709 { &hf_lustre_mds_rec_link,
8710 { "mds rec link", "lustre.mds_rec_link", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8711 { &hf_lustre_mds_rec_unlink,
8712 { "mds rec unlink", "lustre.mds_rec_unlink", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8714 { &hf_lustre_obd_uuid,
8715 { "obd uid name", "lustre.obd_uid", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8716 { &hf_lustre_obd_connect_data ,
8717 { "obd connect data", "lustre.obd_connect_data", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8719 { &hf_lustre_ldlm_intent,
8720 { "ldlm intent", "lustre.ldlm_intent", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8722 { &hf_lustre_obd_ioobj,
8723 { "lustre obd ioobj", "lustre.obd_ioobj", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8724 { &hf_lustre_niobuf_remote,
8725 { "lustre niobuf remote", "lustre.niobuf_remote", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8726 { &hf_lustre_ost_key,
8727 { "lustre ost key", "lustre.ost_key", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8728 { &hf_lustre_ost_val,
8729 { "lustre ost val", "lustre.ost_val", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8730 { &hf_lustre_llogd_chunk,
8731 { "lustre llogd chunk", "lustre.llogd_chunk", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8732 { &hf_lustre_llogd_keyword,
8733 { "lustre llogd keyword", "lustre.llogd_keyword", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8734 { &hf_lustre_llogd_client,
8735 { "lustre llogd client", "lustre.llogd_client", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8736 { &hf_lustre_llogd_name,
8737 { "lustre llogd name", "lustre.llogd_name", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8738 { &hf_lustre_llogd_log_hdr,
8739 { "lustre llogd log hdr", "lustre.llogd_log_hdr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8740 { &hf_lustre_llog_logid_rec,
8741 { "lustre llog logid rec", "lustre.llog_logid_rec", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8743 { &hf_lustre_llogd_body,
8744 { "lustre llogd body", "lustre.llogd_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
8746 { "lustre nio", "lustre.nio", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
8747 { &hf_lustre_ost_body,
8748 { "ost body", "lustre.ost_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8749 { &hf_lustre_obd_statfs,
8750 { "obd statfs", "lustre.obd_statfs", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8751 { &hf_lustre_obd_quotactl,
8752 { "obd quotactl", "lustre.obd_quotacl", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8753 { &hf_lustre_quota_adjust_qunit,
8754 { "obd quota adjust qunit", "lustre.quota_adjust_qunit", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
8755 { &hf_lustre_llog_unlink_rec_lur_tail,
8756 { "Lur Tail", "lustre.llog_unlink_rec.lur_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8757 { &hf_lustre_llog_size_change_rec_lsc_io_epoch,
8758 { "Lsc Io Epoch", "lustre.llog_size_change_rec.lsc_io_epoch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8759 { &hf_lustre_mgs_target_info_mti_flags,
8760 { "Mti Flags", "lustre.mgs_target_info.mti_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8761 { &hf_lustre_ldlm_reply_lock_policy_res1,
8762 { "Lock Policy Res1", "lustre.ldlm_reply.lock_policy_res1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8763 { &hf_lustre_mds_rec_link_lk_fsuid,
8764 { "Lk Fsuid", "lustre.mds_rec_link.lk_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8765 { &hf_lustre_llogd_body_lgd_len,
8766 { "Lgd Len", "lustre.llogd_body.lgd_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8767 { &hf_lustre_qunit_data_old_qd_id,
8768 { "Qd Id", "lustre.qunit_data_old.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8769 { &hf_lustre_llog_logid_rec_padding1,
8770 { "Padding1", "lustre.llog_logid_rec.padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8771 { &hf_lustre_quota_adjust_qunit_padding1,
8772 { "Padding1", "lustre.quota_adjust_qunit.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8773 { &hf_lustre_llog_size_change_rec_lsc_fid,
8774 { "Lsc Fid", "lustre.llog_size_change_rec.lsc_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8775 { &hf_lustre_llog_rec_hdr_padding,
8776 { "Padding", "lustre.llog_rec_hdr.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8777 { &hf_lustre_mds_rec_create_cr_time,
8778 { "Cr Time", "lustre.mds_rec_create.cr_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8779 { &hf_lustre_mds_rec_create_cr_padding_1,
8780 { "Cr Padding 1", "lustre.mds_rec_create.cr_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8781 { &hf_lustre_obdo_o_nlink,
8782 { "O Nlink", "lustre.obdo.o_nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8783 { &hf_lustre_mds_rec_rename_rn_suppgid2,
8784 { "Rn Suppgid2", "lustre.mds_rec_rename.rn_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8785 { &hf_lustre_mds_rec_link_lk_padding_4,
8786 { "Lk Padding 4", "lustre.mds_rec_link.lk_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8787 { &hf_lustre_mds_rec_link_lk_cap,
8788 { "Lk Cap", "lustre.mds_rec_link.lk_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8789 { &hf_lustre_ldlm_extent_gid,
8790 { "Gid", "lustre.ldlm_extent.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8791 { &hf_lustre_obdo_o_uid,
8792 { "O Uid", "lustre.obdo.o_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8793 { &hf_lustre_mds_rec_create_cr_padding_5,
8794 { "Cr Padding 5", "lustre.mds_rec_create.cr_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8795 { &hf_lustre_mds_xattr_name,
8796 { "mds xattr name", "lustre.mds_xattr_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8797 { &hf_lustre_lov_mds_md_v1,
8798 { "lov mds md v1", "lustre.lov_mds_md_v1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8799 { &hf_lustre_llog_cookie,
8800 { "llog cookie", "lustre.llog_cookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8801 { &hf_lustre_mds_md_data,
8802 { "mds md data", "lustre.mds_md_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8803 { &hf_lustre_mds_reint_opcode,
8804 { "mds reint opcode", "lustre.mds_reint_opcode", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8805 { &hf_lustre_mds_xattr_eadata,
8806 { "mds xattr eadata", "lustre.mds_xattr_eadata", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
8807 { &hf_lustre_reint_name,
8808 { "mds reint name", "lustre.mds_reint_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8809 { &hf_lustre_reint_old_name,
8810 { "mds reint old name", "lustre.mds_reint_old_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8811 { &hf_lustre_reint_new_name,
8812 { "mds reint new name", "lustre.mds_reint_new_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
8816 { &hf_lustre_obdo_o_valid,
8817 { "O Valid", "lustre.obdo.o_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8818 { &hf_lustre_ldlm_reply_lock_flags,
8819 { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32,BASE_HEX, NULL, 0, "", HFILL }},
8821 {&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}},
8822 {&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}},
8823 {&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}},
8824 {&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}},
8825 {&hf_lustre_ldlm_fl_cbpending, {"LDLM_FL_CBPENDING", "lustre.ldlm_fl_cbpending", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CBPENDING, "", HFILL}},
8826 {&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}},
8827 {&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}},
8828 {&hf_lustre_ldlm_fl_cancel, {"LDLM_FL_CANCEL", "lustre.ldlm_fl_cancel", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCEL, "", HFILL}},
8829 {&hf_lustre_ldlm_fl_replay, {"LDLM_FL_REPLAY", "lustre.ldlm_fl_replay", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_REPLAY, "", HFILL}},
8830 {&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}},
8831 {&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}},
8832 {&hf_lustre_ldlm_fl_failed, {"LDLM_FL_FAILED", "lustre.ldlm_fl_failed", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_FAILED, "", HFILL}},
8833 {&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}},
8834 {&hf_lustre_ldlm_fl_canceling, {"LDLM_FL_CANCELING", "lustre.ldlm_fl_canceling", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCELING, "", HFILL}},
8835 {&hf_lustre_ldlm_fl_local, {"LDLM_FL_LOCAL", "lustre.ldlm_fl_local", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LOCAL, "", HFILL}},
8836 {&hf_lustre_ldlm_fl_warn, {"LDLM_FL_WARN", "lustre.ldlm_fl_warn", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_WARN, "", HFILL}},
8837 {&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}},
8838 {&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}},
8839 {&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}},
8840 {&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}},
8841 {&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}},
8842 {&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}},
8843 {&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}},
8844 {&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}},
8845 {&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}},
8846 {&hf_lustre_ldlm_fl_cleaned, {"LDLM_FL_CLEANED", "lustre.ldlm_fl_cleaned", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CLEANED, "", HFILL}},
8847 {&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}},
8848 {&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}},
8849 {&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}},
8850 {&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}},
8851 {&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}},
8854 { &hf_lustre_mds_rec_link_lk_padding_3,
8855 { "Lk Padding 3", "lustre.mds_rec_link.lk_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8856 { &hf_lustre_obdo_o_misc,
8857 { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8858 { &hf_lustre_mds_rec_setattr_sa_suppgid,
8859 { "Sa Suppgid", "lustre.mds_rec_setattr.sa_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8860 { &hf_lustre_mds_rec_setattr_sa_attr_flags,
8861 { "Sa Attr Flags", "lustre.mds_rec_setattr.sa_attr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8862 { &hf_lustre_mds_rec_rename_rn_padding_2,
8863 { "Rn Padding 2", "lustre.mds_rec_rename.rn_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8864 { &hf_lustre_ldlm_request_lock_handle,
8865 { "Lock Handle", "lustre.ldlm_request.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8866 { &hf_lustre_llog_logid_lgl_oid,
8867 { "Lgl Oid", "lustre.llog_logid.lgl_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8868 { &hf_lustre_ldlm_inodebits_bits,
8869 { "Bits", "lustre.ldlm_inodebits.bits", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8870 { &hf_lustre_llog_log_hdr_llh_count,
8871 { "Llh Count", "lustre.llog_log_hdr.llh_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8872 { &hf_lustre_mds_rec_unlink_ul_padding_4,
8873 { "Ul Padding 4", "lustre.mds_rec_unlink.ul_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8874 { &hf_lustre_llog_gen_rec_lgr_tail,
8875 { "Lgr Tail", "lustre.llog_gen_rec.lgr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8876 { &hf_lustre_llog_catid_lci_padding3,
8877 { "Lci Padding3", "lustre.llog_catid.lci_padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8878 { &hf_lustre_qunit_data_qd_qunit,
8879 { "Qd Qunit", "lustre.qunit_data.qd_qunit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8880 { &hf_lustre_mds_rec_unlink_ul_fid1,
8881 { "Ul Fid1", "lustre.mds_rec_unlink.ul_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8882 { &hf_lustre_llog_setattr_rec_padding,
8883 { "Padding", "lustre.llog_setattr_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8884 { &hf_lustre_mds_rec_rename_rn_opcode,
8885 { "Rn Opcode", "lustre.mds_rec_rename.rn_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
8886 { &hf_lustre_mds_rec_create_cr_flags,
8887 { "Cr Flags", "lustre.mds_rec_create.cr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8888 { &hf_lustre_mds_rec_rename_rn_fid1,
8889 { "Rn Fid1", "lustre.mds_rec_rename.rn_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8890 { &hf_lustre_llog_cookie_lgc_lgl,
8891 { "Lgc Lgl", "lustre.llog_cookie.lgc_lgl", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8892 { &hf_lustre_obd_quotactl_qc_dqinfo,
8893 { "Qc Dqinfo", "lustre.obd_quotactl.qc_dqinfo", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8894 { &hf_lustre_llog_log_hdr_llh_bitmap,
8895 { "Llh Bitmap", "lustre.llog_log_hdr.llh_bitmap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8896 { &hf_lustre_mds_rec_setattr_sa_size,
8897 { "Sa Size", "lustre.mds_rec_setattr.sa_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8898 { &hf_lustre_mds_rec_rename_rn_suppgid1,
8899 { "Rn Suppgid1", "lustre.mds_rec_rename.rn_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8900 { &hf_lustre_obd_quotactl_qc_stat,
8901 { "Qc Stat", "lustre.obd_quotactl.qc_stat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8902 { &hf_lustre_qunit_data_old2_qd_id,
8903 { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8904 { &hf_lustre_llog_logid_rec_padding2,
8905 { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8906 { &hf_lustre_mds_rec_unlink_ul_mode,
8907 { "Ul Mode", "lustre.mds_rec_unlink.ul_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8908 { &hf_lustre_llog_orphan_rec_lor_tail,
8909 { "Lor Tail", "lustre.llog_orphan_rec.lor_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8910 { &hf_lustre_llog_logid_rec_padding5,
8911 { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8912 { &hf_lustre_mds_rec_create_cr_fsgid,
8913 { "Cr Fsgid", "lustre.mds_rec_create.cr_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8914 /*-------------------------------------------------------------------------------------------------------------*/
8915 /*all this flags are uint64, but I don't find the way to use something like TFS() with a Uint64*/
8916 { &hf_lustre_ldlm_intent_opc_open,
8917 { "open", "lustre.ldlm_intent.opc_open", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_OPEN, "", HFILL}},
8918 { &hf_lustre_ldlm_intent_opc_creat,
8919 { "creat", "lustre.ldlm_intent.opc_creat", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_CREAT , "", HFILL}},
8920 { &hf_lustre_ldlm_intent_opc_readdir,
8921 { "readdir", "lustre.ldlm_intent.opc_readdir", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_READDIR , "", HFILL}},
8922 { &hf_lustre_ldlm_intent_opc_getattr,
8923 { "getattr", "lustre.ldlm_intent.opc_getattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETATTR, "", HFILL}},
8924 { &hf_lustre_ldlm_intent_opc_lookup,
8925 { "lookup", "lustre.ldlm_intent.opc_lookup", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_LOOKUP , "", HFILL}},
8926 { &hf_lustre_ldlm_intent_opc_unlink,
8927 { "unlink", "lustre.ldlm_intent.opc_unlink", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_UNLINK , "", HFILL}},
8928 { &hf_lustre_ldlm_intent_opc_getxattr,
8929 { "getxattr", "lustre.ldlm_intent.opc_getxattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETXATTR , "", HFILL}},
8930 { &hf_lustre_ldlm_intent_opc_exec,
8931 { "exec", "lustre.ldlm_intent.opc_exec", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_EXEC , "", HFILL}},
8932 { &hf_lustre_ldlm_intent_opc_pin,
8933 { "pin", "lustre.ldlm_intent.opc_pin", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_PIN , "", HFILL}},
8934 /*-------------------------------------------------------------------------------------------------------------*/
8935 { &hf_lustre_ldlm_intent_opc,
8936 { "intent opcode", "lustre.ldlm_intent.opc", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
8937 { &hf_lustre_llog_rec_hdr_lrh_type,
8938 { "Lrh Type", "lustre.llog_rec_hdr.lrh_type", FT_UINT32, BASE_HEX, VALS(lustre_llog_op_type), 0, "", HFILL }},
8939 { &hf_lustre_mds_rec_link_lk_fsgid,
8940 { "Lk Fsgid", "lustre.mds_rec_link.lk_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8941 { &hf_lustre_llog_rec_hdr_lrh_len,
8942 { "Lrh Len", "lustre.llog_rec_hdr.lrh_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8943 { &hf_lustre_llog_setattr_rec_lsr_uid,
8944 { "Lsr Uid", "lustre.llog_setattr_rec.lsr_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8945 { &hf_lustre_lov_desc_ld_padding_1,
8946 { "Ld Padding 1", "lustre.lov_desc.ld_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8947 { &hf_lustre_obdo_o_padding_4,
8948 { "O Padding 4", "lustre.obdo.o_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8949 { &hf_lustre_mgs_target_info_padding,
8950 { "Padding", "lustre.mgs_target_info.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8951 { &hf_lustre_obd_quotactl_qc_dqblk,
8952 { "Qc Dqblk", "lustre.obd_quotactl.qc_dqblk", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8953 { &hf_lustre_llogd_conn_body_lgdc_gen,
8954 { "Lgdc Gen", "lustre.llogd_conn_body.lgdc_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8955 { &hf_lustre_mds_rec_create_cr_padding_2,
8956 { "Cr Padding 2", "lustre.mds_rec_create.cr_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8957 { &hf_lustre_mds_rec_setattr_sa_ctime,
8958 { "Sa Ctime", "lustre.mds_rec_setattr.sa_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8959 { &hf_lustre_llog_log_hdr_llh_tail,
8960 { "Llh Tail", "lustre.llog_log_hdr.llh_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8961 { &hf_lustre_obdo_o_size,
8962 { "O Size", "lustre.obdo.o_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8963 { &hf_lustre_mds_rec_setattr_sa_cap,
8964 { "Sa Cap", "lustre.mds_rec_setattr.sa_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8965 { &hf_lustre_ldlm_extent_start,
8966 { "Start", "lustre.ldlm_extent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8967 { &hf_lustre_mds_rec_unlink_ul_opcode,
8968 { "Ul Opcode", "lustre.mds_rec_unlink.ul_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
8969 { &hf_lustre_llog_size_change_rec_lsc_hdr,
8970 { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8971 { &hf_lustre_mds_rec_unlink_ul_time,
8972 { "Ul Time", "lustre.mds_rec_unlink.ul_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8973 { &hf_lustre_llog_create_rec_lcr_tail,
8974 { "Lcr Tail", "lustre.llog_create_rec.lcr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8975 { &hf_lustre_mds_rec_setattr_sa_mode,
8976 { "Sa Mode", "lustre.mds_rec_setattr.sa_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8977 { &hf_lustre_llog_logid_lgl_ogr,
8978 { "Lgl Ogr", "lustre.llog_logid.lgl_ogr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8979 { &hf_lustre_llog_create_rec_lcr_hdr,
8980 { "Lcr Hdr", "lustre.llog_create_rec.lcr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8981 { &hf_lustre_llog_cookie_lgc_padding,
8982 { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8983 { &hf_lustre_mds_rec_create_cr_cap,
8984 { "Cr Cap", "lustre.mds_rec_create.cr_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8985 { &hf_lustre_qunit_data_old_qd_type,
8986 { "Qd Type", "lustre.qunit_data_old.qd_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8987 { &hf_lustre_ldlm_flock_blocking_export,
8988 { "Blocking Export", "lustre.ldlm_flock.blocking_export", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8989 { &hf_lustre_mds_rec_setattr_sa_gid,
8990 { "Sa Gid", "lustre.mds_rec_setattr.sa_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8991 { &hf_lustre_lov_desc_ld_pattern,
8992 { "Ld Pattern", "lustre.lov_desc.ld_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8993 { &hf_lustre_qunit_data_qd_id,
8994 { "Qd Id", "lustre.qunit_data.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8995 { &hf_lustre_mgs_target_info_mti_fsname,
8996 { "Mti Fsname", "lustre.mgs_target_info.mti_fsname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
8997 { &hf_lustre_ldlm_request_lock_flags,
8998 { "Lock Flags", "lustre.ldlm_request.lock_flags", FT_UINT32, BASE_HEX, NULL, 0 , "", HFILL }},
8999 { &hf_lustre_obdo_o_mode,
9000 { "O Mode", "lustre.obdo.o_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9001 { &hf_lustre_mgs_target_info_mti_svname,
9002 { "Mti Svname", "lustre.mgs_target_info.mti_svname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9003 { &hf_lustre_llogd_body_lgd_logid,
9004 { "Lgd Logid", "lustre.llogd_body.lgd_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9005 { &hf_lustre_mds_rec_create_cr_opcode,
9006 { "Cr Opcode", "lustre.mds_rec_create.cr_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
9007 { &hf_lustre_llog_log_hdr_llh_size,
9008 { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9009 { &hf_lustre_llog_create_rec_padding,
9010 { "Padding", "lustre.llog_create_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9011 { &hf_lustre_obdo_o_handle,
9012 { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9013 { &hf_lustre_obdo_o_atime,
9014 { "O Atime", "lustre.obdo.o_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9015 { &hf_lustre_quota_adjust_qunit_qaq_id,
9016 { "Qaq Id", "lustre.quota_adjust_qunit.qaq_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9017 { &hf_lustre_mds_rec_rename_rn_fid2,
9018 { "Rn Fid2", "lustre.mds_rec_rename.rn_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9019 { &hf_lustre_mds_rec_create_cr_replayfid,
9020 { "Cr Replayfid", "lustre.mds_rec_create.cr_replayfid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9021 { &hf_lustre_ldlm_lock_desc_l_policy_data,
9022 { "L Policy Data", "lustre.ldlm_lock_desc.l_policy_data", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9023 { &hf_lustre_mds_rec_link_lk_suppgid1,
9024 { "Lk Suppgid1", "lustre.mds_rec_link.lk_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9025 { &hf_lustre_obd_quotactl_qc_cmd,
9026 { "Qc Cmd", "lustre.obd_quotactl.qc_cmd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9027 { &hf_lustre_mds_rec_rename_rn_padding_3,
9028 { "Rn Padding 3", "lustre.mds_rec_rename.rn_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9029 { &hf_lustre_qunit_data_padding,
9030 { "Padding", "lustre.qunit_data.padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9031 { &hf_lustre_quota_adjust_qunit_qaq_flags,
9032 { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9033 { &hf_lustre_ldlm_lock_desc_l_granted_mode,
9034 { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9035 { &hf_lustre_obdo_o_gr,
9036 { "O Gr", "lustre.obdo.o_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9037 { &hf_lustre_mds_rec_unlink_ul_padding_2,
9038 { "Ul Padding 2", "lustre.mds_rec_unlink.ul_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9039 { &hf_lustre_obdo_o_gid,
9040 { "O Gid", "lustre.obdo.o_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9041 { &hf_lustre_llog_catid_lci_logid,
9042 { "Lci Logid", "lustre.llog_catid.lci_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9043 { &hf_lustre_llog_rec_tail_lrt_index,
9044 { "Lrt Index", "lustre.llog_rec_tail.lrt_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9045 { &hf_lustre_obdo_o_mds,
9046 { "O Mds", "lustre.obdo.o_mds", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9047 { &hf_lustre_lov_desc_ld_default_stripe_count,
9048 { "Ld Default Stripe Count", "lustre.lov_desc.ld_default_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9049 { &hf_lustre_ldlm_resource_desc_lr_padding,
9050 { "Lr Padding", "lustre.ldlm_resource_desc.lr_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9051 { &hf_lustre_cfg_marker_cm_vers,
9052 { "Cm Vers", "lustre.cfg_marker.cm_vers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9053 { &hf_lustre_mds_rec_create_cr_fid,
9054 { "Cr Fid", "lustre.mds_rec_create.cr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9055 { &hf_lustre_llog_unlink_rec_lur_hdr,
9056 { "Lur Hdr", "lustre.llog_unlink_rec.lur_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9057 { &hf_lustre_llogd_body_lgd_index,
9058 { "Lgd Index", "lustre.llogd_body.lgd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9059 { &hf_lustre_cfg_marker_cm_tgtname,
9060 { "Cm Tgtname", "lustre.cfg_marker.cm_tgtname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9061 { &hf_lustre_mds_rec_unlink_ul_padding_1,
9062 { "Ul Padding 1", "lustre.mds_rec_unlink.ul_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9063 { &hf_lustre_mds_rec_unlink_ul_cap,
9064 { "Ul Cap", "lustre.mds_rec_unlink.ul_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9065 { &hf_lustre_llog_setattr_rec_lsr_ogen,
9066 { "Lsr Ogen", "lustre.llog_setattr_rec.lsr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9067 { &hf_lustre_mds_rec_create_cr_padding_3,
9068 { "Cr Padding 3", "lustre.mds_rec_create.cr_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9069 { &hf_lustre_llog_logid_rec_lid_hdr,
9070 { "Lid Hdr", "lustre.llog_logid_rec.lid_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9071 { &hf_lustre_obdo_o_easize,
9072 { "O Easize", "lustre.obdo.o_easize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9073 { &hf_lustre_ost_body_oa,
9074 { "Oa", "lustre.ost_body.oa", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9075 { &hf_lustre_llog_logid_rec_padding3,
9076 { "Padding3", "lustre.llog_logid_rec.padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9077 { &hf_lustre_llog_log_hdr_llh_flags,
9078 { "Llh Flags", "lustre.llog_log_hdr.llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9079 {&hf_lustre_llog_hdr_llh_flag_zap_when_empty,
9080 {"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}},
9081 {&hf_lustre_llog_hdr_llh_flag_is_cat,
9082 {"LLOG_F_IS_CAT","lustre.lustre.llog_log_hdr.llh_flag_cat",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_CAT,"",HFILL}},
9083 {&hf_lustre_llog_hdr_llh_flag_is_play,
9084 {"LOG_F_IS_PLAIN","lustre.lustre.llog_log_hdr.llh_flag_play",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_PLAIN,"",HFILL}},
9086 { &hf_lustre_llog_setattr_rec_lsr_oid,
9087 { "Lsr Oid", "lustre.llog_setattr_rec.lsr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9088 { &hf_lustre_mds_rec_create_cr_mode,
9089 { "Cr Mode", "lustre.mds_rec_create.cr_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9090 { &hf_lustre_llog_size_change_rec_padding,
9091 { "Padding", "lustre.llog_size_change_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9092 { &hf_lustre_mgs_target_info_mti_config_ver,
9093 { "Mti Config Ver", "lustre.mgs_target_info.mti_config_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9094 { &hf_lustre_cfg_marker_cm_createtime,
9095 { "Cm Createtime", "lustre.cfg_marker.cm_createtime",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9096 { &hf_lustre_qunit_data_old_qd_count,
9097 { "Qd Count", "lustre.qunit_data_old.qd_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9098 { &hf_lustre_mds_rec_setattr_sa_uid,
9099 { "Sa Uid", "lustre.mds_rec_setattr.sa_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9100 { &hf_lustre_llog_catid_lci_padding1,
9101 { "Lci Padding1", "lustre.llog_catid.lci_padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9102 { &hf_lustre_mds_rec_setattr_sa_atime,
9103 { "Sa Atime", "lustre.mds_rec_setattr.sa_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9104 { &hf_lustre_lov_desc_ld_active_tgt_count,
9105 { "Ld Active Tgt Count", "lustre.lov_desc.ld_active_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9106 { &hf_lustre_obdo_o_lcookie,
9107 { "O Lcookie", "lustre.obdo.o_lcookie", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9108 { &hf_lustre_llog_gen_rec_lgr_gen,
9109 { "Lgr Gen", "lustre.llog_gen_rec.lgr_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9110 { &hf_lustre_obdo_o_id,
9111 { "O Id", "lustre.obdo.o_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9112 { &hf_lustre_mgs_target_info_mti_uuid,
9113 { "Mti Uuid", "lustre.mgs_target_info.mti_uuid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9114 { &hf_lustre_mds_rec_link_lk_padding_1,
9115 { "Lk Padding 1", "lustre.mds_rec_link.lk_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9116 { &hf_lustre_llog_rec_hdr_lrh_index,
9117 { "Lrh Index", "lustre.llog_rec_hdr.lrh_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9118 { &hf_lustre_llog_setattr_rec_lsr_hdr,
9119 { "Lsr Hdr", "lustre.llog_setattr_rec.lsr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9120 { &hf_lustre_mgs_target_info_mti_stripe_index,
9121 { "Mti Stripe Index", "lustre.mgs_target_info.mti_stripe_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9122 { &hf_lustre_llog_gen_conn_cnt,
9123 { "Conn Cnt", "lustre.llog_gen.conn_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9124 { &hf_lustre_obdo_o_padding_6,
9125 { "O Padding 6", "lustre.obdo.o_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9126 { &hf_lustre_mds_rec_create_cr_suppgid,
9127 { "Cr Suppgid", "lustre.mds_rec_create.cr_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9128 { &hf_lustre_llog_cookie_lgc_index,
9129 { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9130 { &hf_lustre_lov_desc_ld_uuid,
9131 { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9132 { &hf_lustre_llog_create_rec_lcr_oid,
9133 { "Lcr Oid", "lustre.llog_create_rec.lcr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9134 { &hf_lustre_ldlm_reply_lock_desc,
9135 { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9136 { &hf_lustre_lov_desc_ld_padding_0,
9137 { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9138 { &hf_lustre_llog_unlink_rec_lur_ogen,
9139 { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9140 { &hf_lustre_llog_orphan_rec_lor_hdr,
9141 { "Lor Hdr", "lustre.llog_orphan_rec.lor_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9142 { &hf_lustre_mds_rec_rename_rn_fsuid,
9143 { "Rn Fsuid", "lustre.mds_rec_rename.rn_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9144 { &hf_lustre_cfg_marker_cm_flags,
9145 { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9146 { &hf_lustre_obdo_o_padding_3,
9147 { "O Padding 3", "lustre.obdo.o_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9148 { &hf_lustre_mds_rec_create_cr_fsuid,
9149 { "Cr Fsuid", "lustre.mds_rec_create.cr_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9150 { &hf_lustre_mds_rec_unlink_ul_fsgid,
9151 { "Ul Fsgid", "lustre.mds_rec_unlink.ul_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9152 { &hf_lustre_ldlm_request_lock_desc,
9153 { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9154 { &hf_lustre_mds_rec_unlink_ul_fsuid,
9155 { "Ul Fsuid", "lustre.mds_rec_unlink.ul_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9156 { &hf_lustre_mds_rec_link_lk_suppgid2,
9157 { "Lk Suppgid2", "lustre.mds_rec_link.lk_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9158 { &hf_lustre_llog_orphan_rec_padding,
9159 { "Padding", "lustre.llog_orphan_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9160 { &hf_lustre_obdo_o_flags,
9161 { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9162 { &hf_lustre_mgs_target_info_mti_params,
9163 { "Mti Params", "lustre.mgs_target_info.mti_params", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9164 { &hf_lustre_llog_logid_lgl_ogen,
9165 { "Lgl Ogen", "lustre.llog_logid.lgl_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9166 { &hf_lustre_mds_rec_setattr_sa_valid,
9167 { "Sa Valid", "lustre.mds_rec_setattr.sa_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9168 { &hf_lustre_cfg_marker_cm_comment,
9169 { "Cm Comment", "lustre.cfg_marker.cm_comment", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9170 { &hf_lustre_llog_unlink_rec_lur_oid,
9171 { "Lur Oid", "lustre.llog_unlink_rec.lur_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9172 { &hf_lustre_qunit_data_qd_count,
9173 { "Qd Count", "lustre.qunit_data.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9174 { &hf_lustre_mds_rec_rename_rn_padding_1,
9175 { "Rn Padding 1", "lustre.mds_rec_rename.rn_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9176 { &hf_lustre_obdo_o_mtime,
9177 { "O Mtime", "lustre.obdo.o_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9178 { &hf_lustre_mds_rec_rename_rn_fsgid,
9179 { "Rn Fsgid", "lustre.mds_rec_rename.rn_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9180 { &hf_lustre_mds_rec_rename_rn_cap,
9181 { "Rn Cap", "lustre.mds_rec_rename.rn_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9182 { &hf_lustre_obdo_o_blksize,
9183 { "O Blksize", "lustre.obdo.o_blksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9184 { &hf_lustre_mds_rec_unlink_ul_suppgid,
9185 { "Ul Suppgid", "lustre.mds_rec_unlink.ul_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9186 { &hf_lustre_ldlm_res_id_name,
9187 { "Name", "lustre.ldlm_res_id.name", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9188 { &hf_lustre_mds_rec_link_lk_time,
9189 { "Lk Time", "lustre.mds_rec_link.lk_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9190 { &hf_lustre_ldlm_reply_lock_handle,
9191 { "Lock Handle", "lustre.ldlm_reply.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9192 { &hf_lustre_mds_rec_unlink_ul_padding_3,
9193 { "Ul Padding 3", "lustre.mds_rec_unlink.ul_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9194 { &hf_lustre_llogd_body_lgd_saved_index,
9195 { "Lgd Saved Index", "lustre.llogd_body.lgd_saved_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9196 { &hf_lustre_mds_rec_rename_rn_padding_4,
9197 { "Rn Padding 4", "lustre.mds_rec_rename.rn_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9198 { &hf_lustre_qunit_data_old_qd_isblk,
9199 { "Qd Isblk", "lustre.qunit_data_old.qd_isblk", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9200 { &hf_lustre_obdo_o_blocks,
9201 { "O Blocks", "lustre.obdo.o_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9202 { &hf_lustre_lov_desc_ld_padding_2,
9203 { "Ld Padding 2", "lustre.lov_desc.ld_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9204 { &hf_lustre_mds_rec_link_lk_fid2,
9205 { "Lk Fid2", "lustre.mds_rec_link.lk_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9206 { &hf_lustre_llog_logid_rec_lid_tail,
9207 { "Lid Tail", "lustre.llog_logid_rec.lid_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9208 { &hf_lustre_obdo_o_grant,
9209 { "O Grant", "lustre.obdo.o_grant", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9210 { &hf_lustre_obdo_o_padding_2,
9211 { "O Padding 2", "lustre.obdo.o_padding_2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9212 { &hf_lustre_quota_adjust_qunit_qaq_iunit_sz,
9213 { "Qaq Iunit Sz", "lustre.quota_adjust_qunit.qaq_iunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9214 { &hf_lustre_llog_unlink_rec_padding,
9215 { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9216 { &hf_lustre_ldlm_lock_desc_l_req_mode,
9217 { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9218 { &hf_lustre_ldlm_extent_end,
9219 { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9220 { &hf_lustre_llog_gen_rec_lgr_hdr,
9221 { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9222 { &hf_lustre_llog_orphan_rec_lor_ogen,
9223 { "Lor Ogen", "lustre.llog_orphan_rec.lor_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9224 { &hf_lustre_llogd_body_lgd_llh_flags,
9225 { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9226 { &hf_lustre_llog_log_hdr_llh_cat_idx,
9227 { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9228 { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
9229 { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9230 { &hf_lustre_llog_orphan_rec_lor_oid,
9231 { "Lor Oid", "lustre.llog_orphan_rec.lor_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9232 { &hf_lustre_ldlm_reply_lock_padding,
9233 { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9234 { &hf_lustre_obd_quotactl_qc_id,
9235 { "Qc Id", "lustre.obd_quotactl.qc_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9236 { &hf_lustre_mds_rec_create_cr_padding_4,
9237 { "Cr Padding 4", "lustre.mds_rec_create.cr_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9238 { &hf_lustre_llog_logid_rec_padding4,
9239 { "Padding4", "lustre.llog_logid_rec.padding4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9240 { &hf_lustre_mds_rec_link_lk_padding_2,
9241 { "Lk Padding 2", "lustre.mds_rec_link.lk_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9242 { &hf_lustre_llog_setattr_rec_lsr_gid,
9243 { "Lsr Gid", "lustre.llog_setattr_rec.lsr_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9244 { &hf_lustre_obd_quotactl_qc_type,
9245 { "Qc Type", "lustre.obd_quotactl.qc_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9246 { &hf_lustre_cfg_marker_padding,
9247 { "Padding", "lustre.cfg_marker.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9248 { &hf_lustre_mgs_target_info_mti_nids,
9249 { "Mti Nids", "lustre.mgs_target_info.mti_nids", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9250 { &hf_lustre_obdo_o_stripe_idx,
9251 { "O Stripe Idx", "lustre.obdo.o_stripe_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9252 { &hf_lustre_llogd_conn_body_lgdc_logid,
9253 { "Lgdc Logid", "lustre.llogd_conn_body.lgdc_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9254 { &hf_lustre_mds_rec_setattr_sa_fsuid,
9255 { "Sa Fsuid", "lustre.mds_rec_setattr.sa_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9256 { &hf_lustre_ldlm_flock_blocking_pid,
9257 { "Blocking Pid", "lustre.ldlm_flock.blocking_pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9258 { &hf_lustre_lov_desc_ld_tgt_count,
9259 { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9260 { &hf_lustre_llogd_body_lgd_cur_offset,
9261 { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9262 { &hf_lustre_llog_create_rec_lcr_ogen,
9263 { "Lcr Ogen", "lustre.llog_create_rec.lcr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9264 { &hf_lustre_qunit_data_old2_qd_count,
9265 { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9267 { "Operation", "lustre.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
9268 { &hf_lustre_qunit_data_old2_qd_flags,
9269 { "Qd Flags", "lustre.qunit_data_old2.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9270 { &hf_lustre_ldlm_flock_start,
9271 { "Start", "lustre.ldlm_flock.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9272 { &hf_lustre_quota_adjust_qunit_qaq_bunit_sz,
9273 { "Qaq Bunit Sz", "lustre.quota_adjust_qunit.qaq_bunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9274 { &hf_lustre_ldlm_flock_pid,
9275 { "Pid", "lustre.ldlm_flock.pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9276 { &hf_lustre_lov_desc_ld_default_stripe_size,
9277 { "Ld Default Stripe Size", "lustre.lov_desc.ld_default_stripe_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9278 { &hf_lustre_mds_rec_setattr_sa_opcode,
9279 { "Sa Opcode", "lustre.mds_rec_setattr.sa_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
9280 { &hf_lustre_llog_log_hdr_llh_tgtuuid,
9281 { "Llh Tgtuuid", "lustre.llog_log_hdr.llh_tgtuuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9282 { &hf_lustre_mds_rec_link_lk_fid1,
9283 { "Lk Fid1", "lustre.mds_rec_link.lk_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9284 { &hf_lustre_cfg_marker_cm_step,
9285 { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9286 { &hf_lustre_mgs_send_param_mgs_param,
9287 { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9288 { &hf_lustre_llog_create_rec_lcr_fid,
9289 { "Lcr Fid", "lustre.llog_create_rec.lcr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9290 { &hf_lustre_lov_desc_ld_default_stripe_offset,
9291 { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9292 { &hf_lustre_ldlm_resource_desc_lr_name,
9293 { "Lr Name", "lustre.ldlm_resource_desc.lr_name", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9294 { &hf_lustre_llog_rec_tail_lrt_len,
9295 { "Lrt Len", "lustre.llog_rec_tail.lrt_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9296 { &hf_lustre_mds_rec_setattr_sa_mtime,
9297 { "Sa Mtime", "lustre.mds_rec_setattr.sa_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9298 { &hf_lustre_llog_log_hdr_llh_timestamp,
9299 { "Llh Timestamp", "lustre.llog_log_hdr.llh_timestamp", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9300 { &hf_lustre_llog_catid_lci_padding2,
9301 { "Lci Padding2", "lustre.llog_catid.lci_padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9302 { &hf_lustre_llogd_conn_body_lgdc_ctxt_idx,
9303 { "Lgdc Ctxt Idx", "lustre.llogd_conn_body.lgdc_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9304 { &hf_lustre_cfg_marker_cm_canceltime,
9305 { "Cm Canceltime", "lustre.cfg_marker.cm_canceltime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9306 { &hf_lustre_mgs_target_info_mti_lustre_ver,
9307 { "Mti Lustre Ver", "lustre.mgs_target_info.mti_lustre_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9308 { &hf_lustre_obdo_o_padding_1,
9309 { "O Padding 1", "lustre.obdo.o_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9310 { &hf_lustre_qunit_data_qd_flags,
9311 { "Qd Flags", "lustre.qunit_data.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9312 { &hf_lustre_llog_logid_rec_lid_id,
9313 { "Lid Id", "lustre.llog_logid_rec.lid_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9314 { &hf_lustre_obdo_o_generation,
9315 { "O Generation", "lustre.obdo.o_generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9316 { &hf_lustre_llog_gen_mnt_cnt,
9317 { "Mnt Cnt", "lustre.llog_gen.mnt_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9318 { &hf_lustre_llog_size_change_rec_lsc_tail,
9319 { "Lsc Tail", "lustre.llog_size_change_rec.lsc_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9320 { &hf_lustre_obdo_o_padding_5,
9321 { "O Padding 5", "lustre.obdo.o_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9322 { &hf_lustre_ldlm_lock_desc_l_resource,
9323 { "L Resource", "lustre.ldlm_lock_desc.l_resource", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9324 { &hf_lustre_mds_rec_rename_rn_time,
9325 { "Rn Time", "lustre.mds_rec_rename.rn_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9326 { &hf_lustre_mds_rec_create_cr_rdev,
9327 { "Cr Rdev", "lustre.mds_rec_create.cr_rdev", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9328 { &hf_lustre_obdo_o_fid,
9329 { "O Fid", "lustre.obdo.o_fid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9330 { &hf_lustre_mds_rec_setattr_sa_fid,
9331 { "Sa Fid", "lustre.mds_rec_setattr.sa_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9332 { &hf_lustre_ldlm_request_lock_count,
9333 { "Lock Count", "lustre.ldlm_request.lock_count", FT_UINT32, BASE_HEX_DEC, NULL, 0, "", HFILL }},
9334 { &hf_lustre_ldlm_flock_end,
9335 { "End", "lustre.ldlm_flock.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9336 { &hf_lustre_mds_rec_link_lk_opcode,
9337 { "Lk Opcode", "lustre.mds_rec_link.lk_opcode", FT_UINT32, BASE_DEC,VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
9338 { &hf_lustre_mgs_target_info_mti_nid_count,
9339 { "Mti Nid Count", "lustre.mgs_target_info.mti_nid_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9340 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9341 { &hf_lustre_mgs_target_info,
9342 { "mgs target info", "lustre.mgs_target_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9343 { &hf_lustre_mgs_send_param,
9344 { "mgs send param", "lustre.mgs_send_param", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9345 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9346 { &hf_lustre_ost_lvb,
9347 { "ost lvb data", "lustre.ost_lvb", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9349 { &hf_lustre_obdo_o_ctime,
9350 { "O Ctime", "lustre.obdo.o_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9351 { &hf_lustre_ldlm_reply_lock_policy_res2,
9352 { "Lock Policy Res2", "lustre.ldlm_reply.lock_policy_res2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9353 { &hf_lustre_llogd_body_lgd_ctxt_idx,
9354 { "Lgd Ctxt Idx", "lustre.llogd_body.lgd_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9355 { &hf_lustre_mds_rec_unlink_ul_fid2,
9356 { "Ul Fid2", "lustre.mds_rec_unlink.ul_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9357 { &hf_lustre_lov_desc_ld_qos_maxage,
9358 { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9359 { &hf_lustre_ldlm_resource_desc_lr_type,
9360 { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_t_vals), 0, "", HFILL }},
9361 { &hf_lustre_llog_setattr_rec_lsr_tail,
9362 { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9363 { &hf_lustre_llog_cookie_lgc_subsys,
9364 { "Lgc Subsys", "lustre.llog_cookie.lgc_subsys", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9365 { &hf_lustre_llog_log_hdr_llh_hdr,
9366 { "Llh Hdr", "lustre.llog_log_hdr.llh_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9367 { &hf_lustre_mds_rec_setattr_sa_fsgid,
9368 { "Sa Fsgid", "lustre.mds_rec_setattr.sa_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9369 { &hf_lustre_mds_rec_setattr_sa_padding,
9370 { "Sa Padding", "lustre.mds_rec_setattr.sa_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9371 { &hf_lustre_llog_log_hdr_llh_reserved,
9372 { "Llh Reserved", "lustre.llog_log_hdr.llh_reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9374 { &hf_lustre_extra_padding,
9375 { "extra padding", "lustre.msg_v2_extra_padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9376 { &hf_lustre_ldlm_reply,
9377 { "ldlm reply", "lustre.ldlm_reply", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9378 { &hf_lustre_ldlm_request,
9379 { "ldlm request", "lustre.ldlm_request", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9381 /* add for lustre_user.h */
9382 { &hf_lustre_obd_dqinfo_dqi_valid,
9383 { "Dqi Valid", "lustre.obd_dqinfo.dqi_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9384 { &hf_lustre_obd_dqblk_dqb_isoftlimit,
9385 { "Dqb Isoftlimit", "lustre.obd_dqblk.dqb_isoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9386 { &hf_lustre_obd_dqblk_dqb_bhardlimit,
9387 { "Dqb Bhardlimit", "lustre.obd_dqblk.dqb_bhardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9388 { &hf_lustre_obd_dqblk_dqb_curspace,
9389 { "Dqb Curspace", "lustre.obd_dqblk.dqb_curspace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9390 { &hf_lustre_obd_dqblk_dqb_itime,
9391 { "Dqb Itime", "lustre.obd_dqblk.dqb_itime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9392 { &hf_lustre_obd_dqblk_dqb_valid,
9393 { "Dqb Valid", "lustre.obd_dqblk.dqb_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9394 { &hf_lustre_obd_dqinfo_dqi_igrace,
9395 { "Dqi Igrace", "lustre.obd_dqinfo.dqi_igrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9396 { &hf_lustre_obd_dqinfo_dqi_bgrace,
9397 { "Dqi Bgrace", "lustre.obd_dqinfo.dqi_bgrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9398 { &hf_lustre_obd_dqblk_padding,
9399 { "Padding", "lustre.obd_dqblk.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9400 { &hf_lustre_obd_dqblk_dqb_curinodes,
9401 { "Dqb Curinodes", "lustre.obd_dqblk.dqb_curinodes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9402 { &hf_lustre_obd_dqblk_dqb_bsoftlimit,
9403 { "Dqb Bsoftlimit", "lustre.obd_dqblk.dqb_bsoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9404 { &hf_lustre_obd_dqinfo_dqi_flags,
9405 { "Dqi Flags", "lustre.obd_dqinfo.dqi_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9406 { &hf_lustre_obd_dqblk_dqb_btime,
9407 { "Dqb Btime", "lustre.obd_dqblk.dqb_btime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9408 { &hf_lustre_obd_dqblk_dqb_ihardlimit,
9409 { "Dqb Ihardlimit", "lustre.obd_dqblk.dqb_ihardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }}
9414 static gint *ett[] = {
9416 &ett_lustre_lustre_handle_cookie,
9417 &ett_lustre_lustre_msg_v1,
9418 &ett_lustre_lustre_handle_v1,
9419 &ett_lustre_lustre_msg_v2,
9420 &ett_lustre_ptlrpc_body,
9421 &ett_lustre_lustre_handle_v2,
9422 &ett_lustre_obd_connect_data,
9423 &ett_lustre_lov_mds_md_v1,
9424 &ett_lustre_lov_ost_data_v1,
9425 &ett_lustre_obd_statfs,
9426 &ett_lustre_obd_ioobj,
9427 &ett_lustre_niobuf_remote,
9428 &ett_lustre_ost_lvb,
9430 &ett_lustre_mds_status_req,
9431 &ett_lustre_mds_body,
9432 &ett_lustre_obd_quotactl,
9433 &ett_lustre_obd_dqinfo,
9434 &ett_lustre_obd_dqblk,
9435 &ett_lustre_quota_adjust_qunit,
9436 &ett_lustre_mds_rec_setattr,
9437 &ett_lustre_mds_rec_create,
9438 &ett_lustre_mds_rec_link,
9439 &ett_lustre_mds_rec_unlink,
9440 &ett_lustre_mds_rec_rename,
9441 &ett_lustre_lov_desc,
9442 &ett_lustre_obd_uuid,
9443 &ett_lustre_ldlm_res_id,
9444 &ett_lustre_ldlm_extent,
9445 &ett_lustre_ldlm_inodebits,
9446 &ett_lustre_ldlm_flock,
9447 &ett_lustre_ldlm_intent_opc,
9448 &ett_lustre_ldlm_resource_desc,
9449 &ett_lustre_ldlm_res_id,
9450 &ett_lustre_ldlm_lock_desc,
9451 &ett_lustre_ldlm_resource_desc,
9452 &ett_lustre_ldlm_request,
9453 &ett_lustre_ldlm_lock_desc,
9454 &ett_lustre_lustre_handle,
9455 &ett_lustre_ldlm_reply,
9456 &ett_lustre_ldlm_lock_desc,
9457 &ett_lustre_lustre_handle,
9458 &ett_lustre_mgs_send_param,
9459 &ett_lustre_mgs_target_info,
9460 &ett_lustre_cfg_marker,
9461 &ett_lustre_llog_logid,
9462 &ett_lustre_llog_catid,
9463 &ett_lustre_llog_logid,
9464 &ett_lustre_lov_mds_md,
9465 &ett_lustre_llog_logid,
9466 &ett_lustre_llog_rec_hdr,
9467 &ett_lustre_llog_rec_tail,
9468 &ett_lustre_llog_logid_rec,
9469 &ett_lustre_llog_rec_hdr,
9470 &ett_lustre_llog_logid,
9471 &ett_lustre_llog_rec_tail,
9472 &ett_lustre_lov_mds_md,
9473 &ett_lustre_llog_rec_hdr,
9474 &ett_lustre_llog_rec_tail,
9475 &ett_lustre_llog_create_rec,
9476 &ett_lustre_llog_rec_hdr,
9478 &ett_lustre_llog_rec_tail,
9479 &ett_lustre_llog_orphan_rec,
9480 &ett_lustre_llog_rec_hdr,
9481 &ett_lustre_llog_rec_tail,
9482 &ett_lustre_llog_unlink_rec,
9483 &ett_lustre_llog_rec_hdr,
9484 &ett_lustre_llog_rec_tail,
9485 &ett_lustre_llog_setattr_rec,
9486 &ett_lustre_llog_rec_hdr,
9487 &ett_lustre_llog_rec_tail,
9488 &ett_lustre_llog_size_change_rec,
9489 &ett_lustre_llog_rec_hdr,
9491 &ett_lustre_llog_rec_tail,
9492 &ett_lustre_llog_gen,
9493 &ett_lustre_llog_gen_rec,
9494 &ett_lustre_llog_rec_hdr,
9495 &ett_lustre_llog_gen,
9496 &ett_lustre_llog_rec_tail,
9497 &ett_lustre_llog_log_hdr,
9498 &ett_lustre_llog_rec_hdr,
9499 &ett_lustre_obd_uuid,
9500 &ett_lustre_llog_rec_tail,
9501 &ett_lustre_llog_cookie,
9502 &ett_lustre_llog_logid,
9503 &ett_lustre_llogd_body,
9504 &ett_lustre_llog_logid,
9505 &ett_lustre_llogd_conn_body,
9506 &ett_lustre_llog_gen,
9507 &ett_lustre_llog_logid,
9508 &ett_lustre_llog_logid,
9510 &ett_lustre_lustre_handle,
9511 &ett_lustre_llog_cookie,
9512 &ett_lustre_ost_body,
9514 &ett_lustre_qunit_data,
9515 &ett_lustre_qunit_data_old2,
9516 &ett_lustre_qunit_data_old,
9517 &ett_lustre_ldlm_lock_flags,
9518 &ett_lustre_llog_log_llh_flags,
9522 proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
9523 proto_register_field_array(proto_lustre, hf, array_length (hf));
9524 proto_register_subtree_array(ett, array_length(ett));
9528 void proto_reg_handoff_lustre(void)
9530 dissector_handle_t lustre_handle;
9531 lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
9532 /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
9533 /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
9534 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
9535 dissector_add("lnet.ptl_index", CONNMGR_REQUEST_PORTAL , lustre_handle);
9536 dissector_add("lnet.ptl_index", CONNMGR_REPLY_PORTAL , lustre_handle);
9537 dissector_add("lnet.ptl_index", OSC_REPLY_PORTAL , lustre_handle);
9538 dissector_add("lnet.ptl_index", OST_IO_PORTAL , lustre_handle);
9539 dissector_add("lnet.ptl_index", OST_CREATE_PORTAL , lustre_handle);
9540 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
9541 dissector_add("lnet.ptl_index", MDS_REQUEST_PORTAL , lustre_handle);
9542 dissector_add("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL , lustre_handle);
9543 dissector_add("lnet.ptl_index", LDLM_CB_REPLY_PORTAL , lustre_handle);
9544 dissector_add("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
9545 dissector_add("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL , lustre_handle);
9546 dissector_add("lnet.ptl_index", MDS_SETATTR_PORTAL , lustre_handle);
9547 dissector_add("lnet.ptl_index", MDS_READPAGE_PORTAL , lustre_handle);
9548 dissector_add("lnet.ptl_index", MGC_REPLY_PORTAL , lustre_handle);
9549 dissector_add("lnet.ptl_index", MGS_REQUEST_PORTAL , lustre_handle);
9550 dissector_add("lnet.ptl_index", MGS_REPLY_PORTAL , lustre_handle);
9551 dissector_add("lnet.ptl_index", OST_REQUEST_PORTAL , lustre_handle);