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 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,
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_join = -1;
315 static gint ett_lustre_mds_rec_link = -1;
316 static gint ett_lustre_mds_rec_unlink = -1;
317 static gint ett_lustre_mds_rec_rename = -1;
318 static gint ett_lustre_lov_desc = -1;
319 static gint ett_lustre_obd_uuid = -1;
320 static gint ett_lustre_ldlm_res_id = -1;
321 static gint ett_lustre_ldlm_extent = -1;
322 static gint ett_lustre_ldlm_inodebits = -1;
323 static gint ett_lustre_ldlm_flock = -1;
324 static gint ett_lustre_ldlm_intent_opc = -1;
325 static gint ett_lustre_ldlm_resource_desc = -1;
326 static gint ett_lustre_ldlm_lock_desc = -1;
327 static gint ett_lustre_ldlm_request = -1;
328 static gint ett_lustre_lustre_handle = -1;
329 static gint ett_lustre_ldlm_reply = -1;
330 static gint ett_lustre_mgs_send_param = -1;
331 static gint ett_lustre_mgs_target_info = -1;
332 static gint ett_lustre_cfg_marker = -1;
333 static gint ett_lustre_llog_catid = -1;
334 static gint ett_lustre_lov_mds_md_join = -1;
335 static gint ett_lustre_llog_rec_hdr = -1;
336 static gint ett_lustre_llog_logid_rec = -1;
337 static gint ett_lustre_llog_logid = -1;
338 static gint ett_lustre_llog_rec_tail = -1;
339 static gint ett_lustre_lov_mds_md = -1;
340 static gint ett_lustre_llog_array_rec = -1;
341 static gint ett_lustre_mds_extent_desc = -1;
342 static gint ett_lustre_llog_create_rec = -1;
343 static gint ett_lustre_llog_orphan_rec = -1;
344 static gint ett_lustre_llog_unlink_rec = -1;
345 static gint ett_lustre_llog_setattr_rec = -1;
346 static gint ett_lustre_llog_size_change_rec = -1;
347 static gint ett_lustre_llog_gen_rec = -1;
348 static gint ett_lustre_llog_log_hdr = -1;
349 static gint ett_lustre_llog_cookie = -1;
350 static gint ett_lustre_llogd_body = -1;
351 static gint ett_lustre_llogd_conn_body = -1;
352 static gint ett_lustre_llog_gen = -1;
353 static gint ett_lustre_lov_user_md_join = -1;
354 static gint ett_lustre_lov_user_ost_data_join = -1;
355 static gint ett_lustre_obdo = -1;
356 static gint ett_lustre_ost_body = -1;
357 static gint ett_lustre_qunit_data = -1;
358 static gint ett_lustre_qunit_data_old2 = -1;
359 static gint ett_lustre_qunit_data_old = -1;
360 static gint ett_lustre_ldlm_lock_flags = -1 ;
362 /* -----------------------------------------------*/
363 /* Header field declarations */
364 static int hf_lustre_ptlrpc_body_pb = -1 ;
365 static int hf_lustre_mds_body = -1 ;
366 static int hf_lustre_ost_body = -1 ;
367 static int hf_lustre_obd_statfs = -1 ;
368 static int hf_lustre_obd_quotactl = -1 ;
369 static int hf_lustre_quota_adjust_qunit = -1 ;
370 static int hf_lustre_extra_padding = -1 ;
371 static int hf_lustre_ldlm_reply = -1 ;
372 static int hf_lustre_ldlm_request = -1 ;
373 static int hf_lustre_mds_rec_create = -1 ;
374 static int hf_lustre_mds_rec_link = -1 ;
375 static int hf_lustre_mds_rec_unlink = -1 ;
376 static int hf_lustre_obd_uuid = -1 ;
377 static int hf_lustre_obd_connect_data = -1 ;
378 static int hf_lustre_ldlm_intent = -1;
379 static int hf_lustre_lov_user_md_join = -1 ;
380 static int hf_lustre_obd_ioobj = -1 ;
381 static int hf_lustre_niobuf_remote = -1 ;
382 static int hf_lustre_ost_key = -1 ;
383 static int hf_lustre_nio= -1 ;
384 static int hf_lustre_ost_val= -1;
385 static int hf_lustre_llogd_body = -1;
386 static int hf_lustre_llogd_log_hdr= -1;
387 static int hf_lustre_llog_logid_rec =-1 ;
388 static int hf_lustre_llogd_chunk= -1;
389 static int hf_lustre_llogd_keyword= -1;
390 static int hf_lustre_llogd_client= -1;
391 static int hf_lustre_llogd_name= -1;
393 static int hf_lustre_mds_xattr_name = -1;
394 static int hf_lustre_lov_mds_md_v1= -1;
395 static int hf_lustre_llog_cookie= -1;
396 static int hf_lustre_mds_md_data= -1;
397 static int hf_lustre_mds_reint_opcode= -1;
398 static int hf_lustre_mds_xattr_eadata = -1;
399 static int hf_lustre_lov_mds_md_join = -1 ;
401 static int hf_lustre_reint_name= -1;
402 static int hf_lustre_reint_old_name= -1;
403 static int hf_lustre_reint_new_name= -1;
405 static int hf_lustre_mgs_target_info = -1 ;
406 static int hf_lustre_mgs_send_param = -1;
408 static int hf_lustre_ost_lvb = -1 ;
410 static int hf_lustre_ldlm_fl_lock_changed = -1;
411 static int hf_lustre_ldlm_fl_block_granted = -1;
412 static int hf_lustre_ldlm_fl_block_conv = -1;
413 static int hf_lustre_ldlm_fl_block_wait = -1;
414 static int hf_lustre_ldlm_fl_cbpending = -1;
415 static int hf_lustre_ldlm_fl_ast_sent = -1;
416 static int hf_lustre_ldlm_fl_wait_noreproc = -1;
417 static int hf_lustre_ldlm_fl_cancel = -1;
418 static int hf_lustre_ldlm_fl_replay = -1;
419 static int hf_lustre_ldlm_fl_intent_only = -1;
420 static int hf_lustre_ldlm_fl_local_only = -1;
421 static int hf_lustre_ldlm_fl_failed = -1;
422 static int hf_lustre_ldlm_fl_has_intent = -1;
423 static int hf_lustre_ldlm_fl_canceling = -1;
424 static int hf_lustre_ldlm_fl_local = -1;
425 static int hf_lustre_ldlm_fl_warn = -1;
426 static int hf_lustre_ldlm_fl_discard_data = -1;
427 static int hf_lustre_ldlm_fl_no_timeout = -1;
428 static int hf_lustre_ldlm_fl_block_nowait = -1;
429 static int hf_lustre_ldlm_fl_test_lock = -1;
430 static int hf_lustre_ldlm_fl_lvb_ready = -1;
431 static int hf_lustre_ldlm_fl_kms_ignore = -1;
432 static int hf_lustre_ldlm_fl_no_lru = -1;
433 static int hf_lustre_ldlm_fl_cancel_on_block = -1;
434 static int hf_lustre_ldlm_fl_cp_reqd = -1;
435 static int hf_lustre_ldlm_fl_cleaned = -1;
436 static int hf_lustre_ldlm_fl_atomic_cb = -1;
437 static int hf_lustre_ldlm_fl_bl_ast = -1;
438 static int hf_lustre_ldlm_fl_bl_done = -1;
439 static int hf_lustre_ldlm_fl_deny_on_contention = -1;
440 static int hf_lustre_ldlm_ast_discard_data = -1;
442 static int hf_lustre_mds_body_ctime = -1;
443 static int hf_lustre_mds_body_fid1 = -1;
444 static int hf_lustre_mds_body_nlink = -1;
445 static int hf_lustre_mds_body_flags = -1;
446 static int hf_lustre_mds_body_fsgid = -1;
447 static int hf_lustre_mds_body_mtime = -1;
448 static int hf_lustre_mds_body_uid = -1;
449 static int hf_lustre_mds_body_mode = -1;
450 static int hf_lustre_mds_body_max_cookiesize = -1;
451 static int hf_lustre_mds_body_io_epoch = -1;
452 static int hf_lustre_mds_body_ino = -1;
453 static int hf_lustre_mds_body_fid2 = -1;
454 static int hf_lustre_mds_body_padding_4 = -1;
455 static int hf_lustre_mds_body_aclsize = -1;
456 static int hf_lustre_mds_body_valid = -1;
457 static int hf_lustre_mds_body_generation = -1;
458 static int hf_lustre_mds_body_atime = -1;
459 static int hf_lustre_mds_body_handle = -1;
460 static int hf_lustre_mds_body_max_mdsize = -1;
461 static int hf_lustre_mds_body_rdev = -1;
462 static int hf_lustre_mds_body_blocks = -1;
463 static int hf_lustre_mds_body_fsuid = -1;
464 static int hf_lustre_mds_body_gid = -1;
465 static int hf_lustre_lustre_handle_cookie = -1;
466 static int hf_lustre_mds_body_suppgid = -1;
467 static int hf_lustre_mds_body_size = -1;
468 static int hf_lustre_mds_body_eadatasize = -1;
469 static int hf_lustre_mds_body_capability = -1;
471 static int hf_lustre_ptlrpc_body_pb_last_committed = -1;
472 static int hf_lustre_ptlrpc_body_pb_version = -1;
473 static int hf_lustre_lustre_msg_v1_lm_bufcount = -1;
474 static int hf_lustre_obd_ioobj_ioo_id = -1;
475 static int hf_lustre_ptlrpc_body_pb_slv = -1;
476 static int hf_lustre_lustre_msg_v1_lm_handle = -1;
477 static int hf_lustre_ost_lvb_lvb_atime = -1;
478 static int hf_lustre_ptlrpc_body_pb_timeout = -1;
479 static int hf_lustre_obd_statfs_os_bavail = -1;
480 static int hf_lustre_obd_statfs_os_bsize = -1;
481 static int hf_lustre_lustre_msg_v2_lm_repsize = -1;
482 static int hf_lustre_lov_mds_md_v1_lmm_stripe_size = -1;
483 static int hf_lustre_lustre_msg_v1_lm_last_xid = -1;
484 static int hf_lustre_ll_fid_f_type = -1;
485 static int hf_lustre_lustre_msg_v2_lm_cksum = -1;
486 static int hf_lustre_lustre_msg_v2_lm_buflens = -1;
487 static int hf_lustre_lustre_msg_v1_lm_status = -1;
488 static int hf_lustre_lustre_msg_v1_lm_type = -1;
489 static int hf_lustre_niobuf_remote_len = -1;
490 static int hf_lustre_lov_mds_md_v1_lmm_magic = -1;
491 static int hf_lustre_ptlrpc_body_pb_op_flags = -1;
492 static int hf_lustre_ost_lvb_lvb_ctime = -1;
493 static int hf_lustre_ptlrpc_body_pb_type = -1;
494 static int hf_lustre_obd_connect_data_ocd_nllg = -1;
495 static int hf_lustre_obd_connect_data_ocd_nllu = -1;
496 static int hf_lustre_ll_fid_generation = -1;
497 static int hf_lustre_ost_lvb_lvb_mtime = -1;
498 static int hf_lustre_obd_connect_data_ocd_ibits_known = -1;
499 static int hf_lustre_lustre_msg_v2_lm_padding_3 = -1;
500 static int hf_lustre_ptlrpc_body_pb_flags = -1;
501 static int hf_lustre_obd_statfs_os_spare4 = -1;
502 static int hf_lustre_obd_connect_data_ocd_group = -1;
503 static int hf_lustre_lov_ost_data_v1_l_object_gr = -1;
504 static int hf_lustre_lov_mds_md_v1_lmm_object_gr = -1;
505 static int hf_lustre_obd_connect_data_ocd_brw_size = -1;
506 static int hf_lustre_ptlrpc_body_pb_limit = -1;
507 static int hf_lustre_obd_statfs_os_maxbytes = -1;
508 static int hf_lustre_obd_statfs_os_spare5 = -1;
509 static int hf_lustre_lustre_msg_v2_lm_flags = -1;
510 static int hf_lustre_obd_statfs_os_ffree = -1;
511 static int hf_lustre_obd_statfs_os_files = -1;
512 static int hf_lustre_lov_mds_md_v1_lmm_stripe_count = -1;
513 static int hf_lustre_lustre_msg_v1_lm_flags = -1;
514 static int hf_lustre_lustre_msg_v1_lm_last_committed = -1;
515 static int hf_lustre_obd_statfs_os_spare9 = -1;
516 static int hf_lustre_obd_connect_data_ocd_index = -1;
517 static int hf_lustre_opnum = -1;
518 static int hf_lustre_lustre_msg_v1_lm_buflens = -1;
519 static int hf_lustre_obd_statfs_os_spare1 = -1;
520 static int hf_lustre_obd_statfs_os_spare8 = -1;
521 static int hf_lustre_lustre_msg_v1_lm_conn_cnt = -1;
522 static int hf_lustre_ptlrpc_body_pb_transno = -1;
523 static int hf_lustre_ptlrpc_body_pb_service_time = -1;
524 static int hf_lustre_ptlrpc_body_pb_conn_cnt = -1;
525 static int hf_lustre_ptlrpc_body_pb_opc = -1;
526 static int hf_lustre_obd_connect_data_ocd_connect_flags = -1;
527 static int hf_lustre_lov_ost_data_v1_l_object_id = -1;
528 static int hf_lustre_lov_ost_data_v1_l_ost_gen = -1;
529 static int hf_lustre_obd_statfs_os_bfree = -1;
530 static int hf_lustre_obd_connect_data_ocd_version = -1;
531 static int hf_lustre_lov_mds_md_v1_lmm_objects = -1;
532 static int hf_lustre_mds_status_req_flags = -1;
533 static int hf_lustre_obd_statfs_os_namelen = -1;
534 static int hf_lustre_obd_statfs_os_blocks = -1;
535 static int hf_lustre_lustre_msg_v2_lm_secflvr = -1;
536 static int hf_lustre_lustre_msg_v1_lm_transno = -1;
537 static int hf_lustre_lov_mds_md_v1_lmm_pattern = -1;
538 static int hf_lustre_lustre_msg_v1_lm_opc = -1;
539 static int hf_lustre_obd_connect_data_ocd_grant = -1;
540 static int hf_lustre_obd_ioobj_ioo_bufcnt = -1;
541 static int hf_lustre_lustre_msg_v1_lm_version = -1;
542 static int hf_lustre_obd_statfs_os_spare7 = -1;
543 static int hf_lustre_obd_statfs_os_fsid = -1;
544 static int hf_lustre_obd_connect_data_ocd_cksum_types = -1;
545 static int hf_lustre_ost_lvb_lvb_size = -1;
546 static int hf_lustre_obd_statfs_os_type = -1;
547 static int hf_lustre_obd_statfs_os_spare6 = -1;
548 static int hf_lustre_obd_statfs_os_state = -1;
549 static int hf_lustre_obd_statfs_os_spare3 = -1;
550 static int hf_lustre_lustre_msg_v2_lm_magic = -1;
551 static int hf_lustre_lov_mds_md_v1_lmm_object_id = -1;
552 static int hf_lustre_ptlrpc_body_pb_last_seen = -1;
553 static int hf_lustre_obd_ioobj_ioo_type = -1;
554 static int hf_lustre_ptlrpc_body_pb_last_xid = -1;
555 static int hf_lustre_ptlrpc_body_pb_status = -1;
556 static int hf_lustre_niobuf_remote_flags = -1;
557 static int hf_lustre_ll_fid_id = -1;
558 static int hf_lustre_ost_lvb_lvb_blocks = -1;
559 static int hf_lustre_lustre_msg_v2_lm_padding_2 = -1;
560 static int hf_lustre_obd_connect_data_padding1 = -1;
561 static int hf_lustre_lov_ost_data_v1_l_ost_idx = -1;
562 static int hf_lustre_obd_connect_data_padding2 = -1;
563 static int hf_lustre_obd_ioobj_ioo_gr = -1;
564 static int hf_lustre_niobuf_remote_offset=-1;
565 static int hf_lustre_mds_status_req_repbuf = -1;
566 static int hf_lustre_obd_statfs_os_spare2 = -1;
567 static int hf_lustre_lustre_msg_v2_lm_bufcount = -1;
568 static int hf_lustre_ptlrpc_body_pb_handle = -1;
569 static int hf_lustre_obd_connect_data_ocd_transno = -1;
570 static int hf_lustre_lustre_msg_v1_lm_magic = -1;
571 static int hf_lustre_llog_unlink_rec_lur_tail = -1;
572 static int hf_lustre_llog_size_change_rec_lsc_io_epoch = -1;
573 static int hf_lustre_mgs_target_info_mti_flags = -1;
574 static int hf_lustre_ldlm_reply_lock_policy_res1 = -1;
575 static int hf_lustre_mds_rec_link_lk_fsuid = -1;
576 static int hf_lustre_llogd_body_lgd_len = -1;
577 static int hf_lustre_qunit_data_old_qd_id = -1;
578 static int hf_lustre_lov_user_md_join_lmm_stripe_count = -1;
579 static int hf_lustre_llog_logid_rec_padding1 = -1;
580 static int hf_lustre_quota_adjust_qunit_padding1 = -1;
581 static int hf_lustre_llog_size_change_rec_lsc_fid = -1;
582 static int hf_lustre_llog_rec_hdr_padding = -1;
583 static int hf_lustre_mds_rec_create_cr_time = -1;
584 static int hf_lustre_mds_rec_create_cr_padding_1 = -1;
585 static int hf_lustre_obdo_o_nlink = -1;
586 static int hf_lustre_mds_rec_rename_rn_suppgid2 = -1;
587 static int hf_lustre_mds_rec_link_lk_padding_4 = -1;
588 static int hf_lustre_mds_rec_link_lk_cap = -1;
589 static int hf_lustre_ldlm_extent_gid = -1;
590 static int hf_lustre_obdo_o_uid = -1;
591 static int hf_lustre_mds_rec_create_cr_padding_5 = -1;
592 static int hf_lustre_obdo_o_valid = -1;
593 static int hf_lustre_ldlm_reply_lock_flags = -1;
594 static int hf_lustre_mds_rec_link_lk_padding_3 = -1;
595 static int hf_lustre_obdo_o_misc = -1;
596 static int hf_lustre_mds_rec_setattr_sa_suppgid = -1;
597 static int hf_lustre_mds_rec_setattr_sa_attr_flags = -1;
598 static int hf_lustre_mds_rec_rename_rn_padding_2 = -1;
599 static int hf_lustre_ldlm_request_lock_handle = -1;
600 static int hf_lustre_llog_logid_lgl_oid = -1;
601 static int hf_lustre_ldlm_inodebits_bits = -1;
602 static int hf_lustre_llog_log_hdr_llh_count = -1;
603 static int hf_lustre_mds_rec_unlink_ul_padding_4 = -1;
604 static int hf_lustre_lov_user_md_join_lmm_stripe_size = -1;
605 static int hf_lustre_llog_gen_rec_lgr_tail = -1;
606 static int hf_lustre_llog_catid_lci_padding3 = -1;
607 static int hf_lustre_qunit_data_qd_qunit = -1;
608 static int hf_lustre_mds_rec_unlink_ul_fid1 = -1;
609 static int hf_lustre_llog_setattr_rec_padding = -1;
610 static int hf_lustre_mds_rec_rename_rn_opcode = -1;
611 static int hf_lustre_mds_rec_create_cr_flags = -1;
612 static int hf_lustre_mds_rec_rename_rn_fid1 = -1;
613 static int hf_lustre_mds_extent_desc_med_start = -1;
614 static int hf_lustre_llog_cookie_lgc_lgl = -1;
615 static int hf_lustre_obd_quotactl_qc_dqinfo = -1;
616 static int hf_lustre_llog_log_hdr_llh_bitmap = -1;
617 static int hf_lustre_mds_rec_setattr_sa_size = -1;
618 static int hf_lustre_mds_rec_rename_rn_suppgid1 = -1;
619 static int hf_lustre_obd_quotactl_qc_stat = -1;
620 static int hf_lustre_qunit_data_old2_qd_id = -1;
621 static int hf_lustre_llog_logid_rec_padding2 = -1;
622 static int hf_lustre_mds_rec_unlink_ul_mode = -1;
623 static int hf_lustre_llog_orphan_rec_lor_tail = -1;
624 static int hf_lustre_llog_logid_rec_padding5 = -1;
625 static int hf_lustre_mds_rec_create_cr_fsgid = -1;
626 static int hf_lustre_mds_rec_join_jr_fid = -1;
627 static int hf_lustre_ldlm_intent_opc = -1;
628 static int hf_lustre_llog_rec_hdr_lrh_type = -1;
629 static int hf_lustre_mds_rec_link_lk_fsgid = -1;
630 static int hf_lustre_llog_rec_hdr_lrh_len = -1;
631 static int hf_lustre_llog_setattr_rec_lsr_uid = -1;
632 static int hf_lustre_lov_desc_ld_padding_1 = -1;
633 static int hf_lustre_obdo_o_padding_4 = -1;
634 static int hf_lustre_mgs_target_info_padding = -1;
635 static int hf_lustre_obd_quotactl_qc_dqblk = -1;
636 static int hf_lustre_llogd_conn_body_lgdc_gen = -1;
637 static int hf_lustre_mds_rec_create_cr_padding_2 = -1;
638 static int hf_lustre_mds_rec_setattr_sa_ctime = -1;
639 static int hf_lustre_llog_log_hdr_llh_tail = -1;
640 static int hf_lustre_obdo_o_size = -1;
641 static int hf_lustre_mds_rec_setattr_sa_cap = -1;
642 static int hf_lustre_ldlm_extent_start = -1;
643 static int hf_lustre_mds_rec_unlink_ul_opcode = -1;
644 static int hf_lustre_llog_size_change_rec_lsc_hdr = -1;
645 static int hf_lustre_mds_rec_unlink_ul_time = -1;
646 static int hf_lustre_lov_user_ost_data_join_l_extent_start = -1;
647 static int hf_lustre_lov_user_md_join_lmm_tree_id = -1;
648 static int hf_lustre_llog_create_rec_lcr_tail = -1;
649 static int hf_lustre_mds_rec_setattr_sa_mode = -1;
650 static int hf_lustre_llog_logid_lgl_ogr = -1;
651 static int hf_lustre_llog_create_rec_lcr_hdr = -1;
652 static int hf_lustre_llog_cookie_lgc_padding = -1;
653 static int hf_lustre_mds_rec_create_cr_cap = -1;
654 static int hf_lustre_qunit_data_old_qd_type = -1;
655 static int hf_lustre_ldlm_flock_blocking_export = -1;
656 static int hf_lustre_mds_rec_setattr_sa_gid = -1;
657 static int hf_lustre_lov_desc_ld_pattern = -1;
658 static int hf_lustre_qunit_data_qd_id = -1;
659 static int hf_lustre_mgs_target_info_mti_fsname = -1;
660 static int hf_lustre_lov_user_md_join_lmm_object_gr = -1;
661 static int hf_lustre_ldlm_request_lock_flags = -1;
662 static int hf_lustre_obdo_o_mode = -1;
663 static int hf_lustre_mgs_target_info_mti_svname = -1;
664 static int hf_lustre_llogd_body_lgd_logid = -1;
665 static int hf_lustre_mds_rec_create_cr_opcode = -1;
666 static int hf_lustre_llog_log_hdr_llh_size = -1;
667 static int hf_lustre_llog_create_rec_padding = -1;
668 static int hf_lustre_obdo_o_handle = -1;
669 static int hf_lustre_obdo_o_atime = -1;
670 static int hf_lustre_quota_adjust_qunit_qaq_id = -1;
671 static int hf_lustre_mds_rec_rename_rn_fid2 = -1;
672 static int hf_lustre_mds_rec_create_cr_replayfid = -1;
673 static int hf_lustre_ldlm_lock_desc_l_policy_data = -1;
674 static int hf_lustre_mds_rec_link_lk_suppgid1 = -1;
675 static int hf_lustre_obd_quotactl_qc_cmd = -1;
676 static int hf_lustre_lov_user_md_join_lmm_object_id = -1;
677 static int hf_lustre_mds_rec_rename_rn_padding_3 = -1;
678 static int hf_lustre_qunit_data_padding = -1;
679 static int hf_lustre_lov_user_md_join_lmm_objects = -1;
680 static int hf_lustre_quota_adjust_qunit_qaq_flags = -1;
681 static int hf_lustre_lov_user_ost_data_join_l_object_gr = -1;
682 static int hf_lustre_ldlm_lock_desc_l_granted_mode = -1;
683 static int hf_lustre_obdo_o_gr = -1;
684 static int hf_lustre_mds_rec_unlink_ul_padding_2 = -1;
685 static int hf_lustre_obdo_o_gid = -1;
686 static int hf_lustre_llog_catid_lci_logid = -1;
687 static int hf_lustre_llog_rec_tail_lrt_index = -1;
688 static int hf_lustre_obdo_o_mds = -1;
689 static int hf_lustre_mds_extent_desc_med_lmm = -1;
690 static int hf_lustre_lov_desc_ld_default_stripe_count = -1;
691 static int hf_lustre_ldlm_resource_desc_lr_padding = -1;
692 static int hf_lustre_cfg_marker_cm_vers = -1;
693 static int hf_lustre_mds_rec_create_cr_fid = -1;
694 static int hf_lustre_llog_unlink_rec_lur_hdr = -1;
695 static int hf_lustre_llogd_body_lgd_index = -1;
696 static int hf_lustre_cfg_marker_cm_tgtname = -1;
697 static int hf_lustre_mds_rec_unlink_ul_padding_1 = -1;
698 static int hf_lustre_mds_rec_unlink_ul_cap = -1;
699 static int hf_lustre_llog_array_rec_lmr_med = -1;
700 static int hf_lustre_llog_setattr_rec_lsr_ogen = -1;
701 static int hf_lustre_mds_rec_create_cr_padding_3 = -1;
702 static int hf_lustre_llog_logid_rec_lid_hdr = -1;
703 static int hf_lustre_lov_user_ost_data_join_l_ost_idx = -1;
704 static int hf_lustre_obdo_o_easize = -1;
705 static int hf_lustre_lov_user_md_join_lmm_array_id = -1;
706 static int hf_lustre_ost_body_oa = -1;
707 static int hf_lustre_llog_logid_rec_padding3 = -1;
708 static int hf_lustre_llog_log_hdr_llh_flags = -1;
709 static int hf_lustre_llog_setattr_rec_lsr_oid = -1;
710 static int hf_lustre_mds_rec_create_cr_mode = -1;
711 static int hf_lustre_llog_size_change_rec_padding = -1;
712 static int hf_lustre_mgs_target_info_mti_config_ver = -1;
713 static int hf_lustre_cfg_marker_cm_createtime = -1;
714 static int hf_lustre_qunit_data_old_qd_count = -1;
715 static int hf_lustre_lov_mds_md_join_lmmj_array_id = -1;
716 static int hf_lustre_mds_rec_setattr_sa_uid = -1;
717 static int hf_lustre_llog_catid_lci_padding1 = -1;
718 static int hf_lustre_mds_rec_setattr_sa_atime = -1;
719 static int hf_lustre_lov_desc_ld_active_tgt_count = -1;
720 static int hf_lustre_obdo_o_lcookie = -1;
721 static int hf_lustre_llog_gen_rec_lgr_gen = -1;
722 static int hf_lustre_lov_user_ost_data_join_l_object_id = -1;
723 static int hf_lustre_obdo_o_id = -1;
724 static int hf_lustre_mgs_target_info_mti_uuid = -1;
725 static int hf_lustre_mds_rec_link_lk_padding_1 = -1;
726 static int hf_lustre_llog_rec_hdr_lrh_index = -1;
727 static int hf_lustre_llog_setattr_rec_lsr_hdr = -1;
728 static int hf_lustre_mgs_target_info_mti_stripe_index = -1;
729 static int hf_lustre_llog_gen_conn_cnt = -1;
730 static int hf_lustre_obdo_o_padding_6 = -1;
731 static int hf_lustre_mds_rec_create_cr_suppgid = -1;
732 static int hf_lustre_llog_cookie_lgc_index = -1;
733 static int hf_lustre_lov_desc_ld_uuid = -1;
734 static int hf_lustre_llog_create_rec_lcr_oid = -1;
735 static int hf_lustre_ldlm_reply_lock_desc = -1;
736 static int hf_lustre_lov_desc_ld_padding_0 = -1;
737 static int hf_lustre_llog_unlink_rec_lur_ogen = -1;
738 static int hf_lustre_llog_orphan_rec_lor_hdr = -1;
739 static int hf_lustre_mds_rec_rename_rn_fsuid = -1;
740 static int hf_lustre_cfg_marker_cm_flags = -1;
741 static int hf_lustre_obdo_o_padding_3 = -1;
742 static int hf_lustre_lov_user_ost_data_join_l_ost_gen = -1;
743 static int hf_lustre_mds_rec_create_cr_fsuid = -1;
744 static int hf_lustre_mds_rec_unlink_ul_fsgid = -1;
745 static int hf_lustre_ldlm_request_lock_desc = -1;
746 static int hf_lustre_lov_user_md_join_lmm_pattern = -1;
747 static int hf_lustre_mds_rec_unlink_ul_fsuid = -1;
748 static int hf_lustre_mds_rec_link_lk_suppgid2 = -1;
749 static int hf_lustre_llog_orphan_rec_padding = -1;
750 static int hf_lustre_lov_user_md_join_lmm_tree_gen = -1;
751 static int hf_lustre_obdo_o_flags = -1;
752 static int hf_lustre_mgs_target_info_mti_params = -1;
753 static int hf_lustre_llog_logid_lgl_ogen = -1;
754 static int hf_lustre_mds_rec_setattr_sa_valid = -1;
755 static int hf_lustre_cfg_marker_cm_comment = -1;
756 static int hf_lustre_llog_unlink_rec_lur_oid = -1;
757 static int hf_lustre_qunit_data_qd_count = -1;
758 static int hf_lustre_mds_rec_rename_rn_padding_1 = -1;
759 static int hf_lustre_obdo_o_mtime = -1;
760 static int hf_lustre_lov_mds_md_join_lmmj_md = -1;
761 static int hf_lustre_mds_rec_rename_rn_fsgid = -1;
762 static int hf_lustre_mds_rec_rename_rn_cap = -1;
763 static int hf_lustre_obdo_o_blksize = -1;
764 static int hf_lustre_mds_rec_unlink_ul_suppgid = -1;
765 static int hf_lustre_ldlm_res_id_name = -1;
766 static int hf_lustre_mds_rec_link_lk_time = -1;
767 static int hf_lustre_ldlm_reply_lock_handle = -1;
768 static int hf_lustre_mds_rec_unlink_ul_padding_3 = -1;
769 static int hf_lustre_llogd_body_lgd_saved_index = -1;
770 static int hf_lustre_mds_rec_join_jr_headsize = -1;
771 static int hf_lustre_mds_rec_rename_rn_padding_4 = -1;
772 static int hf_lustre_qunit_data_old_qd_isblk = -1;
773 static int hf_lustre_obdo_o_blocks = -1;
774 static int hf_lustre_lov_desc_ld_padding_2 = -1;
775 static int hf_lustre_mds_rec_link_lk_fid2 = -1;
776 static int hf_lustre_llog_logid_rec_lid_tail = -1;
777 static int hf_lustre_obdo_o_grant = -1;
778 static int hf_lustre_obdo_o_padding_2 = -1;
779 static int hf_lustre_quota_adjust_qunit_qaq_iunit_sz = -1;
780 static int hf_lustre_llog_unlink_rec_padding = -1;
781 static int hf_lustre_ldlm_lock_desc_l_req_mode = -1;
782 static int hf_lustre_ldlm_extent_end = -1;
783 static int hf_lustre_llog_gen_rec_lgr_hdr = -1;
784 static int hf_lustre_llog_orphan_rec_lor_ogen = -1;
785 static int hf_lustre_lov_user_md_join_lmm_extent_count = -1;
786 static int hf_lustre_mds_extent_desc_med_len = -1;
787 static int hf_lustre_llogd_body_lgd_llh_flags = -1;
788 static int hf_lustre_llog_array_rec_lmr_hdr = -1;
789 static int hf_lustre_llog_log_hdr_llh_cat_idx = -1;
790 static int hf_lustre_llog_log_hdr_llh_bitmap_offset=-1;
791 static int hf_lustre_llog_orphan_rec_lor_oid = -1;
792 static int hf_lustre_ldlm_reply_lock_padding = -1;
793 static int hf_lustre_obd_quotactl_qc_id = -1;
794 static int hf_lustre_mds_rec_create_cr_padding_4 = -1;
795 static int hf_lustre_llog_logid_rec_padding4 = -1;
796 static int hf_lustre_mds_rec_link_lk_padding_2 = -1;
797 static int hf_lustre_llog_setattr_rec_lsr_gid = -1;
798 static int hf_lustre_lov_user_md_join_lmm_magic = -1;
799 static int hf_lustre_obd_quotactl_qc_type = -1;
800 static int hf_lustre_cfg_marker_padding = -1;
801 static int hf_lustre_mgs_target_info_mti_nids = -1;
802 static int hf_lustre_lov_user_ost_data_join_l_extent_end = -1;
803 static int hf_lustre_obdo_o_stripe_idx = -1;
804 static int hf_lustre_llogd_conn_body_lgdc_logid = -1;
805 static int hf_lustre_mds_rec_setattr_sa_fsuid = -1;
806 static int hf_lustre_ldlm_flock_blocking_pid = -1;
807 static int hf_lustre_lov_desc_ld_tgt_count = -1;
808 static int hf_lustre_llogd_body_lgd_cur_offset=-1;
809 static int hf_lustre_llog_create_rec_lcr_ogen = -1;
810 static int hf_lustre_qunit_data_old2_qd_count = -1;
811 static int hf_lustre_qunit_data_old2_qd_flags = -1;
812 static int hf_lustre_ldlm_flock_start = -1;
813 static int hf_lustre_quota_adjust_qunit_qaq_bunit_sz = -1;
814 static int hf_lustre_llog_array_rec_lmr_tail = -1;
815 static int hf_lustre_ldlm_flock_pid = -1;
816 static int hf_lustre_lov_desc_ld_default_stripe_size = -1;
817 static int hf_lustre_mds_rec_setattr_sa_opcode = -1;
818 static int hf_lustre_llog_log_hdr_llh_tgtuuid = -1;
819 static int hf_lustre_mds_rec_link_lk_fid1 = -1;
820 static int hf_lustre_cfg_marker_cm_step = -1;
821 static int hf_lustre_mgs_send_param_mgs_param = -1;
822 static int hf_lustre_llog_create_rec_lcr_fid = -1;
823 static int hf_lustre_lov_desc_ld_default_stripe_offset=-1;
824 static int hf_lustre_ldlm_resource_desc_lr_name = -1;
825 static int hf_lustre_llog_rec_tail_lrt_len = -1;
826 static int hf_lustre_mds_rec_setattr_sa_mtime = -1;
827 static int hf_lustre_llog_log_hdr_llh_timestamp = -1;
828 static int hf_lustre_llog_catid_lci_padding2 = -1;
829 static int hf_lustre_llogd_conn_body_lgdc_ctxt_idx = -1;
830 static int hf_lustre_cfg_marker_cm_canceltime = -1;
831 static int hf_lustre_mgs_target_info_mti_lustre_ver = -1;
832 static int hf_lustre_obdo_o_padding_1 = -1;
833 static int hf_lustre_qunit_data_qd_flags = -1;
834 static int hf_lustre_llog_logid_rec_lid_id = -1;
835 static int hf_lustre_obdo_o_generation = -1;
836 static int hf_lustre_llog_gen_mnt_cnt = -1;
837 static int hf_lustre_llog_size_change_rec_lsc_tail = -1;
838 static int hf_lustre_obdo_o_padding_5 = -1;
839 static int hf_lustre_ldlm_lock_desc_l_resource = -1;
840 static int hf_lustre_mds_rec_rename_rn_time = -1;
841 static int hf_lustre_mds_rec_create_cr_rdev = -1;
842 static int hf_lustre_obdo_o_fid = -1;
843 static int hf_lustre_mds_rec_setattr_sa_fid = -1;
844 static int hf_lustre_ldlm_request_lock_count = -1;
845 static int hf_lustre_ldlm_flock_end = -1;
846 static int hf_lustre_mds_rec_link_lk_opcode = -1;
847 static int hf_lustre_mgs_target_info_mti_nid_count = -1;
848 static int hf_lustre_obdo_o_ctime = -1;
849 static int hf_lustre_ldlm_reply_lock_policy_res2 = -1;
850 static int hf_lustre_llogd_body_lgd_ctxt_idx = -1;
851 static int hf_lustre_mds_rec_unlink_ul_fid2 = -1;
852 static int hf_lustre_lov_desc_ld_qos_maxage = -1;
853 static int hf_lustre_ldlm_resource_desc_lr_type = -1;
854 static int hf_lustre_llog_setattr_rec_lsr_tail = -1;
855 static int hf_lustre_llog_cookie_lgc_subsys = -1;
856 static int hf_lustre_llog_log_hdr_llh_hdr = -1;
857 static int hf_lustre_mds_rec_setattr_sa_fsgid = -1;
858 static int hf_lustre_mds_rec_setattr_sa_padding = -1;
859 static int hf_lustre_lov_mds_md_join_lmmj_extent_count = -1;
860 static int hf_lustre_llog_log_hdr_llh_reserved = -1;
862 /* Header field declarations for field from lustre_user.h*/
863 static int hf_lustre_obd_dqinfo_dqi_valid = -1;
864 static int hf_lustre_obd_dqblk_dqb_isoftlimit = -1;
865 static int hf_lustre_obd_dqblk_dqb_bhardlimit = -1;
866 static int hf_lustre_obd_dqblk_dqb_curspace = -1;
867 static int hf_lustre_obd_dqblk_dqb_itime = -1;
868 static int hf_lustre_obd_dqblk_dqb_valid = -1;
869 static int hf_lustre_obd_dqinfo_dqi_igrace = -1;
870 static int hf_lustre_obd_dqinfo_dqi_bgrace = -1;
871 static int hf_lustre_obd_dqblk_padding = -1;
872 static int hf_lustre_obd_dqblk_dqb_curinodes = -1;
873 static int hf_lustre_obd_dqblk_dqb_bsoftlimit = -1;
874 static int hf_lustre_obd_dqinfo_dqi_flags = -1;
875 static int hf_lustre_obd_dqblk_dqb_btime = -1;
876 static int hf_lustre_obd_dqblk_dqb_ihardlimit = -1;
877 static int hf_lustre_ldlm_intent_opc_open = -1 ;
878 static int hf_lustre_ldlm_intent_opc_creat = -1;
879 static int hf_lustre_ldlm_intent_opc_readdir = -1;
880 static int hf_lustre_ldlm_intent_opc_getattr = -1;
881 static int hf_lustre_ldlm_intent_opc_lookup = -1;
882 static int hf_lustre_ldlm_intent_opc_unlink = -1;
883 static int hf_lustre_ldlm_intent_opc_getxattr = -1;
884 static int hf_lustre_ldlm_intent_opc_exec = -1;
885 static int hf_lustre_ldlm_intent_opc_pin = -1;
886 static int hf_lustre_llog_hdr_llh_flag_zap_when_empty = -1;
887 static int hf_lustre_llog_hdr_llh_flag_is_cat = -1;
888 static int hf_lustre_llog_hdr_llh_flag_is_play = -1;
889 /* --------------------------------------------------------------------*/
892 /* proto declaration */
893 static gint proto_lustre = -1;
898 static int ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_) ;
899 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_);
900 static int add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_) ;
903 /* ======================================================================== */
905 const value_string lustre_ldlm_opcode[] = {
906 { IT_OPEN , "IT_OPEN "},
907 { IT_CREAT , "IT_CREAT "},
908 { IT_READDIR , "IT_READDIR "},
909 { IT_GETATTR , "IT_GETATTR "},
910 { IT_LOOKUP , "IT_LOOKUP "},
911 { IT_UNLINK , "IT_UNLINK "},
912 { IT_GETXATTR, "IT_GETXATTR"},
913 { IT_EXEC , "IT_EXEC "},
914 { IT_PIN , "IT_PIN "},
918 const value_string lustre_lov_magic[] = {
919 { LOV_MAGIC_V1, "LOV_MAGIC_V1" },
920 { LOV_MAGIC_JOIN, "LOV_MAGIC_JOIN" },
924 const value_string lustre_ldlm_flags_vals[] = {
925 {0x000001 , "LDLM_FL_LOCK_CHANGED"},
926 {0x000002 , "LDLM_FL_BLOCK_GRANTED"},
927 {0x000004 , "LDLM_FL_BLOCK_CONV"},
928 {0x000008 , "LDLM_FL_BLOCK_WAIT"},
929 {0x000010 , "LDLM_FL_CBPENDING"},
930 {0x000020 , "LDLM_FL_AST_SENT"},
931 {0x000040 , "LDLM_FL_WAIT_NOREPROC"},
932 {0x000080 , "LDLM_FL_CANCEL"},
933 {0x000100 , "LDLM_FL_REPLAY"},
934 {0x000200 , "LDLM_FL_INTENT_ONLY"},
935 {0x000400 , "LDLM_FL_LOCAL_ONLY"},
936 {0x000800 , "LDLM_FL_FAILED"},
937 {0x001000 , "LDLM_FL_HAS_INTENT"},
938 {0x002000 , "LDLM_FL_CANCELING"},
939 {0x004000 , "LDLM_FL_LOCAL"},
940 {0x008000 , "LDLM_FL_WARN"},
941 {0x010000 , "LDLM_FL_DISCARD_DATA"},
942 {0x020000 , "LDLM_FL_NO_TIMEOUT"},
943 {0x040000 , "LDLM_FL_BLOCK_NOWAIT"},
944 {0x080000 , "LDLM_FL_TEST_LOCK"},
945 {0x100000 , "LDLM_FL_LVB_READY"},
946 {0x200000 , "LDLM_FL_KMS_IGNORE"},
947 {0x400000 , "LDLM_FL_NO_LRU"},
948 {0x800000 , "LDLM_FL_CANCEL_ON_BLOCK"},
949 {0x1000000 , "LDLM_FL_CP_REQD"},
950 {0x2000000 , "LDLM_FL_CLEANED"},
951 {0x4000000 , "LDLM_FL_ATOMIC_CB"},
952 {0x10000000 , "LDLM_FL_BL_AST"},
953 {0x20000000 , "LDLM_FL_BL_DONE"},
954 {0x40000000 , "LDLM_FL_DENY_ON_CONTENTION"},
955 {0x80000000 , "LDLM_AST_DISCARD_DATA"},
959 const value_string lustre_llog_op_type[] = {
960 {LLOG_PAD_MAGIC ,"LLOG_PAD_MAGIC "},
961 {OST_SZ_REC ,"OST_SZ_REC "},
962 {OST_RAID1_REC ,"OST_RAID1_REC "},
963 {MDS_UNLINK_REC ,"MDS_UNLINK_REC "},
964 {MDS_SETATTR_REC ,"MDS_SETATTR_REC "},
965 {OBD_CFG_REC ,"OBD_CFG_REC "},
966 {PTL_CFG_REC ,"PTL_CFG_REC "},
967 {LLOG_GEN_REC ,"LLOG_GEN_REC "},
968 {LLOG_JOIN_REC ,"LLOG_JOIN_REC "},
969 {LLOG_HDR_MAGIC ,"LLOG_HDR_MAGIC "},
970 {LLOG_LOGID_MAGIC ,"LLOG_LOGID_MAGIC"},
974 const value_string lustre_llog_hdr_llh_flags[]= {
975 {LLOG_F_ZAP_WHEN_EMPTY , "LLOhdr_llh_G_F_ZAP_WHEN_EMPTY"},
976 {LLOG_F_IS_CAT , "LLOhdr_llh_G_F_IS_CAT"},
977 {LLOG_F_IS_PLAIN , "LLOG_F_IS_PLAIN"},
981 const value_string lustre_mds_flags_vals[] = {
982 {0x1,"MDS_BFLAG_UNCOMMITTED_WRITES"},
983 {0x80000000, "MDS_BFLAG_EXT_FLAGS"}, /* == EXT3_RESERVED_FL */
984 {0x00000008, "MDS_SYNC_FL "}, /* Synchronous updates */
985 {0x00000010, "MDS_IMMUTABLE_FL "}, /* Immutable file */
986 {0x00000020, "MDS_APPEND_FL "}, /* writes to file may only append */
987 {0x00000080, "MDS_NOATIME_FL "}, /* do not update atime */
988 {0x00010000, "MDS_DIRSYNC_FL "}, /* dirsync behaviour (dir only) */
992 const value_string lustre_LMTypes[] = {
993 { PTL_RPC_MSG_REQUEST, "request"},
994 { PTL_RPC_MSG_ERR , "error"},
995 { PTL_RPC_MSG_REPLY , "reply"},
999 const value_string lustre_mds_reint_t_vals[] = {
1000 { REINT_SETATTR, "REINT_SETATTR" },
1001 { REINT_CREATE, "REINT_CREATE" },
1002 { REINT_LINK, "REINT_LINK" },
1003 { REINT_UNLINK, "REINT_UNLINK" },
1004 { REINT_RENAME, "REINT_RENAME" },
1005 { REINT_OPEN, "REINT_OPEN" },
1008 const value_string lustre_op_codes[] = {
1011 {1 , "OST_GETATTR"},
1012 {2 , "OST_SETATTR"},
1016 {6 , "OST_DESTROY"},
1017 {7 , "OST_GET_INFO"},
1018 {8 , "OST_CONNECT"},
1019 {9 , "OST_DISCONNECT"},
1023 {13 , "OST_STATFS"},
1024 {14 , "OST_SAN_READ(deprecated)"},
1025 {15 , "OST_SAN_WRITE(deprecated)"},
1027 {17 , "OST_SET_INFO"},
1028 {18 , "OST_QUOTACHECK"},
1029 {19 , "OST_QUOTACTL"},
1030 {20 , "OST_LAST_OPC"},
1032 {33 , "MDS_GETATTR"},
1033 {34 , "MDS_GETATTR_NAME"},
1036 {37 , "MDS_READPAGE"},
1037 {38 , "MDS_CONNECT"},
1038 {39 , "MDS_DISCONNECT"},
1039 {40 , "MDS_GETSTATUS"},
1040 {41 , "MDS_STATFS"},
1044 {45 , "MDS_DONE_WRITING"},
1045 {46 , "MDS_SET_INFO"},
1046 {47 , "MDS_QUOTACHECK"},
1047 {48 , "MDS_QUOTACTL"},
1048 {49 , "MDS_GETXATTR"},
1049 {50 , "MDS_SETXATTR"},
1050 {51 , "MDS_LAST_OPC"},
1052 {101 , "LDLM_ENQUEUE"},
1053 {102 , "LDLM_CONVERT"},
1054 {103 , "LDLM_CANCEL"},
1055 {104 , "LDLM_BL_CALLBACK"},
1056 {105 , "LDLM_CP_CALLBACK"},
1057 {106 , "LDLM_GL_CALLBACK"},
1058 {107 , "LDLM_LAST_OPC"},
1060 {250 , "MGS_CONNECT"},
1061 {251 , "MGS_DISCONNECT"},
1062 {252 , "MGS_EXCEPTION"},
1063 {253 , "MGS_TARGET_REG"},
1064 {254 , "MGS_TARGET_DEL"},
1065 {255 , "MGS_SET_INFO"},
1066 {256 , "MGS_LAST_OPC"},
1069 {401 , "OBD_LOG_CANCEL"},
1070 {402 , "OBD_QC_CALLBACK"},
1071 {403 , "OBD_LAST_OPC"},
1073 { 501, "LLOG_ORIGIN_HANDLE_CREATE"},
1074 { 502, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK"},
1075 { 503, "LLOG_ORIGIN_HANDLE_READ_HEADER"},
1076 { 504, "LLOG_ORIGIN_HANDLE_WRITE_REC"},
1077 { 505, "LLOG_ORIGIN_HANDLE_CLOSE"},
1078 { 506, "LLOG_ORIGIN_CONNECT"},
1079 { 507, "LLOG_CATINFO"},
1080 { 508, "LLOG_ORIGIN_HANDLE_PREV_BLOCK"},
1081 { 509, "LLOG_ORIGIN_HANDLE_DESTROY"},
1084 /*const value_string lustre_ldlm_mode_t_vals[] = {*/
1085 /* { LCK_MINMODE, "MINMODE" },*/
1086 /* { LCK_EX, "EX" },*/
1087 /* { LCK_PW, "PW" },*/
1088 /* { LCK_PR, "PR" },*/
1089 /* { LCK_CW, "CW" },*/
1090 /* { LCK_CR, "CR" },*/
1091 /* { LCK_NL, "NL" },*/
1092 /* { LCK_GROUP, "GROUP" },*/
1096 /* detailled version the information came from : http://wiki.lustre.org/images/e/e5/LustreInternals_Architecture.pdf */
1097 const value_string lustre_ldlm_mode_t_vals[] = {
1098 { LCK_MINMODE, "MINMODE" },
1099 { LCK_EX, "Exclusive" },
1100 { LCK_PW, "Protected Write" },
1101 { LCK_PR, "Protected Read" },
1102 { LCK_CW, "Concurrent Write" },
1103 { LCK_CR, "Concurrent Read" },
1105 { LCK_GROUP, "GROUP" },
1109 const value_string lustre_ldlm_type_t_vals[] = {
1110 { LDLM_PLAIN, "LDLM_PLAIN" },
1111 { LDLM_EXTENT,"LDLM_EXTENT" },
1112 { LDLM_FLOCK, "LDLM_FLOCK" },
1113 { LDLM_IBITS, "LDLM_IBITS" },
1118 const value_string lustre_llog_cmd_t_vals[] = {
1119 { LLOG_ORIGIN_HANDLE_CREATE, "LLOG_ORIGIN_HANDLE_CREATE" },
1120 { LLOG_ORIGIN_HANDLE_NEXT_BLOCK, "LLOG_ORIGIN_HANDLE_NEXT_BLOCK" },
1121 { LLOG_ORIGIN_HANDLE_READ_HEADER, "LLOG_ORIGIN_HANDLE_READ_HEADER" },
1122 { LLOG_ORIGIN_HANDLE_WRITE_REC, "LLOG_ORIGIN_HANDLE_WRITE_REC" },
1123 { LLOG_ORIGIN_HANDLE_CLOSE, "LLOG_ORIGIN_HANDLE_CLOSE" },
1124 { LLOG_ORIGIN_CONNECT, "LLOG_ORIGIN_CONNECT" },
1125 { LLOG_CATINFO, "LLOG_CATINFO" },
1126 { LLOG_ORIGIN_HANDLE_PREV_BLOCK, "LLOG_ORIGIN_HANDLE_PREV_BLOCK" },
1127 { LLOG_ORIGIN_HANDLE_DESTROY, "LLOG_ORIGIN_HANDLE_DESTROY" },
1132 /* ------------------------------------------------------------------- */
1133 /* display functions */
1134 /* ------------------------------------------------------------------- */
1135 /* display str in left corner and in COL */
1136 /* TODO : do we need to use inline here ?*/
1137 /* @gint col : the col where we add the information */
1138 inline static void display_info_str(proto_item *pi, column_info *cinfo, gint col, const gchar* str)
1141 proto_item_append_text(pi, str);
1144 if (check_col(cinfo, col))
1145 col_append_str(cinfo, col, str);
1149 * Need to be (re)written
1151 static void display_info_fstr(proto_item *pi, column_info *cinfo, gint col, const char* format, const gchar * str){
1154 //va_start(ap, format);
1155 proto_item_append_text(pi, format, str);
1160 if (check_col(cinfo, col)){
1162 // va_start(ap, format);
1163 col_append_fstr(cinfo, col, format, str);
1170 /* ------------------------------ basic dissect functions ------------------------ */
1173 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1175 proto_tree_add_item(tree, hfindex, tvb, offset, 8, TRUE);
1181 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1183 proto_tree_add_item(tree, hfindex, tvb, offset, 4, TRUE);
1189 (tvbuff_t *tvb, gint offset, packet_info *pinfo _U_, proto_tree *tree, int hfindex)
1191 proto_tree_add_item(tree, hfindex, tvb, offset, 1, TRUE);
1194 /* ------------------------------------------------------------------------- */
1199 /* IDL: struct lustre_handle { */
1200 /* IDL: uint64 cookie; */
1204 lustre_dissect_element_handle_cookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1206 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_handle_cookie);
1212 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_)
1214 proto_item *item = NULL;
1215 proto_tree *tree = NULL;
1221 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1222 tree = proto_item_add_subtree(item, ett_lustre_lustre_handle_cookie);
1225 offset=lustre_dissect_element_handle_cookie(tvb, offset, pinfo, tree);
1228 proto_item_set_len(item, offset-old_offset);
1233 /* IDL: struct obd_connect_data { */
1234 /* IDL: uint64 ocd_connect_flags; */
1235 /* IDL: uint32 ocd_version; */
1236 /* IDL: uint32 ocd_grant; */
1237 /* IDL: uint32 ocd_index; */
1238 /* IDL: uint32 ocd_brw_size; */
1239 /* IDL: uint64 ocd_ibits_known; */
1240 /* IDL: uint32 ocd_nllu; */
1241 /* IDL: uint32 ocd_nllg; */
1242 /* IDL: uint64 ocd_transno; */
1243 /* IDL: uint32 ocd_group; */
1244 /* IDL: uint32 ocd_cksum_types; */
1245 /* IDL: uint64 padding1; */
1246 /* IDL: uint64 padding2; */
1250 lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1252 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_connect_flags);
1258 lustre_dissect_element_obd_connect_data_ocd_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1260 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_version);
1266 lustre_dissect_element_obd_connect_data_ocd_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1268 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_grant);
1274 lustre_dissect_element_obd_connect_data_ocd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1276 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_index);
1282 lustre_dissect_element_obd_connect_data_ocd_brw_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1284 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_brw_size);
1290 lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1292 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_ibits_known);
1298 lustre_dissect_element_obd_connect_data_ocd_nllu(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1300 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllu);
1306 lustre_dissect_element_obd_connect_data_ocd_nllg(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1308 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_nllg);
1314 lustre_dissect_element_obd_connect_data_ocd_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1316 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_transno);
1322 lustre_dissect_element_obd_connect_data_ocd_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1324 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_group);
1330 lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1332 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_ocd_cksum_types);
1338 lustre_dissect_element_obd_connect_data_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1340 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding1);
1346 lustre_dissect_element_obd_connect_data_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1348 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_connect_data_padding2);
1354 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_)
1356 proto_item *item = NULL;
1357 proto_tree *tree = NULL;
1365 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1366 tree = proto_item_add_subtree(item, ett_lustre_obd_connect_data);
1369 offset=lustre_dissect_element_obd_connect_data_ocd_connect_flags(tvb, offset, pinfo, tree);
1371 offset=lustre_dissect_element_obd_connect_data_ocd_version(tvb, offset, pinfo, tree);
1373 offset=lustre_dissect_element_obd_connect_data_ocd_grant(tvb, offset, pinfo, tree);
1375 offset=lustre_dissect_element_obd_connect_data_ocd_index(tvb, offset, pinfo, tree);
1377 offset=lustre_dissect_element_obd_connect_data_ocd_brw_size(tvb, offset, pinfo, tree);
1379 offset=lustre_dissect_element_obd_connect_data_ocd_ibits_known(tvb, offset, pinfo, tree);
1381 offset=lustre_dissect_element_obd_connect_data_ocd_nllu(tvb, offset, pinfo, tree);
1383 offset=lustre_dissect_element_obd_connect_data_ocd_nllg(tvb, offset, pinfo, tree);
1385 offset=lustre_dissect_element_obd_connect_data_ocd_transno(tvb, offset, pinfo, tree);
1387 offset=lustre_dissect_element_obd_connect_data_ocd_group(tvb, offset, pinfo, tree);
1389 offset=lustre_dissect_element_obd_connect_data_ocd_cksum_types(tvb, offset, pinfo, tree);
1391 offset=lustre_dissect_element_obd_connect_data_padding1(tvb, offset, pinfo, tree);
1393 offset=lustre_dissect_element_obd_connect_data_padding2(tvb, offset, pinfo, tree);
1396 proto_item_set_len(item, offset-old_offset);
1402 /* IDL: struct lov_ost_data_v1 { */
1403 /* IDL: uint64 l_object_id; */
1404 /* IDL: uint64 l_object_gr; */
1405 /* IDL: uint32 l_ost_gen; */
1406 /* IDL: uint32 l_ost_idx; */
1410 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_)
1412 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_id);
1418 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_)
1420 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_object_gr);
1426 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_)
1428 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_gen);
1434 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_)
1436 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_ost_data_v1_l_ost_idx);
1442 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_)
1444 proto_item *item = NULL;
1445 proto_tree *tree = NULL;
1453 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1454 tree = proto_item_add_subtree(item, ett_lustre_lov_ost_data_v1);
1457 offset=lustre_dissect_element_lov_ost_data_v1_l_object_id(tvb, offset, pinfo, tree);
1459 offset=lustre_dissect_element_lov_ost_data_v1_l_object_gr(tvb, offset, pinfo, tree);
1461 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_gen(tvb, offset, pinfo, tree);
1463 offset=lustre_dissect_element_lov_ost_data_v1_l_ost_idx(tvb, offset, pinfo, tree);
1466 proto_item_set_len(item, offset-old_offset);
1471 /* IDL: struct lov_mds_md_v1 { */
1472 /* IDL: uint32 lmm_magic; */
1473 /* IDL: uint32 lmm_pattern; */
1474 /* IDL: uint64 lmm_object_id; */
1475 /* IDL: uint64 lmm_object_gr; */
1476 /* IDL: uint32 lmm_stripe_size; */
1477 /* IDL: uint32 lmm_stripe_count; */
1478 /* IDL: struct lov_ost_data_v1 { */
1479 /* IDL: } lmm_objects[0]; <-- en fait on en a lmm_stripe_count */
1483 lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1485 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_magic);
1491 lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1493 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_pattern);
1499 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_)
1501 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_id);
1507 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_)
1509 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_object_gr);
1515 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_)
1517 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_size);
1523 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_)
1525 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_v1_lmm_stripe_count);
1531 lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1533 offset=lustre_dissect_struct_lov_ost_data_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1_lmm_objects);
1538 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)
1541 /*g_print("num = %d", num);*/
1542 for (i = 0; i < num; i++){
1543 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects_(tvb, offset, pinfo, tree);
1552 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_)
1554 proto_item *item = NULL;
1555 proto_tree *tree = NULL;
1558 guint32 stripe_count ;
1564 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1565 tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_v1);
1568 offset=lustre_dissect_element_lov_mds_md_v1_lmm_magic(tvb, offset, pinfo, tree);
1570 offset=lustre_dissect_element_lov_mds_md_v1_lmm_pattern(tvb, offset, pinfo, tree);
1572 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_id(tvb, offset, pinfo, tree);
1574 offset=lustre_dissect_element_lov_mds_md_v1_lmm_object_gr(tvb, offset, pinfo, tree);
1576 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_size(tvb, offset, pinfo, tree);
1578 stripe_count = tvb_get_letohl(tvb,offset);
1579 offset=lustre_dissect_element_lov_mds_md_v1_lmm_stripe_count(tvb, offset, pinfo, tree);
1581 offset=lustre_dissect_element_lov_mds_md_v1_lmm_objects(tvb, offset, pinfo, tree, stripe_count);
1584 proto_item_set_len(item, offset-old_offset);
1591 /* IDL: struct obd_statfs { */
1592 /* IDL: uint64 os_type; */
1593 /* IDL: uint64 os_blocks; */
1594 /* IDL: uint64 os_bfree; */
1595 /* IDL: uint64 os_bavail; */
1596 /* IDL: uint64 os_files; */
1597 /* IDL: uint64 os_ffree; */
1598 /* IDL: uint8 os_fsid[40]; */
1599 /* IDL: uint32 os_bsize; */
1600 /* IDL: uint32 os_namelen; */
1601 /* IDL: uint64 os_maxbytes; */
1602 /* IDL: uint32 os_state; */
1603 /* IDL: uint32 os_spare1; */
1604 /* IDL: uint32 os_spare2; */
1605 /* IDL: uint32 os_spare3; */
1606 /* IDL: uint32 os_spare4; */
1607 /* IDL: uint32 os_spare5; */
1608 /* IDL: uint32 os_spare6; */
1609 /* IDL: uint32 os_spare7; */
1610 /* IDL: uint32 os_spare8; */
1611 /* IDL: uint32 os_spare9; */
1615 lustre_dissect_element_obd_statfs_os_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1617 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_type);
1623 lustre_dissect_element_obd_statfs_os_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1625 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_blocks);
1631 lustre_dissect_element_obd_statfs_os_bfree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1633 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bfree);
1639 lustre_dissect_element_obd_statfs_os_bavail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1641 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bavail);
1647 lustre_dissect_element_obd_statfs_os_files(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1649 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_files);
1655 lustre_dissect_element_obd_statfs_os_ffree(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1657 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_ffree);
1663 lustre_dissect_element_obd_statfs_os_fsid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1665 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_fsid);
1671 lustre_dissect_element_obd_statfs_os_fsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1674 for (i = 0; i < 40; i++)
1675 offset=lustre_dissect_element_obd_statfs_os_fsid_(tvb, offset, pinfo, tree);
1683 lustre_dissect_element_obd_statfs_os_bsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1685 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_bsize);
1691 lustre_dissect_element_obd_statfs_os_namelen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1693 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_namelen);
1699 lustre_dissect_element_obd_statfs_os_maxbytes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1701 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_maxbytes);
1707 lustre_dissect_element_obd_statfs_os_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1709 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_state);
1715 lustre_dissect_element_obd_statfs_os_spare1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1717 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare1);
1723 lustre_dissect_element_obd_statfs_os_spare2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1725 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare2);
1731 lustre_dissect_element_obd_statfs_os_spare3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1733 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare3);
1739 lustre_dissect_element_obd_statfs_os_spare4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1741 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare4);
1747 lustre_dissect_element_obd_statfs_os_spare5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1749 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare5);
1755 lustre_dissect_element_obd_statfs_os_spare6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1757 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare6);
1763 lustre_dissect_element_obd_statfs_os_spare7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1765 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare7);
1771 lustre_dissect_element_obd_statfs_os_spare8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1773 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare8);
1779 lustre_dissect_element_obd_statfs_os_spare9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1781 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_statfs_os_spare9);
1787 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_)
1789 proto_item *item = NULL;
1790 proto_tree *tree = NULL;
1798 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1799 tree = proto_item_add_subtree(item, ett_lustre_obd_statfs);
1802 offset=lustre_dissect_element_obd_statfs_os_type(tvb, offset, pinfo, tree);
1804 offset=lustre_dissect_element_obd_statfs_os_blocks(tvb, offset, pinfo, tree);
1806 offset=lustre_dissect_element_obd_statfs_os_bfree(tvb, offset, pinfo, tree);
1808 offset=lustre_dissect_element_obd_statfs_os_bavail(tvb, offset, pinfo, tree);
1810 offset=lustre_dissect_element_obd_statfs_os_files(tvb, offset, pinfo, tree);
1812 offset=lustre_dissect_element_obd_statfs_os_ffree(tvb, offset, pinfo, tree);
1814 offset=lustre_dissect_element_obd_statfs_os_fsid(tvb, offset, pinfo, tree);
1816 offset=lustre_dissect_element_obd_statfs_os_bsize(tvb, offset, pinfo, tree);
1818 offset=lustre_dissect_element_obd_statfs_os_namelen(tvb, offset, pinfo, tree);
1820 offset=lustre_dissect_element_obd_statfs_os_maxbytes(tvb, offset, pinfo, tree);
1822 offset=lustre_dissect_element_obd_statfs_os_state(tvb, offset, pinfo, tree);
1824 offset=lustre_dissect_element_obd_statfs_os_spare1(tvb, offset, pinfo, tree);
1826 offset=lustre_dissect_element_obd_statfs_os_spare2(tvb, offset, pinfo, tree);
1828 offset=lustre_dissect_element_obd_statfs_os_spare3(tvb, offset, pinfo, tree);
1830 offset=lustre_dissect_element_obd_statfs_os_spare4(tvb, offset, pinfo, tree);
1832 offset=lustre_dissect_element_obd_statfs_os_spare5(tvb, offset, pinfo, tree);
1834 offset=lustre_dissect_element_obd_statfs_os_spare6(tvb, offset, pinfo, tree);
1836 offset=lustre_dissect_element_obd_statfs_os_spare7(tvb, offset, pinfo, tree);
1838 offset=lustre_dissect_element_obd_statfs_os_spare8(tvb, offset, pinfo, tree);
1840 offset=lustre_dissect_element_obd_statfs_os_spare9(tvb, offset, pinfo, tree);
1843 proto_item_set_len(item, offset-old_offset);
1848 /* IDL: struct obd_ioobj { */
1849 /* IDL: uint64 ioo_id; */
1850 /* IDL: uint64 ioo_gr; */
1851 /* IDL: uint32 ioo_type; */
1852 /* IDL: uint32 ioo_bufcnt; */
1856 lustre_dissect_element_obd_ioobj_ioo_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1858 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_id);
1864 lustre_dissect_element_obd_ioobj_ioo_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1866 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_gr);
1872 lustre_dissect_element_obd_ioobj_ioo_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1874 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_type);
1880 lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1882 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj_ioo_bufcnt);
1888 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_)
1890 proto_item *item = NULL;
1891 proto_tree *tree = NULL;
1899 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1900 tree = proto_item_add_subtree(item, ett_lustre_obd_ioobj);
1903 offset=lustre_dissect_element_obd_ioobj_ioo_id(tvb, offset, pinfo, tree);
1905 offset=lustre_dissect_element_obd_ioobj_ioo_gr(tvb, offset, pinfo, tree);
1907 offset=lustre_dissect_element_obd_ioobj_ioo_type(tvb, offset, pinfo, tree);
1909 offset=lustre_dissect_element_obd_ioobj_ioo_bufcnt(tvb, offset, pinfo, tree);
1912 proto_item_set_len(item, offset-old_offset);
1917 /* IDL: struct niobuf_remote { */
1918 /* IDL: uint64 offset; */
1919 /* IDL: uint32 len; */
1920 /* IDL: uint32 flags; */
1924 lustre_dissect_element_niobuf_remote_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1926 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_offset);
1932 lustre_dissect_element_niobuf_remote_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1934 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_len);
1940 lustre_dissect_element_niobuf_remote_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1942 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_niobuf_remote_flags);
1948 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_)
1950 proto_item *item = NULL;
1951 proto_tree *tree = NULL;
1959 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1960 tree = proto_item_add_subtree(item, ett_lustre_niobuf_remote);
1963 offset=lustre_dissect_element_niobuf_remote_offset(tvb, offset, pinfo, tree);
1965 offset=lustre_dissect_element_niobuf_remote_len(tvb, offset, pinfo, tree);
1967 offset=lustre_dissect_element_niobuf_remote_flags(tvb, offset, pinfo, tree);
1970 proto_item_set_len(item, offset-old_offset);
1975 /* IDL: struct ost_lvb { */
1976 /* IDL: uint64 lvb_size; */
1977 /* IDL: uint64 lvb_mtime; */
1978 /* IDL: uint64 lvb_atime; */
1979 /* IDL: uint64 lvb_ctime; */
1980 /* IDL: uint64 lvb_blocks; */
1984 lustre_dissect_element_ost_lvb_lvb_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1986 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_size);
1992 lustre_dissect_element_ost_lvb_lvb_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
1996 ns.secs = tvb_get_letohl(tvb,offset);
1998 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_mtime, tvb, offset, 8, &ns );
2004 lustre_dissect_element_ost_lvb_lvb_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2008 ns.secs = tvb_get_letohl(tvb,offset);
2010 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_atime, tvb, offset, 8, &ns );
2018 lustre_dissect_element_ost_lvb_lvb_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2022 ns.secs = tvb_get_letohl(tvb,offset);
2024 proto_tree_add_time(tree, hf_lustre_ost_lvb_lvb_ctime, tvb, offset, 8, &ns );
2032 lustre_dissect_element_ost_lvb_lvb_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2034 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ost_lvb_lvb_blocks);
2040 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_)
2042 proto_item *item = NULL;
2043 proto_tree *tree = NULL;
2051 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2052 tree = proto_item_add_subtree(item, ett_lustre_ost_lvb);
2055 offset=lustre_dissect_element_ost_lvb_lvb_size(tvb, offset, pinfo, tree);
2057 offset=lustre_dissect_element_ost_lvb_lvb_mtime(tvb, offset, pinfo, tree);
2059 offset=lustre_dissect_element_ost_lvb_lvb_atime(tvb, offset, pinfo, tree);
2061 offset=lustre_dissect_element_ost_lvb_lvb_ctime(tvb, offset, pinfo, tree);
2063 offset=lustre_dissect_element_ost_lvb_lvb_blocks(tvb, offset, pinfo, tree);
2066 proto_item_set_len(item, offset-old_offset);
2072 /* IDL: struct ll_fid { */
2073 /* IDL: uint64 id; */
2074 /* IDL: uint32 generation; */
2075 /* IDL: uint32 f_type; */
2079 lustre_dissect_element_ll_fid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2081 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ll_fid_id);
2087 lustre_dissect_element_ll_fid_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2089 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_generation);
2095 lustre_dissect_element_ll_fid_f_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2097 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ll_fid_f_type);
2103 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_)
2105 proto_item *item = NULL;
2106 proto_tree *tree = NULL;
2114 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2115 tree = proto_item_add_subtree(item, ett_lustre_ll_fid);
2118 offset=lustre_dissect_element_ll_fid_id(tvb, offset, pinfo, tree);
2120 offset=lustre_dissect_element_ll_fid_generation(tvb, offset, pinfo, tree);
2122 offset=lustre_dissect_element_ll_fid_f_type(tvb, offset, pinfo, tree);
2125 proto_item_set_len(item, offset-old_offset);
2130 /* IDL: struct mds_status_req { */
2131 /* IDL: uint32 flags; */
2132 /* IDL: uint32 repbuf; */
2136 lustre_dissect_element_mds_status_req_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2138 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_flags);
2144 lustre_dissect_element_mds_status_req_repbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2146 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_status_req_repbuf);
2152 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_)
2154 proto_item *item = NULL;
2155 proto_tree *tree = NULL;
2162 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2163 tree = proto_item_add_subtree(item, ett_lustre_mds_status_req);
2166 offset=lustre_dissect_element_mds_status_req_flags(tvb, offset, pinfo, tree);
2168 offset=lustre_dissect_element_mds_status_req_repbuf(tvb, offset, pinfo, tree);
2171 proto_item_set_len(item, offset-old_offset);
2176 /* IDL: struct mds_body { */
2177 /* IDL: struct ll_fid { */
2179 /* IDL: struct ll_fid { */
2181 /* IDL: struct lustre_handle { */
2182 /* IDL: } handle; */
2183 /* IDL: uint64 valid; */
2184 /* IDL: uint64 size; */
2185 /* IDL: uint64 mtime; */
2186 /* IDL: uint64 atime; */
2187 /* IDL: uint64 ctime; */
2188 /* IDL: uint64 blocks; */
2189 /* IDL: uint64 io_epoch; */
2190 /* IDL: uint64 ino; */
2191 /* IDL: uint32 fsuid; */
2192 /* IDL: uint32 fsgid; */
2193 /* IDL: uint32 capability; */
2194 /* IDL: uint32 mode; */
2195 /* IDL: uint32 uid; */
2196 /* IDL: uint32 gid; */
2197 /* IDL: uint32 flags; */
2198 /* IDL: uint32 rdev; */
2199 /* IDL: uint32 nlink; */
2200 /* IDL: uint32 generation; */
2201 /* IDL: uint32 suppgid; */
2202 /* IDL: uint32 eadatasize; */
2203 /* IDL: uint32 aclsize; */
2204 /* IDL: uint32 max_mdsize; */
2205 /* IDL: uint32 max_cookiesize; */
2206 /* IDL: uint32 padding_4; */
2210 lustre_dissect_element_mds_body_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2212 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid1);
2217 lustre_dissect_element_mds_body_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2219 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_body_fid2);
2224 lustre_dissect_element_mds_body_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2226 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
2232 lustre_dissect_element_mds_body_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2234 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_valid);
2240 lustre_dissect_element_mds_body_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2242 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_size);
2248 lustre_dissect_element_mds_body_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2252 ns.secs = tvb_get_letohl(tvb,offset);
2254 proto_tree_add_time(tree, hf_lustre_mds_body_mtime, tvb, offset, 8, &ns );
2260 lustre_dissect_element_mds_body_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2264 ns.secs = tvb_get_letohl(tvb,offset);
2266 proto_tree_add_time(tree, hf_lustre_mds_body_atime, tvb, offset, 8, &ns );
2273 lustre_dissect_element_mds_body_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2277 ns.secs = tvb_get_letohl(tvb,offset);
2279 proto_tree_add_time(tree, hf_lustre_mds_body_ctime, tvb, offset, 8, &ns );
2285 lustre_dissect_element_mds_body_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2287 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_blocks);
2293 lustre_dissect_element_mds_body_io_epoch(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2295 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_io_epoch);
2301 lustre_dissect_element_mds_body_ino(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2303 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_body_ino);
2309 lustre_dissect_element_mds_body_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2311 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsuid);
2317 lustre_dissect_element_mds_body_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2319 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_fsgid);
2325 lustre_dissect_element_mds_body_capability(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2327 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_capability);
2333 lustre_dissect_element_mds_body_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2335 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_mode);
2341 lustre_dissect_element_mds_body_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2343 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_uid);
2349 lustre_dissect_element_mds_body_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2351 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_gid);
2357 lustre_dissect_element_mds_body_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2359 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_flags);
2365 lustre_dissect_element_mds_body_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2367 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_rdev);
2373 lustre_dissect_element_mds_body_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2375 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_nlink);
2381 lustre_dissect_element_mds_body_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2383 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_generation);
2389 lustre_dissect_element_mds_body_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2391 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_suppgid);
2397 lustre_dissect_element_mds_body_eadatasize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2399 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_eadatasize);
2405 lustre_dissect_element_mds_body_aclsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2407 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_aclsize);
2413 lustre_dissect_element_mds_body_max_mdsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2415 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_mdsize);
2421 lustre_dissect_element_mds_body_max_cookiesize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2423 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_max_cookiesize);
2429 lustre_dissect_element_mds_body_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2431 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_body_padding_4);
2437 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_)
2439 proto_item *item = NULL;
2440 proto_tree *tree = NULL;
2447 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2448 tree = proto_item_add_subtree(item, ett_lustre_mds_body);
2451 offset=lustre_dissect_element_mds_body_fid1(tvb, offset, pinfo, tree);
2453 offset=lustre_dissect_element_mds_body_fid2(tvb, offset, pinfo, tree);
2455 offset=lustre_dissect_element_mds_body_handle(tvb, offset, pinfo, tree);
2457 offset=lustre_dissect_element_mds_body_valid(tvb, offset, pinfo, tree);
2459 offset=lustre_dissect_element_mds_body_size(tvb, offset, pinfo, tree);
2461 offset=lustre_dissect_element_mds_body_mtime(tvb, offset, pinfo, tree);
2463 offset=lustre_dissect_element_mds_body_atime(tvb, offset, pinfo, tree);
2465 offset=lustre_dissect_element_mds_body_ctime(tvb, offset, pinfo, tree);
2467 offset=lustre_dissect_element_mds_body_blocks(tvb, offset, pinfo, tree);
2469 offset=lustre_dissect_element_mds_body_io_epoch(tvb, offset, pinfo, tree);
2471 offset=lustre_dissect_element_mds_body_ino(tvb, offset, pinfo, tree);
2473 offset=lustre_dissect_element_mds_body_fsuid(tvb, offset, pinfo, tree);
2475 offset=lustre_dissect_element_mds_body_fsgid(tvb, offset, pinfo, tree);
2477 offset=lustre_dissect_element_mds_body_capability(tvb, offset, pinfo, tree);
2479 offset=lustre_dissect_element_mds_body_mode(tvb, offset, pinfo, tree);
2481 offset=lustre_dissect_element_mds_body_uid(tvb, offset, pinfo, tree);
2483 offset=lustre_dissect_element_mds_body_gid(tvb, offset, pinfo, tree);
2485 offset=lustre_dissect_element_mds_body_flags(tvb, offset, pinfo, tree);
2487 offset=lustre_dissect_element_mds_body_rdev(tvb, offset, pinfo, tree);
2489 offset=lustre_dissect_element_mds_body_nlink(tvb, offset, pinfo, tree);
2491 offset=lustre_dissect_element_mds_body_generation(tvb, offset, pinfo, tree);
2493 offset=lustre_dissect_element_mds_body_suppgid(tvb, offset, pinfo, tree);
2495 offset=lustre_dissect_element_mds_body_eadatasize(tvb, offset, pinfo, tree);
2497 offset=lustre_dissect_element_mds_body_aclsize(tvb, offset, pinfo, tree);
2499 offset=lustre_dissect_element_mds_body_max_mdsize(tvb, offset, pinfo, tree);
2501 offset=lustre_dissect_element_mds_body_max_cookiesize(tvb, offset, pinfo, tree);
2503 offset=lustre_dissect_element_mds_body_padding_4(tvb, offset, pinfo, tree);
2506 proto_item_set_len(item, offset-old_offset);
2511 /* IDL: struct obd_dqinfo { */
2512 /* IDL: uint64 dqi_bgrace; */
2513 /* IDL: uint64 dqi_igrace; */
2514 /* IDL: uint32 dqi_flags; */
2515 /* IDL: uint32 dqi_valid; */
2519 lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2521 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_bgrace);
2527 lustre_dissect_element_obd_dqinfo_dqi_igrace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2529 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_igrace);
2535 lustre_dissect_element_obd_dqinfo_dqi_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2537 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_flags);
2543 lustre_dissect_element_obd_dqinfo_dqi_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2545 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqinfo_dqi_valid);
2551 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_)
2553 proto_item *item = NULL;
2554 proto_tree *tree = NULL;
2559 old_offset = offset;
2562 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2563 tree = proto_item_add_subtree(item, ett_lustre_obd_dqinfo);
2566 offset = lustre_dissect_element_obd_dqinfo_dqi_bgrace(tvb, offset, pinfo, tree);
2568 offset = lustre_dissect_element_obd_dqinfo_dqi_igrace(tvb, offset, pinfo, tree);
2570 offset = lustre_dissect_element_obd_dqinfo_dqi_flags(tvb, offset, pinfo, tree);
2572 offset = lustre_dissect_element_obd_dqinfo_dqi_valid(tvb, offset, pinfo, tree);
2575 proto_item_set_len(item, offset-old_offset);
2580 /* IDL: struct obd_dqblk { */
2581 /* IDL: uint64 dqb_bhardlimit; */
2582 /* IDL: uint64 dqb_bsoftlimit; */
2583 /* IDL: uint64 dqb_curspace; */
2584 /* IDL: uint64 dqb_ihardlimit; */
2585 /* IDL: uint64 dqb_isoftlimit; */
2586 /* IDL: uint64 dqb_curinodes; */
2587 /* IDL: uint64 dqb_btime; */
2588 /* IDL: uint64 dqb_itime; */
2589 /* IDL: uint32 dqb_valid; */
2590 /* IDL: uint32 padding; */
2594 lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2596 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bhardlimit);
2602 lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2604 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_bsoftlimit);
2610 lustre_dissect_element_obd_dqblk_dqb_curspace(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2612 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curspace);
2618 lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2620 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_ihardlimit);
2626 lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2628 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_isoftlimit);
2634 lustre_dissect_element_obd_dqblk_dqb_curinodes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2636 offset = dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_curinodes);
2642 lustre_dissect_element_obd_dqblk_dqb_btime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2647 ns.secs = tvb_get_letohl(tvb,offset);
2649 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_btime, tvb, offset, 8, &ns );
2655 lustre_dissect_element_obd_dqblk_dqb_itime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2659 ns.secs = tvb_get_letohl(tvb,offset);
2661 proto_tree_add_time(tree, hf_lustre_obd_dqblk_dqb_itime, tvb, offset, 8, &ns );
2668 lustre_dissect_element_obd_dqblk_dqb_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2670 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_dqb_valid);
2676 lustre_dissect_element_obd_dqblk_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2678 offset = dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_dqblk_padding);
2684 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_)
2686 proto_item *item = NULL;
2687 proto_tree *tree = NULL;
2692 old_offset = offset;
2695 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2696 tree = proto_item_add_subtree(item, ett_lustre_obd_dqblk);
2699 offset = lustre_dissect_element_obd_dqblk_dqb_bhardlimit(tvb, offset, pinfo, tree);
2701 offset = lustre_dissect_element_obd_dqblk_dqb_bsoftlimit(tvb, offset, pinfo, tree);
2703 offset = lustre_dissect_element_obd_dqblk_dqb_curspace(tvb, offset, pinfo, tree);
2705 offset = lustre_dissect_element_obd_dqblk_dqb_ihardlimit(tvb, offset, pinfo, tree);
2707 offset = lustre_dissect_element_obd_dqblk_dqb_isoftlimit(tvb, offset, pinfo, tree);
2709 offset = lustre_dissect_element_obd_dqblk_dqb_curinodes(tvb, offset, pinfo, tree);
2711 offset = lustre_dissect_element_obd_dqblk_dqb_btime(tvb, offset, pinfo, tree);
2713 offset = lustre_dissect_element_obd_dqblk_dqb_itime(tvb, offset, pinfo, tree);
2715 offset = lustre_dissect_element_obd_dqblk_dqb_valid(tvb, offset, pinfo, tree);
2717 offset = lustre_dissect_element_obd_dqblk_padding(tvb, offset, pinfo, tree);
2720 proto_item_set_len(item, offset-old_offset);
2726 /* IDL: struct obd_quotactl { */
2727 /* IDL: uint32 qc_cmd; */
2728 /* IDL: uint32 qc_type; */
2729 /* IDL: uint32 qc_id; */
2730 /* IDL: uint32 qc_stat; */
2731 /* IDL: struct obd_dqinfo { */
2732 /* IDL: } qc_dqinfo; */
2733 /* IDL: struct obd_dqblk { */
2734 /* IDL: } qc_dqblk; */
2738 lustre_dissect_element_obd_quotactl_qc_cmd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2740 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_cmd);
2746 lustre_dissect_element_obd_quotactl_qc_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2748 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_type);
2754 lustre_dissect_element_obd_quotactl_qc_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2756 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_id);
2762 lustre_dissect_element_obd_quotactl_qc_stat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2764 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl_qc_stat);
2772 lustre_dissect_element_obd_quotactl_qc_dqblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2774 offset=lustre_dissect_struct_obd_dqblk(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqblk);
2779 lustre_dissect_element_obd_quotactl_qc_dqinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2781 offset=lustre_dissect_struct_obd_dqinfo(tvb,offset,pinfo,tree,hf_lustre_obd_quotactl_qc_dqinfo);
2786 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_)
2788 proto_item *item = NULL;
2789 proto_tree *tree = NULL;
2795 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2796 tree = proto_item_add_subtree(item, ett_lustre_obd_quotactl);
2799 offset=lustre_dissect_element_obd_quotactl_qc_cmd(tvb, offset, pinfo, tree);
2801 offset=lustre_dissect_element_obd_quotactl_qc_type(tvb, offset, pinfo, tree);
2803 offset=lustre_dissect_element_obd_quotactl_qc_id(tvb, offset, pinfo, tree);
2805 offset=lustre_dissect_element_obd_quotactl_qc_stat(tvb, offset, pinfo, tree);
2807 offset=lustre_dissect_element_obd_quotactl_qc_dqinfo(tvb, offset, pinfo, tree);
2809 offset=lustre_dissect_element_obd_quotactl_qc_dqblk(tvb, offset, pinfo, tree);
2812 proto_item_set_len(item, offset-old_offset);
2818 /* IDL: struct quota_adjust_qunit { */
2819 /* IDL: uint32 qaq_flags; */
2820 /* IDL: uint32 qaq_id; */
2821 /* IDL: uint64 qaq_bunit_sz; */
2822 /* IDL: uint64 qaq_iunit_sz; */
2823 /* IDL: uint64 padding1; */
2827 lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2829 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_flags);
2835 lustre_dissect_element_quota_adjust_qunit_qaq_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2837 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_id);
2843 lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2845 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_bunit_sz);
2851 lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2853 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_qaq_iunit_sz);
2859 lustre_dissect_element_quota_adjust_qunit_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2861 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit_padding1);
2867 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_)
2869 proto_item *item = NULL;
2870 proto_tree *tree = NULL;
2878 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
2879 tree = proto_item_add_subtree(item, ett_lustre_quota_adjust_qunit);
2882 offset=lustre_dissect_element_quota_adjust_qunit_qaq_flags(tvb, offset, pinfo, tree);
2884 offset=lustre_dissect_element_quota_adjust_qunit_qaq_id(tvb, offset, pinfo, tree);
2886 offset=lustre_dissect_element_quota_adjust_qunit_qaq_bunit_sz(tvb, offset, pinfo, tree);
2888 offset=lustre_dissect_element_quota_adjust_qunit_qaq_iunit_sz(tvb, offset, pinfo, tree);
2890 offset=lustre_dissect_element_quota_adjust_qunit_padding1(tvb, offset, pinfo, tree);
2893 proto_item_set_len(item, offset-old_offset);
2898 /* I don't find where this struct appear on wire.. need to search mdc_setattr_pack() */
2899 /* IDL: struct mds_rec_setattr { */
2900 /* IDL: uint32 sa_opcode; */
2901 /* IDL: uint32 sa_fsuid; */
2902 /* IDL: uint32 sa_fsgid; */
2903 /* IDL: uint32 sa_cap; */
2904 /* IDL: uint32 sa_suppgid; */
2905 /* IDL: uint32 sa_mode; */
2906 /* IDL: struct ll_fid { */
2907 /* IDL: } sa_fid; */
2908 /* IDL: uint64 sa_valid; */
2909 /* IDL: uint64 sa_size; */
2910 /* IDL: uint64 sa_mtime; */
2911 /* IDL: uint64 sa_atime; */
2912 /* IDL: uint64 sa_ctime; */
2913 /* IDL: uint32 sa_uid; */
2914 /* IDL: uint32 sa_gid; */
2915 /* IDL: uint32 sa_attr_flags; */
2916 /* IDL: uint32 sa_padding; */
2920 lustre_dissect_element_mds_rec_setattr_sa_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2922 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_opcode);
2928 lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2930 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsuid);
2936 lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2938 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_fsgid);
2944 lustre_dissect_element_mds_rec_setattr_sa_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2946 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_cap);
2952 lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2954 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_suppgid);
2960 lustre_dissect_element_mds_rec_setattr_sa_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2962 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_mode);
2968 lustre_dissect_element_mds_rec_setattr_sa_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2970 //offset=lustre_dissect_struct_HASH(0x85af8d0)(tvb,offset,pinfo,tree,hf_lustre_mds_rec_setattr_sa_fid);
2976 lustre_dissect_element_mds_rec_setattr_sa_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2978 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_valid);
2984 lustre_dissect_element_mds_rec_setattr_sa_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2986 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_size);
2992 lustre_dissect_element_mds_rec_setattr_sa_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
2997 ns.secs = tvb_get_letohl(tvb,offset);
2999 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_mtime, tvb, offset, 8, &ns );
3005 lustre_dissect_element_mds_rec_setattr_sa_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3009 ns.secs = tvb_get_letohl(tvb,offset);
3011 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_atime, tvb, offset, 8, &ns );
3017 lustre_dissect_element_mds_rec_setattr_sa_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3021 ns.secs = tvb_get_letohl(tvb,offset);
3023 proto_tree_add_time(tree, hf_lustre_mds_rec_setattr_sa_ctime, tvb, offset, 8, &ns );
3029 lustre_dissect_element_mds_rec_setattr_sa_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3031 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_uid);
3037 lustre_dissect_element_mds_rec_setattr_sa_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3039 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_gid);
3045 lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3047 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_attr_flags);
3053 lustre_dissect_element_mds_rec_setattr_sa_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3055 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_setattr_sa_padding);
3061 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_)
3063 proto_item *item = NULL;
3064 proto_tree *tree = NULL;
3073 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3074 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_setattr);
3076 sa_opcode=tvb_get_letohl(tvb,offset);
3077 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(sa_opcode, lustre_mds_reint_t_vals, "Unknown sa_opc"));
3079 offset=lustre_dissect_element_mds_rec_setattr_sa_opcode(tvb, offset, pinfo, tree);
3081 offset=lustre_dissect_element_mds_rec_setattr_sa_fsuid(tvb, offset, pinfo, tree);
3083 offset=lustre_dissect_element_mds_rec_setattr_sa_fsgid(tvb, offset, pinfo, tree);
3085 offset=lustre_dissect_element_mds_rec_setattr_sa_cap(tvb, offset, pinfo, tree);
3087 offset=lustre_dissect_element_mds_rec_setattr_sa_suppgid(tvb, offset, pinfo, tree);
3089 offset=lustre_dissect_element_mds_rec_setattr_sa_mode(tvb, offset, pinfo, tree);
3091 offset=lustre_dissect_element_mds_rec_setattr_sa_fid(tvb, offset, pinfo, tree);
3093 offset=lustre_dissect_element_mds_rec_setattr_sa_valid(tvb, offset, pinfo, tree);
3095 offset=lustre_dissect_element_mds_rec_setattr_sa_size(tvb, offset, pinfo, tree);
3097 offset=lustre_dissect_element_mds_rec_setattr_sa_mtime(tvb, offset, pinfo, tree);
3099 offset=lustre_dissect_element_mds_rec_setattr_sa_atime(tvb, offset, pinfo, tree);
3101 offset=lustre_dissect_element_mds_rec_setattr_sa_ctime(tvb, offset, pinfo, tree);
3103 offset=lustre_dissect_element_mds_rec_setattr_sa_uid(tvb, offset, pinfo, tree);
3105 offset=lustre_dissect_element_mds_rec_setattr_sa_gid(tvb, offset, pinfo, tree);
3107 offset=lustre_dissect_element_mds_rec_setattr_sa_attr_flags(tvb, offset, pinfo, tree);
3109 offset=lustre_dissect_element_mds_rec_setattr_sa_padding(tvb, offset, pinfo, tree);
3112 proto_item_set_len(item, offset-old_offset);
3118 /* IDL: struct mds_rec_create { */
3119 /* IDL: uint32 cr_opcode; */
3120 /* IDL: uint32 cr_fsuid; */
3121 /* IDL: uint32 cr_fsgid; */
3122 /* IDL: uint32 cr_cap; */
3123 /* IDL: uint32 cr_flags; */
3124 /* IDL: uint32 cr_mode; */
3125 /* IDL: struct ll_fid { */
3126 /* IDL: } cr_fid; */
3127 /* IDL: struct ll_fid { */
3128 /* IDL: } cr_replayfid; */
3129 /* IDL: uint64 cr_time; */
3130 /* IDL: uint64 cr_rdev; */
3131 /* IDL: uint32 cr_suppgid; */
3132 /* IDL: uint32 cr_padding_1; */
3133 /* IDL: uint32 cr_padding_2; */
3134 /* IDL: uint32 cr_padding_3; */
3135 /* IDL: uint32 cr_padding_4; */
3136 /* IDL: uint32 cr_padding_5; */
3140 lustre_dissect_element_mds_rec_create_cr_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3142 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_opcode);
3148 lustre_dissect_element_mds_rec_create_cr_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3150 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsuid);
3156 lustre_dissect_element_mds_rec_create_cr_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3158 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_fsgid);
3164 lustre_dissect_element_mds_rec_create_cr_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3166 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_cap);
3172 lustre_dissect_element_mds_rec_create_cr_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3174 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_flags);
3180 lustre_dissect_element_mds_rec_create_cr_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3182 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_mode);
3188 lustre_dissect_element_mds_rec_create_cr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3190 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_fid);
3195 lustre_dissect_element_mds_rec_create_cr_replayfid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3197 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_create_cr_replayfid);
3202 lustre_dissect_element_mds_rec_create_cr_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3206 ns.secs = tvb_get_letohl(tvb,offset);
3208 proto_tree_add_time(tree, hf_lustre_mds_rec_create_cr_time, tvb, offset, 8, &ns );
3215 lustre_dissect_element_mds_rec_create_cr_rdev(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3217 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_rdev);
3223 lustre_dissect_element_mds_rec_create_cr_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3225 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_suppgid);
3231 lustre_dissect_element_mds_rec_create_cr_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3233 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_1);
3239 lustre_dissect_element_mds_rec_create_cr_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3241 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_2);
3247 lustre_dissect_element_mds_rec_create_cr_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3249 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_3);
3255 lustre_dissect_element_mds_rec_create_cr_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3257 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_4);
3263 lustre_dissect_element_mds_rec_create_cr_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3265 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create_cr_padding_5);
3271 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_)
3273 proto_item *item = NULL;
3274 proto_tree *tree = NULL;
3283 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3284 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_create);
3286 cr_opcode=tvb_get_letohl(tvb,offset);
3287 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(cr_opcode, lustre_mds_reint_t_vals, "Unknown cr_opc"));
3289 offset=lustre_dissect_element_mds_rec_create_cr_opcode(tvb, offset, pinfo, tree);
3291 offset=lustre_dissect_element_mds_rec_create_cr_fsuid(tvb, offset, pinfo, tree);
3293 offset=lustre_dissect_element_mds_rec_create_cr_fsgid(tvb, offset, pinfo, tree);
3295 offset=lustre_dissect_element_mds_rec_create_cr_cap(tvb, offset, pinfo, tree);
3297 offset=lustre_dissect_element_mds_rec_create_cr_flags(tvb, offset, pinfo, tree);
3299 offset=lustre_dissect_element_mds_rec_create_cr_mode(tvb, offset, pinfo, tree);
3301 offset=lustre_dissect_element_mds_rec_create_cr_fid(tvb, offset, pinfo, tree);
3303 offset=lustre_dissect_element_mds_rec_create_cr_replayfid(tvb, offset, pinfo, tree);
3305 offset=lustre_dissect_element_mds_rec_create_cr_time(tvb, offset, pinfo, tree);
3307 offset=lustre_dissect_element_mds_rec_create_cr_rdev(tvb, offset, pinfo, tree);
3309 offset=lustre_dissect_element_mds_rec_create_cr_suppgid(tvb, offset, pinfo, tree);
3311 offset=lustre_dissect_element_mds_rec_create_cr_padding_1(tvb, offset, pinfo, tree);
3313 offset=lustre_dissect_element_mds_rec_create_cr_padding_2(tvb, offset, pinfo, tree);
3315 offset=lustre_dissect_element_mds_rec_create_cr_padding_3(tvb, offset, pinfo, tree);
3317 offset=lustre_dissect_element_mds_rec_create_cr_padding_4(tvb, offset, pinfo, tree);
3319 offset=lustre_dissect_element_mds_rec_create_cr_padding_5(tvb, offset, pinfo, tree);
3322 proto_item_set_len(item, offset-old_offset);
3330 /* TODO : find where this structure appear ! */
3331 /* IDL: struct mds_rec_join { */
3332 /* IDL: struct ll_fid { */
3333 /* IDL: } jr_fid; */
3334 /* IDL: uint64 jr_headsize; */
3338 lustre_dissect_element_mds_rec_join_jr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3340 //offset=lustre_dissect_struct_HASH(0x85b17c0)(tvb,offset,pinfo,tree,hf_lustre_mds_rec_join_jr_fid);
3345 lustre_dissect_element_mds_rec_join_jr_headsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3347 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_rec_join_jr_headsize);
3353 lustre_dissect_struct_mds_rec_join(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
3355 proto_item *item = NULL;
3356 proto_tree *tree = NULL;
3364 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3365 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_join);
3368 offset=lustre_dissect_element_mds_rec_join_jr_fid(tvb, offset, pinfo, tree);
3370 offset=lustre_dissect_element_mds_rec_join_jr_headsize(tvb, offset, pinfo, tree);
3373 proto_item_set_len(item, offset-old_offset);
3379 /* IDL: struct mds_rec_link { */
3380 /* IDL: uint32 lk_opcode; */
3381 /* IDL: uint32 lk_fsuid; */
3382 /* IDL: uint32 lk_fsgid; */
3383 /* IDL: uint32 lk_cap; */
3384 /* IDL: uint32 lk_suppgid1; */
3385 /* IDL: uint32 lk_suppgid2; */
3386 /* IDL: struct ll_fid { */
3387 /* IDL: } lk_fid1; */
3388 /* IDL: struct ll_fid { */
3389 /* IDL: } lk_fid2; */
3390 /* IDL: uint64 lk_time; */
3391 /* IDL: uint32 lk_padding_1; */
3392 /* IDL: uint32 lk_padding_2; */
3393 /* IDL: uint32 lk_padding_3; */
3394 /* IDL: uint32 lk_padding_4; */
3398 lustre_dissect_element_mds_rec_link_lk_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3400 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_opcode);
3406 lustre_dissect_element_mds_rec_link_lk_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3408 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsuid);
3414 lustre_dissect_element_mds_rec_link_lk_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3416 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_fsgid);
3422 lustre_dissect_element_mds_rec_link_lk_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3424 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_cap);
3430 lustre_dissect_element_mds_rec_link_lk_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3432 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid1);
3438 lustre_dissect_element_mds_rec_link_lk_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3440 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_suppgid2);
3446 lustre_dissect_element_mds_rec_link_lk_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3448 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid1);
3453 lustre_dissect_element_mds_rec_link_lk_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3455 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_link_lk_fid2);
3460 lustre_dissect_element_mds_rec_link_lk_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3464 ns.secs = tvb_get_letohl(tvb,offset);
3466 proto_tree_add_time(tree, hf_lustre_mds_rec_link_lk_time, tvb, offset, 8, &ns );
3472 lustre_dissect_element_mds_rec_link_lk_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3474 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_1);
3480 lustre_dissect_element_mds_rec_link_lk_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3482 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_2);
3488 lustre_dissect_element_mds_rec_link_lk_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3490 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_3);
3496 lustre_dissect_element_mds_rec_link_lk_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3498 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link_lk_padding_4);
3504 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_)
3506 proto_item *item = NULL;
3507 proto_tree *tree = NULL;
3516 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3517 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_link);
3519 lk_opcode=tvb_get_letohl(tvb,offset);
3520 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lk_opcode, lustre_mds_reint_t_vals, "Unknown lk_opc"));
3522 offset=lustre_dissect_element_mds_rec_link_lk_opcode(tvb, offset, pinfo, tree);
3524 offset=lustre_dissect_element_mds_rec_link_lk_fsuid(tvb, offset, pinfo, tree);
3526 offset=lustre_dissect_element_mds_rec_link_lk_fsgid(tvb, offset, pinfo, tree);
3528 offset=lustre_dissect_element_mds_rec_link_lk_cap(tvb, offset, pinfo, tree);
3530 offset=lustre_dissect_element_mds_rec_link_lk_suppgid1(tvb, offset, pinfo, tree);
3532 offset=lustre_dissect_element_mds_rec_link_lk_suppgid2(tvb, offset, pinfo, tree);
3534 offset=lustre_dissect_element_mds_rec_link_lk_fid1(tvb, offset, pinfo, tree);
3536 offset=lustre_dissect_element_mds_rec_link_lk_fid2(tvb, offset, pinfo, tree);
3538 offset=lustre_dissect_element_mds_rec_link_lk_time(tvb, offset, pinfo, tree);
3540 offset=lustre_dissect_element_mds_rec_link_lk_padding_1(tvb, offset, pinfo, tree);
3542 offset=lustre_dissect_element_mds_rec_link_lk_padding_2(tvb, offset, pinfo, tree);
3544 offset=lustre_dissect_element_mds_rec_link_lk_padding_3(tvb, offset, pinfo, tree);
3546 offset=lustre_dissect_element_mds_rec_link_lk_padding_4(tvb, offset, pinfo, tree);
3549 proto_item_set_len(item, offset-old_offset);
3556 /* IDL: struct mds_rec_unlink { */
3557 /* IDL: uint32 ul_opcode; */
3558 /* IDL: uint32 ul_fsuid; */
3559 /* IDL: uint32 ul_fsgid; */
3560 /* IDL: uint32 ul_cap; */
3561 /* IDL: uint32 ul_suppgid; */
3562 /* IDL: uint32 ul_mode; */
3563 /* IDL: struct ll_fid { */
3564 /* IDL: } ul_fid1; */
3565 /* IDL: struct ll_fid { */
3566 /* IDL: } ul_fid2; */
3567 /* IDL: uint64 ul_time; */
3568 /* IDL: uint32 ul_padding_1; */
3569 /* IDL: uint32 ul_padding_2; */
3570 /* IDL: uint32 ul_padding_3; */
3571 /* IDL: uint32 ul_padding_4; */
3575 lustre_dissect_element_mds_rec_unlink_ul_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3577 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_opcode);
3583 lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3585 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsuid);
3591 lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3593 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_fsgid);
3599 lustre_dissect_element_mds_rec_unlink_ul_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3601 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_cap);
3607 lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3609 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_suppgid);
3615 lustre_dissect_element_mds_rec_unlink_ul_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3617 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_mode);
3623 lustre_dissect_element_mds_rec_unlink_ul_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3625 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid1);
3630 lustre_dissect_element_mds_rec_unlink_ul_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3632 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_unlink_ul_fid2);
3637 lustre_dissect_element_mds_rec_unlink_ul_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3641 ns.secs = tvb_get_letohl(tvb,offset);
3643 proto_tree_add_time(tree,hf_lustre_mds_rec_unlink_ul_time , tvb, offset, 8, &ns );
3649 lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3651 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_1);
3657 lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3659 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_2);
3665 lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3667 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_3);
3673 lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3675 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink_ul_padding_4);
3681 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_)
3683 proto_item *item = NULL;
3684 proto_tree *tree = NULL;
3693 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3694 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_unlink);
3697 ul_opcode=tvb_get_letohl(tvb,offset);
3698 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(ul_opcode, lustre_mds_reint_t_vals, "Unknown ul_opc"));
3700 offset=lustre_dissect_element_mds_rec_unlink_ul_opcode(tvb, offset, pinfo, tree);
3702 offset=lustre_dissect_element_mds_rec_unlink_ul_fsuid(tvb, offset, pinfo, tree);
3704 offset=lustre_dissect_element_mds_rec_unlink_ul_fsgid(tvb, offset, pinfo, tree);
3706 offset=lustre_dissect_element_mds_rec_unlink_ul_cap(tvb, offset, pinfo, tree);
3708 offset=lustre_dissect_element_mds_rec_unlink_ul_suppgid(tvb, offset, pinfo, tree);
3710 offset=lustre_dissect_element_mds_rec_unlink_ul_mode(tvb, offset, pinfo, tree);
3712 offset=lustre_dissect_element_mds_rec_unlink_ul_fid1(tvb, offset, pinfo, tree);
3714 offset=lustre_dissect_element_mds_rec_unlink_ul_fid2(tvb, offset, pinfo, tree);
3716 offset=lustre_dissect_element_mds_rec_unlink_ul_time(tvb, offset, pinfo, tree);
3718 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_1(tvb, offset, pinfo, tree);
3720 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_2(tvb, offset, pinfo, tree);
3722 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_3(tvb, offset, pinfo, tree);
3724 offset=lustre_dissect_element_mds_rec_unlink_ul_padding_4(tvb, offset, pinfo, tree);
3727 proto_item_set_len(item, offset-old_offset);
3734 /* IDL: struct mds_rec_rename { */
3735 /* IDL: uint32 rn_opcode; */
3736 /* IDL: uint32 rn_fsuid; */
3737 /* IDL: uint32 rn_fsgid; */
3738 /* IDL: uint32 rn_cap; */
3739 /* IDL: uint32 rn_suppgid1; */
3740 /* IDL: uint32 rn_suppgid2; */
3741 /* IDL: struct ll_fid { */
3742 /* IDL: } rn_fid1; */
3743 /* IDL: struct ll_fid { */
3744 /* IDL: } rn_fid2; */
3745 /* IDL: uint64 rn_time; */
3746 /* IDL: uint32 rn_padding_1; */
3747 /* IDL: uint32 rn_padding_2; */
3748 /* IDL: uint32 rn_padding_3; */
3749 /* IDL: uint32 rn_padding_4; */
3753 lustre_dissect_element_mds_rec_rename_rn_opcode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3755 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_opcode);
3761 lustre_dissect_element_mds_rec_rename_rn_fsuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3763 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsuid);
3769 lustre_dissect_element_mds_rec_rename_rn_fsgid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3771 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_fsgid);
3777 lustre_dissect_element_mds_rec_rename_rn_cap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3779 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_cap);
3785 lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3787 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid1);
3793 lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3795 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_suppgid2);
3801 lustre_dissect_element_mds_rec_rename_rn_fid1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3803 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid1);
3808 lustre_dissect_element_mds_rec_rename_rn_fid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3810 offset=lustre_dissect_struct_ll_fid(tvb,offset,pinfo,tree,hf_lustre_mds_rec_rename_rn_fid2);
3815 lustre_dissect_element_mds_rec_rename_rn_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3819 ns.secs = tvb_get_letohl(tvb,offset);
3821 proto_tree_add_time(tree, hf_lustre_mds_rec_rename_rn_time, tvb, offset, 8, &ns );
3827 lustre_dissect_element_mds_rec_rename_rn_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3829 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_1);
3835 lustre_dissect_element_mds_rec_rename_rn_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3837 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_2);
3843 lustre_dissect_element_mds_rec_rename_rn_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3845 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_3);
3851 lustre_dissect_element_mds_rec_rename_rn_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3853 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mds_rec_rename_rn_padding_4);
3859 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_)
3861 proto_item *item = NULL;
3862 proto_tree *tree = NULL;
3871 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
3872 tree = proto_item_add_subtree(item, ett_lustre_mds_rec_rename);
3875 rn_opcode=tvb_get_letohl(tvb,offset);
3876 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(rn_opcode, lustre_mds_reint_t_vals, "Unknown rn_opc"));
3878 offset=lustre_dissect_element_mds_rec_rename_rn_opcode(tvb, offset, pinfo, tree);
3880 offset=lustre_dissect_element_mds_rec_rename_rn_fsuid(tvb, offset, pinfo, tree);
3882 offset=lustre_dissect_element_mds_rec_rename_rn_fsgid(tvb, offset, pinfo, tree);
3884 offset=lustre_dissect_element_mds_rec_rename_rn_cap(tvb, offset, pinfo, tree);
3886 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid1(tvb, offset, pinfo, tree);
3888 offset=lustre_dissect_element_mds_rec_rename_rn_suppgid2(tvb, offset, pinfo, tree);
3890 offset=lustre_dissect_element_mds_rec_rename_rn_fid1(tvb, offset, pinfo, tree);
3892 offset=lustre_dissect_element_mds_rec_rename_rn_fid2(tvb, offset, pinfo, tree);
3894 offset=lustre_dissect_element_mds_rec_rename_rn_time(tvb, offset, pinfo, tree);
3896 offset=lustre_dissect_element_mds_rec_rename_rn_padding_1(tvb, offset, pinfo, tree);
3898 offset=lustre_dissect_element_mds_rec_rename_rn_padding_2(tvb, offset, pinfo, tree);
3900 offset=lustre_dissect_element_mds_rec_rename_rn_padding_3(tvb, offset, pinfo, tree);
3902 offset=lustre_dissect_element_mds_rec_rename_rn_padding_4(tvb, offset, pinfo, tree);
3905 proto_item_set_len(item, offset-old_offset);
3911 /* TODO : find where this structure appear */
3913 /* IDL: struct lov_desc { */
3914 /* IDL: uint32 ld_tgt_count; */
3915 /* IDL: uint32 ld_active_tgt_count; */
3916 /* IDL: uint32 ld_default_stripe_count; */
3917 /* IDL: uint32 ld_pattern; */
3918 /* IDL: uint64 ld_default_stripe_size; */
3919 /* IDL: uint64 ld_default_stripe_offset; */
3920 /* IDL: uint32 ld_padding_0; */
3921 /* IDL: uint32 ld_qos_maxage; */
3922 /* IDL: uint32 ld_padding_1; */
3923 /* IDL: uint32 ld_padding_2; */
3924 /* IDL: struct obd_uuid { */
3925 /* IDL: } ld_uuid; */
3929 lustre_dissect_element_lov_desc_ld_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3931 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_tgt_count);
3937 lustre_dissect_element_lov_desc_ld_active_tgt_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3939 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_active_tgt_count);
3945 lustre_dissect_element_lov_desc_ld_default_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3947 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_count);
3953 lustre_dissect_element_lov_desc_ld_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3955 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_pattern);
3961 lustre_dissect_element_lov_desc_ld_default_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3963 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_size);
3969 lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3971 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_default_stripe_offset);
3977 lustre_dissect_element_lov_desc_ld_padding_0(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3979 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_0);
3985 lustre_dissect_element_lov_desc_ld_qos_maxage(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3987 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_qos_maxage);
3993 lustre_dissect_element_lov_desc_ld_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
3995 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_1);
4001 lustre_dissect_element_lov_desc_ld_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4003 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_desc_ld_padding_2);
4009 lustre_dissect_element_lov_desc_ld_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4011 //offset=lustre_dissect_struct_HASH(0x85bade8)(tvb,offset,pinfo,tree,hf_lustre_lov_desc_ld_uuid);
4016 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_)
4018 proto_item *item = NULL;
4019 proto_tree *tree = NULL;
4027 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4028 tree = proto_item_add_subtree(item, ett_lustre_lov_desc);
4031 offset=lustre_dissect_element_lov_desc_ld_tgt_count(tvb, offset, pinfo, tree);
4033 offset=lustre_dissect_element_lov_desc_ld_active_tgt_count(tvb, offset, pinfo, tree);
4035 offset=lustre_dissect_element_lov_desc_ld_default_stripe_count(tvb, offset, pinfo, tree);
4037 offset=lustre_dissect_element_lov_desc_ld_pattern(tvb, offset, pinfo, tree);
4039 offset=lustre_dissect_element_lov_desc_ld_default_stripe_size(tvb, offset, pinfo, tree);
4041 offset=lustre_dissect_element_lov_desc_ld_default_stripe_offset(tvb, offset, pinfo, tree);
4043 offset=lustre_dissect_element_lov_desc_ld_padding_0(tvb, offset, pinfo, tree);
4045 offset=lustre_dissect_element_lov_desc_ld_qos_maxage(tvb, offset, pinfo, tree);
4047 offset=lustre_dissect_element_lov_desc_ld_padding_1(tvb, offset, pinfo, tree);
4049 offset=lustre_dissect_element_lov_desc_ld_padding_2(tvb, offset, pinfo, tree);
4051 offset=lustre_dissect_element_lov_desc_ld_uuid(tvb, offset, pinfo, tree);
4054 proto_item_set_len(item, offset-old_offset);
4059 /* IDL: struct obd_uuid { */
4060 /* char uuid[40]; */
4064 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_)
4067 /* the lenght of the string is 40 bytes max, with \0 inside */
4069 proto_tree_add_item(parent_tree, hf_index, tvb, offset, 40, TRUE);
4078 /* IDL: struct ldlm_res_id { */
4079 /* IDL: uint64 name[4]; */
4083 lustre_dissect_element_ldlm_res_id_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4085 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_res_id_name);
4091 lustre_dissect_element_ldlm_res_id_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4094 for (i = 0; i < 4; i++)
4095 offset=lustre_dissect_element_ldlm_res_id_name_(tvb, offset, pinfo, tree);
4103 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_)
4105 proto_item *item = NULL;
4106 proto_tree *tree = NULL;
4114 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4115 tree = proto_item_add_subtree(item, ett_lustre_ldlm_res_id);
4118 offset=lustre_dissect_element_ldlm_res_id_name(tvb, offset, pinfo, tree);
4121 proto_item_set_len(item, offset-old_offset);
4128 /* IDL: LCK_MINMODE=0, */
4129 /* IDL: LCK_EX=1, */
4130 /* IDL: LCK_PW=2, */
4131 /* IDL: LCK_PR=4, */
4132 /* IDL: LCK_CW=8, */
4133 /* IDL: LCK_CR=16, */
4134 /* IDL: LCK_NL=32, */
4135 /* IDL: LCK_GROUP=64, */
4136 /* IDL: LCK_MAXMODE, */
4140 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_)
4142 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_index);
4148 /* IDL: LDLM_PLAIN=10, */
4149 /* IDL: LDLM_EXTENT=11, */
4150 /* IDL: LDLM_FLOCK=12, */
4151 /* IDL: LDLM_IBITS=13, */
4152 /* IDL: LDLM_MAX_TYPE, */
4156 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_)
4158 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type );
4162 /* IDL: struct ldlm_extent { */
4163 /* IDL: uint64 start; */
4164 /* IDL: uint64 end; */
4165 /* IDL: uint64 gid; */
4169 lustre_dissect_element_ldlm_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4171 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_start);
4177 lustre_dissect_element_ldlm_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4179 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_end);
4185 lustre_dissect_element_ldlm_extent_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4187 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_extent_gid);
4193 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_)
4195 proto_item *item = NULL;
4196 proto_tree *tree = NULL;
4204 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4205 tree = proto_item_add_subtree(item, ett_lustre_ldlm_extent);
4208 offset=lustre_dissect_element_ldlm_extent_start(tvb, offset, pinfo, tree);
4210 offset=lustre_dissect_element_ldlm_extent_end(tvb, offset, pinfo, tree);
4212 offset=lustre_dissect_element_ldlm_extent_gid(tvb, offset, pinfo, tree);
4215 proto_item_set_len(item, offset-old_offset);
4220 /* IDL: struct ldlm_inodebits { */
4221 /* IDL: uint64 bits; */
4225 lustre_dissect_element_ldlm_inodebits_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4227 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_inodebits_bits);
4233 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_)
4235 proto_item *item = NULL;
4236 proto_tree *tree = NULL;
4244 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4245 tree = proto_item_add_subtree(item, ett_lustre_ldlm_inodebits);
4248 offset=lustre_dissect_element_ldlm_inodebits_bits(tvb, offset, pinfo, tree);
4251 proto_item_set_len(item, offset-old_offset);
4256 /* IDL: struct ldlm_flock { */
4257 /* IDL: uint64 start; */
4258 /* IDL: uint64 end; */
4259 /* IDL: uint64 blocking_export; */
4260 /* IDL: uint32 blocking_pid; */
4261 /* IDL: uint32 pid; */
4265 lustre_dissect_element_ldlm_flock_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4267 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_start);
4273 lustre_dissect_element_ldlm_flock_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4275 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_end);
4281 lustre_dissect_element_ldlm_flock_blocking_export(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4283 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_export);
4289 lustre_dissect_element_ldlm_flock_blocking_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4291 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_blocking_pid);
4297 lustre_dissect_element_ldlm_flock_pid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4299 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_flock_pid);
4305 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_)
4307 proto_item *item = NULL;
4308 proto_tree *tree = NULL;
4316 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4317 tree = proto_item_add_subtree(item, ett_lustre_ldlm_flock);
4320 offset=lustre_dissect_element_ldlm_flock_start(tvb, offset, pinfo, tree);
4322 offset=lustre_dissect_element_ldlm_flock_end(tvb, offset, pinfo, tree);
4324 offset=lustre_dissect_element_ldlm_flock_blocking_export(tvb, offset, pinfo, tree);
4326 offset=lustre_dissect_element_ldlm_flock_blocking_pid(tvb, offset, pinfo, tree);
4328 offset=lustre_dissect_element_ldlm_flock_pid(tvb, offset, pinfo, tree);
4331 proto_item_set_len(item, offset-old_offset);
4336 /* IDL: struct ldlm_intent { */
4337 /* IDL: uint64 opc; */
4341 lustre_dissect_element_ldlm_intent_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4344 /* this opcode is like a flag*/
4345 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_open );
4346 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_creat );
4347 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_readdir );
4348 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getattr );
4349 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_lookup );
4350 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_unlink );
4351 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_getxattr);
4352 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_exec );
4353 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent_opc_pin );
4354 opcode = tvb_get_letohl(tvb,offset);
4356 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, "[ intent :");
4357 if(opcode & IT_OPEN ){
4358 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " open");
4359 proto_item_append_text(tree, " open" );
4361 if(opcode & IT_CREAT ){
4362 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " create");
4363 proto_item_append_text(tree, " create" );
4365 if(opcode & IT_READDIR ){
4366 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " readdir");
4367 proto_item_append_text(tree, " readdir" );
4369 if(opcode & IT_GETATTR ){
4370 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getattr");
4371 proto_item_append_text(tree, " getattr" );
4373 if(opcode & IT_LOOKUP ){
4374 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " lookup");
4375 proto_item_append_text(tree, " lookup" );
4377 if(opcode & IT_UNLINK ){
4378 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " unlink");
4379 proto_item_append_text(tree, " unlink" );
4381 if(opcode & IT_GETXATTR){
4382 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " getxattr");
4383 proto_item_append_text(tree, " getxattr" );
4385 if(opcode & IT_EXEC ){
4386 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " exec");
4387 proto_item_append_text(tree, " exec" );
4389 if(opcode & IT_PIN ){
4390 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " pin");
4391 proto_item_append_text(tree, " pin" );
4394 display_info_str(tree->parent, pinfo->cinfo, COL_INFO, " ]");
4400 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_)
4402 // proto_item *item = NULL;
4403 //proto_tree *tree = NULL;
4406 proto_item * opcode_item = NULL;
4407 proto_tree * opcode_tree = NULL;
4410 // if (parent_tree) {
4411 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4412 // tree = proto_item_add_subtree(item, ett_lustre_ldlm_intent);
4413 // //tree = parent_tree; /* TODO : !!!!!!!!!!!!!!! ATTENTIon à revoir,
4414 // //fait rapidement pour ne pas avoir le subtree */
4418 intent_opc = tvb_get_letoh64(tvb,offset);
4420 opcode_item = proto_tree_add_item(parent_tree, hf_lustre_ldlm_intent_opc, tvb, offset, 8, TRUE);
4421 opcode_tree = proto_item_add_subtree(opcode_item, ett_lustre_ldlm_intent_opc);
4424 offset=lustre_dissect_element_ldlm_intent_opc(tvb, offset, pinfo, opcode_tree);
4426 offset=ldlm_opcode_process(tvb, offset, pinfo, parent_tree, intent_opc);
4433 /* IDL: struct ldlm_resource_desc { */
4434 /* IDL: ldlm_type_t lr_type; */
4435 /* IDL: uint32 lr_padding; */
4436 /* IDL: struct ldlm_res_id { */
4437 /* IDL: } lr_name; */
4441 lustre_dissect_element_ldlm_resource_desc_lr_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4443 /* offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);*/
4444 offset=lustre_dissect_enum_ldlm_type_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_type);
4449 lustre_dissect_element_ldlm_resource_desc_lr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4451 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_resource_desc_lr_padding);
4457 lustre_dissect_element_ldlm_resource_desc_lr_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4459 offset=lustre_dissect_struct_ldlm_res_id(tvb,offset,pinfo,tree,hf_lustre_ldlm_resource_desc_lr_name);
4464 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_)
4466 proto_item *item = NULL;
4467 proto_tree *tree = NULL;
4475 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4476 tree = proto_item_add_subtree(item, ett_lustre_ldlm_resource_desc);
4479 offset=lustre_dissect_element_ldlm_resource_desc_lr_type(tvb, offset, pinfo, tree);
4481 offset=lustre_dissect_element_ldlm_resource_desc_lr_padding(tvb, offset, pinfo, tree);
4483 offset=lustre_dissect_element_ldlm_resource_desc_lr_name(tvb, offset, pinfo, tree);
4486 proto_item_set_len(item, offset-old_offset);
4492 /* IDL: struct ldlm_lock_desc { */
4493 /* IDL: struct ldlm_resource_desc { */
4494 /* IDL: } l_resource; */
4495 /* IDL: ldlm_mode_t l_req_mode; */
4496 /* IDL: ldlm_mode_t l_granted_mode; */
4497 /* IDL: ldlm_policy_data_t l_policy_data; */
4501 lustre_dissect_element_ldlm_lock_desc_l_resource(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4503 offset=lustre_dissect_struct_ldlm_resource_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_resource);
4508 lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4510 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_req_mode);
4516 lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4518 offset=lustre_dissect_enum_ldlm_mode_t(tvb, offset, pinfo, tree, hf_lustre_ldlm_lock_desc_l_granted_mode);
4524 lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4527 guint32 lr_type; /* type of the lock */
4529 lr_type = tvb_get_letohl(tvb,offset - 48 ); /* TODO : find another way that using -48 */
4531 /* this section must be check with lustre code, possible mistake here */
4535 offset=lustre_dissect_struct_ldlm_flock(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4538 offset= lustre_dissect_struct_ldlm_extent(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4539 /* add an extra padding 8 bytes */
4540 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4543 offset=lustre_dissect_struct_ldlm_inodebits(tvb,offset,pinfo,tree,hf_lustre_ldlm_lock_desc_l_policy_data);
4544 /* add an extra padding 24 bytes */
4545 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4546 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4547 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4550 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4551 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4552 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4553 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
4560 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_)
4562 proto_item *item = NULL;
4563 proto_tree *tree = NULL;
4566 guint32 lock_req_mode;
4572 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4573 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_desc);
4576 offset=lustre_dissect_element_ldlm_lock_desc_l_resource(tvb, offset, pinfo, tree);
4578 lock_req_mode = tvb_get_letohl(tvb,offset);
4580 display_info_fstr(parent_tree->parent, pinfo->cinfo, COL_INFO, "[%s]", val_to_str(lock_req_mode, lustre_ldlm_mode_t_vals, "Unknown lock"));
4582 offset=lustre_dissect_element_ldlm_lock_desc_l_req_mode(tvb, offset, pinfo, tree);
4584 offset=lustre_dissect_element_ldlm_lock_desc_l_granted_mode(tvb, offset, pinfo, tree);
4586 offset=lustre_dissect_element_ldlm_lock_desc_l_policy_data(tvb, offset, pinfo, tree);
4589 proto_item_set_len(item, offset-old_offset);
4595 /* IDL: struct ldlm_request { */
4596 /* IDL: uint32 lock_flags; */
4597 /* IDL: uint32 lock_count; */
4598 /* IDL: struct ldlm_lock_desc { */
4599 /* IDL: } lock_desc; */
4600 /* IDL: struct lustre_handle { */
4601 /* IDL: } lock_handle[2]; */
4607 lustre_dissect_element_ldlm_request_lock_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4609 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_count);
4615 lustre_dissect_element_ldlm_request_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4617 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_desc);
4624 lustre_dissect_element_ldlm_request_lock_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4626 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4627 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4629 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_request_lock_handle);
4634 lustre_dissect_element_ldlm_request_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4637 for (i = 0; i < 2; i++)
4638 offset=lustre_dissect_element_ldlm_request_lock_handle_(tvb, offset, pinfo, tree);
4644 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_)
4646 proto_item *item = NULL;
4647 proto_tree *tree = NULL;
4655 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4656 tree = proto_item_add_subtree(item, ett_lustre_ldlm_request);
4659 lock_flag = tvb_get_letohl(tvb,offset);
4660 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_request_lock_flags);
4662 offset=lustre_dissect_element_ldlm_request_lock_count(tvb, offset, pinfo, tree);
4664 /* ldlm_type = (EXTENT, PLAIN, ou IBITS) */
4665 ldlm_type = tvb_get_letohl(tvb,offset);
4666 offset=lustre_dissect_element_ldlm_request_lock_desc(tvb, offset, pinfo, tree);
4667 offset=lustre_dissect_element_ldlm_request_lock_handle(tvb, offset, pinfo, tree);
4669 proto_item_set_len(item, offset-old_offset);
4677 /* IDL: struct ldlm_reply { */
4678 /* IDL: uint32 lock_flags; */
4679 /* IDL: uint32 lock_padding; */
4680 /* IDL: struct ldlm_lock_desc { */
4681 /* IDL: } lock_desc; */
4682 /* IDL: struct lustre_handle { */
4683 /* IDL: } lock_handle; */
4684 /* IDL: uint64 lock_policy_res1; */
4685 /* IDL: uint64 lock_policy_res2; */
4690 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_)
4692 proto_item *item = NULL;
4693 proto_tree *tree = NULL;
4696 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
4697 tree = proto_item_add_subtree(item, ett_lustre_ldlm_lock_flags);
4699 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_ast_discard_data);
4700 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_deny_on_contention);
4701 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_done );
4702 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_bl_ast );
4703 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_atomic_cb );
4704 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cleaned );
4705 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cp_reqd );
4706 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel_on_block );
4707 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_lru );
4708 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_kms_ignore );
4709 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lvb_ready );
4710 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_test_lock );
4711 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_nowait );
4712 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_no_timeout );
4713 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_discard_data );
4714 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_warn );
4715 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local );
4716 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_canceling );
4717 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_has_intent );
4718 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_failed );
4719 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_local_only );
4720 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_intent_only );
4721 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_replay );
4722 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cancel );
4723 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_wait_noreproc );
4724 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_ast_sent );
4725 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_cbpending );
4726 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_wait );
4727 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_conv );
4728 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_block_granted );
4729 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_fl_lock_changed );
4734 lustre_dissect_element_ldlm_reply_lock_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4736 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_padding);
4742 lustre_dissect_element_ldlm_reply_lock_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4744 offset=lustre_dissect_struct_ldlm_lock_desc(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_desc);
4749 lustre_dissect_element_ldlm_reply_lock_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4751 /*if (check_col(pinfo->cinfo, COL_INFO)) */
4752 /* col_append_fstr(pinfo->cinfo, COL_INFO, " ldlm cookie : %" G_GINT64_MODIFIER "u", tvb_get_letoh64(tvb,offset) );*/
4754 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ldlm_reply_lock_handle);
4759 lustre_dissect_element_ldlm_reply_lock_policy_res1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4761 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res1);
4767 lustre_dissect_element_ldlm_reply_lock_policy_res2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4769 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_policy_res2);
4775 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_ )
4777 proto_item *item = NULL;
4778 proto_tree *tree = NULL;
4786 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4787 tree = proto_item_add_subtree(item, ett_lustre_ldlm_reply);
4790 lock_flag = tvb_get_letohl(tvb,offset);
4791 offset=lustre_dissect_element_ldlm_lock_flags(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply_lock_flags);
4793 offset=lustre_dissect_element_ldlm_reply_lock_padding(tvb, offset, pinfo, tree);
4795 if (ldlm_type != NULL)
4796 *ldlm_type = tvb_get_letohl(tvb,offset);
4797 offset=lustre_dissect_element_ldlm_reply_lock_desc(tvb, offset, pinfo, tree);
4799 offset=lustre_dissect_element_ldlm_reply_lock_handle(tvb, offset, pinfo, tree);
4801 offset=lustre_dissect_element_ldlm_reply_lock_policy_res1(tvb, offset, pinfo, tree);
4803 offset=lustre_dissect_element_ldlm_reply_lock_policy_res2(tvb, offset, pinfo, tree);
4805 proto_item_set_len(item, offset-old_offset);
4813 /* IDL: struct mgs_send_param { */
4814 /* IDL: uint8 mgs_param[1024]; */
4820 lustre_dissect_element_mgs_send_param_mgs_param_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4822 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_send_param_mgs_param);
4828 lustre_dissect_element_mgs_send_param_mgs_param(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4831 for (i = 0; i < 1024; i++)
4832 offset=lustre_dissect_element_mgs_send_param_mgs_param_(tvb, offset, pinfo, tree);
4838 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_)
4840 proto_item *item = NULL;
4841 proto_tree *tree = NULL;
4848 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
4849 tree = proto_item_add_subtree(item, ett_lustre_mgs_send_param);
4852 offset=lustre_dissect_element_mgs_send_param_mgs_param(tvb, offset, pinfo, tree);
4855 proto_item_set_len(item, offset-old_offset);
4860 /* IDL: struct mgs_target_info { */
4861 /* IDL: uint32 mti_lustre_ver; */
4862 /* IDL: uint32 mti_stripe_index; */
4863 /* IDL: uint32 mti_config_ver; */
4864 /* IDL: uint32 mti_flags; */
4865 /* IDL: uint32 mti_nid_count; */
4866 /* IDL: uint32 padding; */
4867 /* IDL: uint8 mti_fsname[64]; */
4868 /* IDL: uint8 mti_svname[64]; */
4869 /* IDL: uint8 mti_uuid[40]; */
4870 /* IDL: uint64 mti_nids[32]; */
4871 /* IDL: uint8 mti_params[4096]; */
4875 lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4877 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_lustre_ver);
4883 lustre_dissect_element_mgs_target_info_mti_stripe_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4885 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_stripe_index);
4891 lustre_dissect_element_mgs_target_info_mti_config_ver(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4893 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_config_ver);
4899 lustre_dissect_element_mgs_target_info_mti_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4901 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_flags);
4907 lustre_dissect_element_mgs_target_info_mti_nid_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4909 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nid_count);
4915 lustre_dissect_element_mgs_target_info_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4917 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_padding);
4923 lustre_dissect_element_mgs_target_info_mti_fsname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4925 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_fsname);
4931 lustre_dissect_element_mgs_target_info_mti_fsname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4934 for (i = 0; i < 64; i++)
4935 offset=lustre_dissect_element_mgs_target_info_mti_fsname_(tvb, offset, pinfo, tree);
4945 lustre_dissect_element_mgs_target_info_mti_svname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4947 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_svname);
4953 lustre_dissect_element_mgs_target_info_mti_svname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4956 for (i = 0; i < 64; i++)
4957 offset=lustre_dissect_element_mgs_target_info_mti_svname_(tvb, offset, pinfo, tree);
4963 lustre_dissect_element_mgs_target_info_mti_uuid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4965 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_uuid);
4971 lustre_dissect_element_mgs_target_info_mti_uuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4974 for (i = 0; i < 40; i++)
4975 offset=lustre_dissect_element_mgs_target_info_mti_uuid_(tvb, offset, pinfo, tree);
4985 lustre_dissect_element_mgs_target_info_mti_nids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4987 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_nids);
4993 lustre_dissect_element_mgs_target_info_mti_nids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
4996 for (i = 0; i < 32; i++)
4997 offset=lustre_dissect_element_mgs_target_info_mti_nids_(tvb, offset, pinfo, tree);
5005 lustre_dissect_element_mgs_target_info_mti_params_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5007 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info_mti_params);
5013 lustre_dissect_element_mgs_target_info_mti_params(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5016 for (i = 0; i < 4096; i++)
5017 offset=lustre_dissect_element_mgs_target_info_mti_params_(tvb, offset, pinfo, tree);
5023 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_)
5025 proto_item *item = NULL;
5026 proto_tree *tree = NULL;
5034 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5035 tree = proto_item_add_subtree(item, ett_lustre_mgs_target_info);
5038 offset=lustre_dissect_element_mgs_target_info_mti_lustre_ver(tvb, offset, pinfo, tree);
5040 offset=lustre_dissect_element_mgs_target_info_mti_stripe_index(tvb, offset, pinfo, tree);
5042 offset=lustre_dissect_element_mgs_target_info_mti_config_ver(tvb, offset, pinfo, tree);
5044 offset=lustre_dissect_element_mgs_target_info_mti_flags(tvb, offset, pinfo, tree);
5046 offset=lustre_dissect_element_mgs_target_info_mti_nid_count(tvb, offset, pinfo, tree);
5048 offset=lustre_dissect_element_mgs_target_info_padding(tvb, offset, pinfo, tree);
5050 offset=lustre_dissect_element_mgs_target_info_mti_fsname(tvb, offset, pinfo, tree);
5052 offset=lustre_dissect_element_mgs_target_info_mti_svname(tvb, offset, pinfo, tree);
5054 offset=lustre_dissect_element_mgs_target_info_mti_uuid(tvb, offset, pinfo, tree);
5056 offset=lustre_dissect_element_mgs_target_info_mti_nids(tvb, offset, pinfo, tree);
5058 offset=lustre_dissect_element_mgs_target_info_mti_params(tvb, offset, pinfo, tree);
5061 proto_item_set_len(item, offset-old_offset);
5066 /* IDL: struct cfg_marker { */
5067 /* IDL: uint32 cm_step; */
5068 /* IDL: uint32 cm_flags; */
5069 /* IDL: uint32 cm_vers; */
5070 /* IDL: uint32 padding; */
5071 /* IDL: time_t cm_createtime; */
5072 /* IDL: time_t cm_canceltime; */
5073 /* IDL: uint8 cm_tgtname[64]; */
5074 /* IDL: uint8 cm_comment[64]; */
5078 lustre_dissect_element_cfg_marker_cm_step(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5080 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_step);
5086 lustre_dissect_element_cfg_marker_cm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5088 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_flags);
5094 lustre_dissect_element_cfg_marker_cm_vers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5096 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_vers);
5102 lustre_dissect_element_cfg_marker_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5104 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_padding);
5110 lustre_dissect_element_cfg_marker_cm_createtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5112 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_createtime );
5113 /*g_print("function lustre_dissect_element_cfg_marker_cm_createtime don't work\n");*/
5118 lustre_dissect_element_cfg_marker_cm_canceltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5120 //offset=dissect_ndr_time_t(tvb, offset, pinfo,tree, hf_lustre_cfg_marker_cm_canceltime);
5122 /*g_print("element_cfg_marker_cm_canceltime\n");*/
5129 lustre_dissect_element_cfg_marker_cm_tgtname_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5131 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_tgtname);
5137 lustre_dissect_element_cfg_marker_cm_tgtname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5140 for (i = 0; i < 64; i++)
5141 offset=lustre_dissect_element_cfg_marker_cm_tgtname_(tvb, offset, pinfo, tree);
5149 lustre_dissect_element_cfg_marker_cm_comment_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5151 offset=dissect_uint8(tvb, offset, pinfo, tree, hf_lustre_cfg_marker_cm_comment);
5157 lustre_dissect_element_cfg_marker_cm_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5160 for (i = 0; i < 64; i++)
5161 offset=lustre_dissect_element_cfg_marker_cm_comment_(tvb, offset, pinfo, tree);
5167 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_)
5169 proto_item *item = NULL;
5170 proto_tree *tree = NULL;
5178 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5179 tree = proto_item_add_subtree(item, ett_lustre_cfg_marker);
5182 offset=lustre_dissect_element_cfg_marker_cm_step(tvb, offset, pinfo, tree);
5184 offset=lustre_dissect_element_cfg_marker_cm_flags(tvb, offset, pinfo, tree);
5186 offset=lustre_dissect_element_cfg_marker_cm_vers(tvb, offset, pinfo, tree);
5188 offset=lustre_dissect_element_cfg_marker_padding(tvb, offset, pinfo, tree);
5190 offset=lustre_dissect_element_cfg_marker_cm_createtime(tvb, offset, pinfo, tree);
5192 offset=lustre_dissect_element_cfg_marker_cm_canceltime(tvb, offset, pinfo, tree);
5194 offset=lustre_dissect_element_cfg_marker_cm_tgtname(tvb, offset, pinfo, tree);
5196 offset=lustre_dissect_element_cfg_marker_cm_comment(tvb, offset, pinfo, tree);
5199 proto_item_set_len(item, offset-old_offset);
5206 /* IDL: struct llog_logid { */
5207 /* IDL: uint64 lgl_oid; */
5208 /* IDL: uint64 lgl_ogr; */
5209 /* IDL: uint32 lgl_ogen; */
5213 lustre_dissect_element_llog_logid_lgl_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5215 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_oid);
5221 lustre_dissect_element_llog_logid_lgl_ogr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5223 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogr);
5229 lustre_dissect_element_llog_logid_lgl_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5231 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_lgl_ogen);
5237 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_)
5239 proto_item *item = NULL;
5240 proto_tree *tree = NULL;
5248 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5249 tree = proto_item_add_subtree(item, ett_lustre_llog_logid);
5252 offset=lustre_dissect_element_llog_logid_lgl_oid(tvb, offset, pinfo, tree);
5254 offset=lustre_dissect_element_llog_logid_lgl_ogr(tvb, offset, pinfo, tree);
5256 offset=lustre_dissect_element_llog_logid_lgl_ogen(tvb, offset, pinfo, tree);
5259 proto_item_set_len(item, offset-old_offset);
5264 /* I don't know when this structure is used on network */
5265 /* IDL: struct llog_catid { */
5266 /* IDL: struct llog_logid { */
5267 /* IDL: } lci_logid; */
5268 /* IDL: uint32 lci_padding1; */
5269 /* IDL: uint32 lci_padding2; */
5270 /* IDL: uint32 lci_padding3; */
5274 lustre_dissect_element_llog_catid_lci_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5276 //offset=lustre_dissect_struct_HASH(0x85cc76c)(tvb,offset,pinfo,tree,hf_lustre_llog_catid_lci_logid);
5278 /*g_print("llog_catid_lci_logid bug\n");*/
5283 lustre_dissect_element_llog_catid_lci_padding1(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_catid_lci_padding1);
5291 lustre_dissect_element_llog_catid_lci_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5293 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding2);
5299 lustre_dissect_element_llog_catid_lci_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5301 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_catid_lci_padding3);
5307 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_)
5309 proto_item *item = NULL;
5310 proto_tree *tree = NULL;
5318 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5319 tree = proto_item_add_subtree(item, ett_lustre_llog_catid);
5322 offset=lustre_dissect_element_llog_catid_lci_logid(tvb, offset, pinfo, tree);
5324 offset=lustre_dissect_element_llog_catid_lci_padding1(tvb, offset, pinfo, tree);
5326 offset=lustre_dissect_element_llog_catid_lci_padding2(tvb, offset, pinfo, tree);
5328 offset=lustre_dissect_element_llog_catid_lci_padding3(tvb, offset, pinfo, tree);
5331 proto_item_set_len(item, offset-old_offset);
5337 /* IDL: struct lov_mds_md_join { */
5338 /* IDL: struct lov_mds_md { */
5339 /* IDL: } lmmj_md; */
5340 /* IDL: struct llog_logid { */
5341 /* IDL: } lmmj_array_id; */
5342 /* IDL: uint32 lmmj_extent_count; */
5346 lustre_dissect_element_lov_mds_md_join_lmmj_md(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5348 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_join_lmmj_md);
5353 lustre_dissect_element_lov_mds_md_join_lmmj_array_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5355 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_join_lmmj_array_id);
5360 lustre_dissect_element_lov_mds_md_join_lmmj_extent_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5362 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_mds_md_join_lmmj_extent_count);
5368 lustre_dissect_struct_lov_mds_md_join(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5370 proto_item *item = NULL;
5371 proto_tree *tree = NULL;
5379 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5380 tree = proto_item_add_subtree(item, ett_lustre_lov_mds_md_join);
5383 offset=lustre_dissect_element_lov_mds_md_join_lmmj_md(tvb, offset, pinfo, tree);
5385 offset=lustre_dissect_element_lov_mds_md_join_lmmj_array_id(tvb, offset, pinfo, tree);
5387 offset=lustre_dissect_element_lov_mds_md_join_lmmj_extent_count(tvb, offset, pinfo, tree);
5390 proto_item_set_len(item, offset-old_offset);
5397 /* IDL: struct llog_rec_hdr { */
5398 /* IDL: uint32 lrh_len; */
5399 /* IDL: uint32 lrh_index; */
5400 /* IDL: uint32 lrh_type; */
5401 /* IDL: uint32 padding; */
5405 lustre_dissect_element_llog_rec_hdr_lrh_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5407 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_len);
5413 lustre_dissect_element_llog_rec_hdr_lrh_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5415 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_index);
5421 lustre_dissect_element_llog_rec_hdr_lrh_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5423 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_lrh_type);
5429 lustre_dissect_element_llog_rec_hdr_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5431 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_hdr_padding);
5437 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_)
5439 proto_item *item = NULL;
5440 proto_tree *tree = NULL;
5448 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5449 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_hdr);
5452 offset=lustre_dissect_element_llog_rec_hdr_lrh_len(tvb, offset, pinfo, tree);
5454 offset=lustre_dissect_element_llog_rec_hdr_lrh_index(tvb, offset, pinfo, tree);
5456 offset=lustre_dissect_element_llog_rec_hdr_lrh_type(tvb, offset, pinfo, tree);
5458 offset=lustre_dissect_element_llog_rec_hdr_padding(tvb, offset, pinfo, tree);
5461 proto_item_set_len(item, offset-old_offset);
5466 /* IDL: struct llog_rec_tail { */
5467 /* IDL: uint32 lrt_len; */
5468 /* IDL: uint32 lrt_index; */
5472 lustre_dissect_element_llog_rec_tail_lrt_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5474 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_len);
5480 lustre_dissect_element_llog_rec_tail_lrt_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5482 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_rec_tail_lrt_index);
5488 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_)
5490 proto_item *item = NULL;
5491 proto_tree *tree = NULL;
5499 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5500 tree = proto_item_add_subtree(item, ett_lustre_llog_rec_tail);
5503 offset=lustre_dissect_element_llog_rec_tail_lrt_len(tvb, offset, pinfo, tree);
5505 offset=lustre_dissect_element_llog_rec_tail_lrt_index(tvb, offset, pinfo, tree);
5508 proto_item_set_len(item, offset-old_offset);
5513 /* IDL: struct llog_logid_rec { */
5514 /* IDL: struct llog_rec_hdr { */
5515 /* IDL: } lid_hdr; */
5516 /* IDL: struct llog_logid { */
5517 /* IDL: } lid_id; */
5518 /* IDL: uint32 padding1; */
5519 /* IDL: uint32 padding2; */
5520 /* IDL: uint32 padding3; */
5521 /* IDL: uint32 padding4; */
5522 /* IDL: uint32 padding5; */
5523 /* IDL: struct llog_rec_tail { */
5524 /* IDL: } lid_tail; */
5528 lustre_dissect_element_llog_logid_rec_lid_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5530 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_hdr);
5535 lustre_dissect_element_llog_logid_rec_lid_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5537 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_id);
5542 lustre_dissect_element_llog_logid_rec_padding1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5544 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding1);
5550 lustre_dissect_element_llog_logid_rec_padding2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5552 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding2);
5558 lustre_dissect_element_llog_logid_rec_padding3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5560 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding3);
5566 lustre_dissect_element_llog_logid_rec_padding4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5568 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding4);
5574 lustre_dissect_element_llog_logid_rec_padding5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5576 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_logid_rec_padding5);
5582 lustre_dissect_element_llog_logid_rec_lid_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5584 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_logid_rec_lid_tail);
5589 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_)
5591 proto_item *item = NULL;
5592 proto_tree *tree = NULL;
5600 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5601 tree = proto_item_add_subtree(item, ett_lustre_llog_logid_rec);
5604 offset=lustre_dissect_element_llog_logid_rec_lid_hdr(tvb, offset, pinfo, tree);
5606 offset=lustre_dissect_element_llog_logid_rec_lid_id(tvb, offset, pinfo, tree);
5608 offset=lustre_dissect_element_llog_logid_rec_padding1(tvb, offset, pinfo, tree);
5610 offset=lustre_dissect_element_llog_logid_rec_padding2(tvb, offset, pinfo, tree);
5612 offset=lustre_dissect_element_llog_logid_rec_padding3(tvb, offset, pinfo, tree);
5614 offset=lustre_dissect_element_llog_logid_rec_padding4(tvb, offset, pinfo, tree);
5616 offset=lustre_dissect_element_llog_logid_rec_padding5(tvb, offset, pinfo, tree);
5618 offset=lustre_dissect_element_llog_logid_rec_lid_tail(tvb, offset, pinfo, tree);
5621 proto_item_set_len(item, offset-old_offset);
5628 /* IDL: struct mds_extent_desc { */
5629 /* IDL: uint64 med_start; */
5630 /* IDL: uint64 med_len; */
5631 /* IDL: struct lov_mds_md { */
5632 /* IDL: } med_lmm; */
5636 lustre_dissect_element_mds_extent_desc_med_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5638 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_extent_desc_med_start);
5644 lustre_dissect_element_mds_extent_desc_med_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5646 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_mds_extent_desc_med_len);
5652 lustre_dissect_element_mds_extent_desc_med_lmm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5654 //offset=lustre_dissect_struct_HASH(0x85d3578)(tvb,offset,pinfo,tree,hf_lustre_mds_extent_desc_med_lmm);
5655 /*g_print("bug\n");*/
5660 lustre_dissect_struct_mds_extent_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5662 proto_item *item = NULL;
5663 proto_tree *tree = NULL;
5671 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5672 tree = proto_item_add_subtree(item, ett_lustre_mds_extent_desc);
5675 offset=lustre_dissect_element_mds_extent_desc_med_start(tvb, offset, pinfo, tree);
5677 offset=lustre_dissect_element_mds_extent_desc_med_len(tvb, offset, pinfo, tree);
5679 offset=lustre_dissect_element_mds_extent_desc_med_lmm(tvb, offset, pinfo, tree);
5682 proto_item_set_len(item, offset-old_offset);
5688 /* IDL: struct llog_array_rec { */
5689 /* IDL: struct llog_rec_hdr { */
5690 /* IDL: } lmr_hdr; */
5691 /* IDL: struct mds_extent_desc { */
5692 /* IDL: } lmr_med; */
5693 /* IDL: struct llog_rec_tail { */
5694 /* IDL: } lmr_tail; */
5698 lustre_dissect_element_llog_array_rec_lmr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5700 //offset=lustre_dissect_struct_HASH(0x85d374c)(tvb,offset,pinfo,tree,hf_lustre_llog_array_rec_lmr_hdr);
5706 lustre_dissect_element_llog_array_rec_lmr_med(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5708 //offset=lustre_dissect_struct_HASH(0x85d4328)(tvb,offset,pinfo,tree,hf_lustre_llog_array_rec_lmr_med);
5714 lustre_dissect_element_llog_array_rec_lmr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5716 //offset=lustre_dissect_struct_HASH(0x85d4478)(tvb,offset,pinfo,tree,hf_lustre_llog_array_rec_lmr_tail);
5722 lustre_dissect_struct_llog_array_rec(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
5724 proto_item *item = NULL;
5725 proto_tree *tree = NULL;
5733 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5734 tree = proto_item_add_subtree(item, ett_lustre_llog_array_rec);
5737 offset=lustre_dissect_element_llog_array_rec_lmr_hdr(tvb, offset, pinfo, tree);
5739 offset=lustre_dissect_element_llog_array_rec_lmr_med(tvb, offset, pinfo, tree);
5741 offset=lustre_dissect_element_llog_array_rec_lmr_tail(tvb, offset, pinfo, tree);
5744 proto_item_set_len(item, offset-old_offset);
5752 /* IDL: struct llog_create_rec { */
5753 /* IDL: struct llog_rec_hdr { */
5754 /* IDL: } lcr_hdr; */
5755 /* IDL: struct ll_fid { */
5756 /* IDL: } lcr_fid; */
5757 /* IDL: uint64 lcr_oid; */
5758 /* IDL: uint32 lcr_ogen; */
5759 /* IDL: uint32 padding; */
5760 /* IDL: struct llog_rec_tail { */
5761 /* IDL: } lcr_tail; */
5765 lustre_dissect_element_llog_create_rec_lcr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5767 //offset=lustre_dissect_struct_HASH(0x85d56e0)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_hdr);
5773 lustre_dissect_element_llog_create_rec_lcr_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5775 //offset=lustre_dissect_struct_HASH(0x85d5830)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_fid);
5781 lustre_dissect_element_llog_create_rec_lcr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5783 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_oid);
5789 lustre_dissect_element_llog_create_rec_lcr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5791 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_lcr_ogen);
5797 lustre_dissect_element_llog_create_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5799 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_create_rec_padding);
5805 lustre_dissect_element_llog_create_rec_lcr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5807 //offset=lustre_dissect_struct_HASH(0x85d69dc)(tvb,offset,pinfo,tree,hf_lustre_llog_create_rec_lcr_tail);
5813 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_)
5815 proto_item *item = NULL;
5816 proto_tree *tree = NULL;
5824 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5825 tree = proto_item_add_subtree(item, ett_lustre_llog_create_rec);
5828 offset=lustre_dissect_element_llog_create_rec_lcr_hdr(tvb, offset, pinfo, tree);
5830 offset=lustre_dissect_element_llog_create_rec_lcr_fid(tvb, offset, pinfo, tree);
5832 offset=lustre_dissect_element_llog_create_rec_lcr_oid(tvb, offset, pinfo, tree);
5834 offset=lustre_dissect_element_llog_create_rec_lcr_ogen(tvb, offset, pinfo, tree);
5836 offset=lustre_dissect_element_llog_create_rec_padding(tvb, offset, pinfo, tree);
5838 offset=lustre_dissect_element_llog_create_rec_lcr_tail(tvb, offset, pinfo, tree);
5841 proto_item_set_len(item, offset-old_offset);
5849 /* IDL: struct llog_orphan_rec { */
5850 /* IDL: struct llog_rec_hdr { */
5851 /* IDL: } lor_hdr; */
5852 /* IDL: uint64 lor_oid; */
5853 /* IDL: uint32 lor_ogen; */
5854 /* IDL: uint32 padding; */
5855 /* IDL: struct llog_rec_tail { */
5856 /* IDL: } lor_tail; */
5860 lustre_dissect_element_llog_orphan_rec_lor_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5862 //offset=lustre_dissect_struct_HASH(0x85d767c)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_hdr);
5868 lustre_dissect_element_llog_orphan_rec_lor_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5870 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_oid);
5876 lustre_dissect_element_llog_orphan_rec_lor_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5878 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_lor_ogen);
5884 lustre_dissect_element_llog_orphan_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5886 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_orphan_rec_padding);
5892 lustre_dissect_element_llog_orphan_rec_lor_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5894 //offset=lustre_dissect_struct_HASH(0x85d8550)(tvb,offset,pinfo,tree,hf_lustre_llog_orphan_rec_lor_tail);
5899 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_)
5901 proto_item *item = NULL;
5902 proto_tree *tree = NULL;
5910 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5911 tree = proto_item_add_subtree(item, ett_lustre_llog_orphan_rec);
5914 offset=lustre_dissect_element_llog_orphan_rec_lor_hdr(tvb, offset, pinfo, tree);
5916 offset=lustre_dissect_element_llog_orphan_rec_lor_oid(tvb, offset, pinfo, tree);
5918 offset=lustre_dissect_element_llog_orphan_rec_lor_ogen(tvb, offset, pinfo, tree);
5920 offset=lustre_dissect_element_llog_orphan_rec_padding(tvb, offset, pinfo, tree);
5922 offset=lustre_dissect_element_llog_orphan_rec_lor_tail(tvb, offset, pinfo, tree);
5925 proto_item_set_len(item, offset-old_offset);
5932 /* IDL: struct llog_unlink_rec { */
5933 /* IDL: struct llog_rec_hdr { */
5934 /* IDL: } lur_hdr; */
5935 /* IDL: uint64 lur_oid; */
5936 /* IDL: uint32 lur_ogen; */
5937 /* IDL: uint32 padding; */
5938 /* IDL: struct llog_rec_tail { */
5939 /* IDL: } lur_tail; */
5943 lustre_dissect_element_llog_unlink_rec_lur_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5945 //offset=lustre_dissect_struct_HASH(0x85d8730)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_hdr);
5950 lustre_dissect_element_llog_unlink_rec_lur_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5952 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_oid);
5958 lustre_dissect_element_llog_unlink_rec_lur_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5960 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_lur_ogen);
5966 lustre_dissect_element_llog_unlink_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5968 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_unlink_rec_padding);
5974 lustre_dissect_element_llog_unlink_rec_lur_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
5976 //offset=lustre_dissect_struct_HASH(0x85d9664)(tvb,offset,pinfo,tree,hf_lustre_llog_unlink_rec_lur_tail);
5981 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_)
5983 proto_item *item = NULL;
5984 proto_tree *tree = NULL;
5992 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
5993 tree = proto_item_add_subtree(item, ett_lustre_llog_unlink_rec);
5996 offset=lustre_dissect_element_llog_unlink_rec_lur_hdr(tvb, offset, pinfo, tree);
5998 offset=lustre_dissect_element_llog_unlink_rec_lur_oid(tvb, offset, pinfo, tree);
6000 offset=lustre_dissect_element_llog_unlink_rec_lur_ogen(tvb, offset, pinfo, tree);
6002 offset=lustre_dissect_element_llog_unlink_rec_padding(tvb, offset, pinfo, tree);
6004 offset=lustre_dissect_element_llog_unlink_rec_lur_tail(tvb, offset, pinfo, tree);
6007 proto_item_set_len(item, offset-old_offset);
6014 /* IDL: struct llog_setattr_rec { */
6015 /* IDL: struct llog_rec_hdr { */
6016 /* IDL: } lsr_hdr; */
6017 /* IDL: uint64 lsr_oid; */
6018 /* IDL: uint32 lsr_ogen; */
6019 /* IDL: uint32 lsr_uid; */
6020 /* IDL: uint32 lsr_gid; */
6021 /* IDL: uint32 padding; */
6022 /* IDL: struct llog_rec_tail { */
6023 /* IDL: } lsr_tail; */
6027 lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6029 //offset=lustre_dissect_struct_HASH(0x85da2f0)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_hdr);
6034 lustre_dissect_element_llog_setattr_rec_lsr_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6036 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_oid);
6042 lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6044 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_ogen);
6050 lustre_dissect_element_llog_setattr_rec_lsr_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6052 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_uid);
6058 lustre_dissect_element_llog_setattr_rec_lsr_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6060 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_lsr_gid);
6066 lustre_dissect_element_llog_setattr_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6068 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_setattr_rec_padding);
6074 lustre_dissect_element_llog_setattr_rec_lsr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6076 //offset=lustre_dissect_struct_HASH(0x85db3d4)(tvb,offset,pinfo,tree,hf_lustre_llog_setattr_rec_lsr_tail);
6081 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_)
6083 proto_item *item = NULL;
6084 proto_tree *tree = NULL;
6092 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6093 tree = proto_item_add_subtree(item, ett_lustre_llog_setattr_rec);
6096 offset=lustre_dissect_element_llog_setattr_rec_lsr_hdr(tvb, offset, pinfo, tree);
6098 offset=lustre_dissect_element_llog_setattr_rec_lsr_oid(tvb, offset, pinfo, tree);
6100 offset=lustre_dissect_element_llog_setattr_rec_lsr_ogen(tvb, offset, pinfo, tree);
6102 offset=lustre_dissect_element_llog_setattr_rec_lsr_uid(tvb, offset, pinfo, tree);
6104 offset=lustre_dissect_element_llog_setattr_rec_lsr_gid(tvb, offset, pinfo, tree);
6106 offset=lustre_dissect_element_llog_setattr_rec_padding(tvb, offset, pinfo, tree);
6108 offset=lustre_dissect_element_llog_setattr_rec_lsr_tail(tvb, offset, pinfo, tree);
6111 proto_item_set_len(item, offset-old_offset);
6119 /* IDL: struct llog_size_change_rec { */
6120 /* IDL: struct llog_rec_hdr { */
6121 /* IDL: } lsc_hdr; */
6122 /* IDL: struct ll_fid { */
6123 /* IDL: } lsc_fid; */
6124 /* IDL: uint32 lsc_io_epoch; */
6125 /* IDL: uint32 padding; */
6126 /* IDL: struct llog_rec_tail { */
6127 /* IDL: } lsc_tail; */
6131 lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6133 //offset=lustre_dissect_struct_HASH(0x85dc458)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_hdr);
6138 lustre_dissect_element_llog_size_change_rec_lsc_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6140 //offset=lustre_dissect_struct_HASH(0x85dc5a8)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_fid);
6145 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_)
6147 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_lsc_io_epoch);
6153 lustre_dissect_element_llog_size_change_rec_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6155 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_size_change_rec_padding);
6161 lustre_dissect_element_llog_size_change_rec_lsc_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6163 //offset=lustre_dissect_struct_HASH(0x85dd384)(tvb,offset,pinfo,tree,hf_lustre_llog_size_change_rec_lsc_tail);
6164 // TODO: to be corrected !
6169 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_)
6171 proto_item *item = NULL;
6172 proto_tree *tree = NULL;
6180 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6181 tree = proto_item_add_subtree(item, ett_lustre_llog_size_change_rec);
6184 offset=lustre_dissect_element_llog_size_change_rec_lsc_hdr(tvb, offset, pinfo, tree);
6186 offset=lustre_dissect_element_llog_size_change_rec_lsc_fid(tvb, offset, pinfo, tree);
6188 offset=lustre_dissect_element_llog_size_change_rec_lsc_io_epoch(tvb, offset, pinfo, tree);
6190 offset=lustre_dissect_element_llog_size_change_rec_padding(tvb, offset, pinfo, tree);
6192 offset=lustre_dissect_element_llog_size_change_rec_lsc_tail(tvb, offset, pinfo, tree);
6195 proto_item_set_len(item, offset-old_offset);
6203 /* IDL: struct llog_gen { */
6204 /* IDL: uint64 mnt_cnt; */
6205 /* IDL: uint64 conn_cnt; */
6209 lustre_dissect_element_llog_gen_mnt_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6211 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_mnt_cnt);
6217 lustre_dissect_element_llog_gen_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6219 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llog_gen_conn_cnt);
6225 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_)
6227 proto_item *item = NULL;
6228 proto_tree *tree = NULL;
6236 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6237 tree = proto_item_add_subtree(item, ett_lustre_llog_gen);
6240 offset=lustre_dissect_element_llog_gen_mnt_cnt(tvb, offset, pinfo, tree);
6242 offset=lustre_dissect_element_llog_gen_conn_cnt(tvb, offset, pinfo, tree);
6245 proto_item_set_len(item, offset-old_offset);
6250 /* IDL: struct llog_gen_rec { */
6251 /* IDL: struct llog_rec_hdr { */
6252 /* IDL: } lgr_hdr; */
6253 /* IDL: struct llog_gen { */
6254 /* IDL: } lgr_gen; */
6255 /* IDL: struct llog_rec_tail { */
6256 /* IDL: } lgr_tail; */
6260 lustre_dissect_element_llog_gen_rec_lgr_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6262 //offset=lustre_dissect_struct_HASH(0x85de2e4)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_hdr);
6263 // TODO: to be corrected !
6268 lustre_dissect_element_llog_gen_rec_lgr_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6270 //offset=lustre_dissect_struct_HASH(0x85de434)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_gen);
6271 // TODO: to be corrected !
6276 lustre_dissect_element_llog_gen_rec_lgr_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6278 //offset=lustre_dissect_struct_HASH(0x85df3f8)(tvb,offset,pinfo,tree,hf_lustre_llog_gen_rec_lgr_tail);
6279 // TODO: to be corrected !
6284 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_)
6286 proto_item *item = NULL;
6287 proto_tree *tree = NULL;
6295 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6296 tree = proto_item_add_subtree(item, ett_lustre_llog_gen_rec);
6299 offset=lustre_dissect_element_llog_gen_rec_lgr_hdr(tvb, offset, pinfo, tree);
6301 offset=lustre_dissect_element_llog_gen_rec_lgr_gen(tvb, offset, pinfo, tree);
6303 offset=lustre_dissect_element_llog_gen_rec_lgr_tail(tvb, offset, pinfo, tree);
6306 proto_item_set_len(item, offset-old_offset);
6314 /* IDL: struct llog_log_hdr { */
6315 /* IDL: struct llog_rec_hdr { */
6316 /* IDL: } llh_hdr; */
6317 /* IDL: uint64 llh_timestamp; */
6318 /* IDL: uint32 llh_count; */
6319 /* IDL: uint32 llh_bitmap_offset; */
6320 /* IDL: uint32 llh_size; */
6321 /* IDL: uint32 llh_flags; */
6322 /* IDL: uint32 llh_cat_idx; */
6323 /* IDL: struct obd_uuid { */
6324 /* IDL: } llh_tgtuuid; */
6325 /* IDL: uint32 llh_reserved[1]; */
6326 /* IDL: uint32 llh_bitmap[2024]; */
6327 /* IDL: struct llog_rec_tail { */
6328 /* IDL: } llh_tail; */
6332 lustre_dissect_element_llog_log_hdr_llh_hdr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6334 offset=lustre_dissect_struct_llog_rec_hdr(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_hdr);
6339 lustre_dissect_element_llog_log_hdr_llh_timestamp(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6342 ns.secs = tvb_get_letohl(tvb,offset);
6344 proto_tree_add_time(tree, hf_lustre_llog_log_hdr_llh_timestamp, tvb, offset, 8, &ns );
6350 lustre_dissect_element_llog_log_hdr_llh_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6352 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_count);
6358 lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6360 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap_offset);
6366 lustre_dissect_element_llog_log_hdr_llh_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6368 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_size);
6376 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_)
6378 proto_item *item = NULL;
6379 proto_tree *tree = NULL;
6382 item = proto_tree_add_item(parent_tree,hf_index, tvb, offset, 4, TRUE);
6383 tree = proto_item_add_subtree(item, ett_lustre_llog_log_llh_flags);
6385 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_zap_when_empty);
6386 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_cat);
6387 dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_hdr_llh_flag_is_play);
6394 lustre_dissect_element_llog_log_hdr_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6396 // offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6397 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_flags);
6402 lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6404 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_cat_idx);
6410 lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6412 offset=lustre_dissect_struct_obd_uuid(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tgtuuid);
6417 lustre_dissect_element_llog_log_hdr_llh_reserved_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6419 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_reserved);
6425 lustre_dissect_element_llog_log_hdr_llh_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6428 for (i = 0; i < 1; i++)
6429 offset=lustre_dissect_element_llog_log_hdr_llh_reserved_(tvb, offset, pinfo, tree);
6435 lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6437 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_log_hdr_llh_bitmap);
6444 lustre_dissect_element_llog_log_hdr_llh_bitmap(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6447 for (i = 0; i < 2024; i++)
6448 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_(tvb, offset, pinfo, tree);
6456 lustre_dissect_element_llog_log_hdr_llh_tail(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6458 offset=lustre_dissect_struct_llog_rec_tail(tvb,offset,pinfo,tree,hf_lustre_llog_log_hdr_llh_tail);
6463 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_)
6465 proto_item *item = NULL;
6466 proto_tree *tree = NULL;
6474 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6475 tree = proto_item_add_subtree(item, ett_lustre_llog_log_hdr);
6478 offset=lustre_dissect_element_llog_log_hdr_llh_hdr(tvb, offset, pinfo, tree);
6480 offset=lustre_dissect_element_llog_log_hdr_llh_timestamp(tvb, offset, pinfo, tree);
6482 offset=lustre_dissect_element_llog_log_hdr_llh_count(tvb, offset, pinfo, tree);
6484 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap_offset(tvb, offset, pinfo, tree);
6486 offset=lustre_dissect_element_llog_log_hdr_llh_size(tvb, offset, pinfo, tree);
6488 offset=lustre_dissect_element_llog_log_hdr_llh_flags(tvb, offset, pinfo, tree);
6490 offset=lustre_dissect_element_llog_log_hdr_llh_cat_idx(tvb, offset, pinfo, tree);
6492 offset=lustre_dissect_element_llog_log_hdr_llh_tgtuuid(tvb, offset, pinfo, tree);
6494 offset=lustre_dissect_element_llog_log_hdr_llh_reserved(tvb, offset, pinfo, tree);
6496 offset=lustre_dissect_element_llog_log_hdr_llh_bitmap(tvb, offset, pinfo, tree);
6498 offset=lustre_dissect_element_llog_log_hdr_llh_tail(tvb, offset, pinfo, tree);
6501 proto_item_set_len(item, offset-old_offset);
6509 /* IDL: struct llog_cookie { */
6510 /* IDL: struct llog_logid { */
6511 /* IDL: } lgc_lgl; */
6512 /* IDL: uint32 lgc_subsys; */
6513 /* IDL: uint32 lgc_index; */
6514 /* IDL: uint32 lgc_padding; */
6518 lustre_dissect_element_llog_cookie_lgc_lgl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6520 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llog_cookie_lgc_lgl);
6525 lustre_dissect_element_llog_cookie_lgc_subsys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6527 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_subsys);
6533 lustre_dissect_element_llog_cookie_lgc_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6535 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_index);
6541 lustre_dissect_element_llog_cookie_lgc_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6543 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llog_cookie_lgc_padding);
6549 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_)
6551 proto_item *item = NULL;
6552 proto_tree *tree = NULL;
6560 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6561 tree = proto_item_add_subtree(item, ett_lustre_llog_cookie);
6564 offset=lustre_dissect_element_llog_cookie_lgc_lgl(tvb, offset, pinfo, tree);
6566 offset=lustre_dissect_element_llog_cookie_lgc_subsys(tvb, offset, pinfo, tree);
6568 offset=lustre_dissect_element_llog_cookie_lgc_index(tvb, offset, pinfo, tree);
6570 offset=lustre_dissect_element_llog_cookie_lgc_padding(tvb, offset, pinfo, tree);
6573 proto_item_set_len(item, offset-old_offset);
6580 /* IDL: struct llogd_body { */
6581 /* IDL: struct llog_logid { */
6582 /* IDL: } lgd_logid; */
6583 /* IDL: uint32 lgd_ctxt_idx; */
6584 /* IDL: uint32 lgd_llh_flags; */
6585 /* IDL: uint32 lgd_index; */
6586 /* IDL: uint32 lgd_saved_index; */
6587 /* IDL: uint32 lgd_len; */
6588 /* IDL: uint64 lgd_cur_offset; */
6592 lustre_dissect_element_llogd_body_lgd_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6594 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_llogd_body_lgd_logid);
6599 lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6601 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_ctxt_idx);
6607 lustre_dissect_element_llogd_body_lgd_llh_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6609 //offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6611 offset=lustre_dissect_element_llog_log_llh_flags(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_llh_flags);
6617 lustre_dissect_element_llogd_body_lgd_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6619 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_index);
6625 lustre_dissect_element_llogd_body_lgd_saved_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6627 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_saved_index);
6633 lustre_dissect_element_llogd_body_lgd_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6635 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_len);
6641 lustre_dissect_element_llogd_body_lgd_cur_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6643 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_llogd_body_lgd_cur_offset);
6649 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_)
6651 proto_item *item = NULL;
6652 proto_tree *tree = NULL;
6660 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6661 tree = proto_item_add_subtree(item, ett_lustre_llogd_body);
6664 offset=lustre_dissect_element_llogd_body_lgd_logid(tvb, offset, pinfo, tree);
6666 offset=lustre_dissect_element_llogd_body_lgd_ctxt_idx(tvb, offset, pinfo, tree);
6668 offset=lustre_dissect_element_llogd_body_lgd_llh_flags(tvb, offset, pinfo, tree);
6670 offset=lustre_dissect_element_llogd_body_lgd_index(tvb, offset, pinfo, tree);
6672 offset=lustre_dissect_element_llogd_body_lgd_saved_index(tvb, offset, pinfo, tree);
6674 offset=lustre_dissect_element_llogd_body_lgd_len(tvb, offset, pinfo, tree);
6676 offset=lustre_dissect_element_llogd_body_lgd_cur_offset(tvb, offset, pinfo, tree);
6679 proto_item_set_len(item, offset-old_offset);
6685 /* TODO : find when this Structure appear on the wire */
6686 /* IDL: struct llogd_conn_body { */
6687 /* IDL: struct llog_gen { */
6688 /* IDL: } lgdc_gen; */
6689 /* IDL: struct llog_logid { */
6690 /* IDL: } lgdc_logid; */
6691 /* IDL: uint32 lgdc_ctxt_idx; */
6695 lustre_dissect_element_llogd_conn_body_lgdc_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6697 //offset=lustre_dissect_struct_HASH(0x85e6038)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_gen);
6702 lustre_dissect_element_llogd_conn_body_lgdc_logid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6704 //offset=lustre_dissect_struct_HASH(0x85e6188)(tvb,offset,pinfo,tree,hf_lustre_llogd_conn_body_lgdc_logid);
6709 lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6711 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_llogd_conn_body_lgdc_ctxt_idx);
6717 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_)
6719 proto_item *item = NULL;
6720 proto_tree *tree = NULL;
6728 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6729 tree = proto_item_add_subtree(item, ett_lustre_llogd_conn_body);
6732 offset=lustre_dissect_element_llogd_conn_body_lgdc_gen(tvb, offset, pinfo, tree);
6734 offset=lustre_dissect_element_llogd_conn_body_lgdc_logid(tvb, offset, pinfo, tree);
6736 offset=lustre_dissect_element_llogd_conn_body_lgdc_ctxt_idx(tvb, offset, pinfo, tree);
6739 proto_item_set_len(item, offset-old_offset);
6746 /* TODO : find when this Structure appear on the wire */
6747 /* IDL: struct lov_user_ost_data_join { */
6748 /* IDL: uint64 l_extent_start; */
6749 /* IDL: uint64 l_extent_end; */
6750 /* IDL: uint64 l_object_id; */
6751 /* IDL: uint64 l_object_gr; */
6752 /* IDL: uint32 l_ost_gen; */
6753 /* IDL: uint32 l_ost_idx; */
6757 lustre_dissect_element_lov_user_ost_data_join_l_extent_start(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6759 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_extent_start);
6765 lustre_dissect_element_lov_user_ost_data_join_l_extent_end(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6767 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_extent_end);
6773 lustre_dissect_element_lov_user_ost_data_join_l_object_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6775 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_object_id);
6781 lustre_dissect_element_lov_user_ost_data_join_l_object_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6783 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_object_gr);
6789 lustre_dissect_element_lov_user_ost_data_join_l_ost_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6791 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_ost_gen);
6797 lustre_dissect_element_lov_user_ost_data_join_l_ost_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6799 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_ost_data_join_l_ost_idx);
6805 lustre_dissect_struct_lov_user_ost_data_join(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6807 proto_item *item = NULL;
6808 proto_tree *tree = NULL;
6816 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6817 tree = proto_item_add_subtree(item, ett_lustre_lov_user_ost_data_join);
6820 offset=lustre_dissect_element_lov_user_ost_data_join_l_extent_start(tvb, offset, pinfo, tree);
6822 offset=lustre_dissect_element_lov_user_ost_data_join_l_extent_end(tvb, offset, pinfo, tree);
6824 offset=lustre_dissect_element_lov_user_ost_data_join_l_object_id(tvb, offset, pinfo, tree);
6826 offset=lustre_dissect_element_lov_user_ost_data_join_l_object_gr(tvb, offset, pinfo, tree);
6828 offset=lustre_dissect_element_lov_user_ost_data_join_l_ost_gen(tvb, offset, pinfo, tree);
6830 offset=lustre_dissect_element_lov_user_ost_data_join_l_ost_idx(tvb, offset, pinfo, tree);
6833 proto_item_set_len(item, offset-old_offset);
6838 /* TODO : find when this Structure appear on the wire */
6839 /* IDL: struct lov_user_md_join { */
6840 /* IDL: uint32 lmm_magic; */
6841 /* IDL: uint32 lmm_pattern; */
6842 /* IDL: uint64 lmm_object_id; */
6843 /* IDL: uint64 lmm_object_gr; */
6844 /* IDL: uint32 lmm_stripe_size; */
6845 /* IDL: uint32 lmm_stripe_count; */
6846 /* IDL: uint32 lmm_extent_count; */
6847 /* IDL: uint64 lmm_tree_id; */
6848 /* IDL: uint64 lmm_tree_gen; */
6849 /* IDL: struct llog_logid { */
6850 /* IDL: } lmm_array_id; */
6851 /* IDL: struct lov_user_ost_data_join { */
6852 /* IDL: } lmm_objects[0]; */
6856 lustre_dissect_element_lov_user_md_join_lmm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6858 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_magic);
6864 lustre_dissect_element_lov_user_md_join_lmm_pattern(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6866 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_pattern);
6872 lustre_dissect_element_lov_user_md_join_lmm_object_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6874 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_object_id);
6880 lustre_dissect_element_lov_user_md_join_lmm_object_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6882 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_object_gr);
6888 lustre_dissect_element_lov_user_md_join_lmm_stripe_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6890 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_stripe_size);
6896 lustre_dissect_element_lov_user_md_join_lmm_stripe_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6898 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_stripe_count);
6904 lustre_dissect_element_lov_user_md_join_lmm_extent_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6906 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_extent_count);
6912 lustre_dissect_element_lov_user_md_join_lmm_tree_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6914 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_tree_id);
6920 lustre_dissect_element_lov_user_md_join_lmm_tree_gen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6922 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_tree_gen);
6928 lustre_dissect_element_lov_user_md_join_lmm_array_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6930 offset=lustre_dissect_struct_llog_logid(tvb,offset,pinfo,tree,hf_lustre_lov_user_md_join_lmm_array_id);
6935 lustre_dissect_element_lov_user_md_join_lmm_objects(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6938 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lov_user_md_join_lmm_objects);
6939 //for (i = 0; i < 0; i++)
6940 // offset=lustre_dissect_element_lov_user_md_join_lmm_objects_(tvb, offset, pinfo, tree);
6946 //lustre_dissect_element_lov_user_md_join_lmm_objects_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
6948 // //offset=lustre_dissect_struct_HASH(0x85eb304)(tvb,offset,pinfo,tree,hf_lustre_lov_user_md_join_lmm_objects);
6953 lustre_dissect_struct_lov_user_md_join(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
6955 proto_item *item = NULL;
6956 proto_tree *tree = NULL;
6964 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
6965 tree = proto_item_add_subtree(item, ett_lustre_lov_user_md_join);
6968 offset=lustre_dissect_element_lov_user_md_join_lmm_magic(tvb, offset, pinfo, tree);
6970 offset=lustre_dissect_element_lov_user_md_join_lmm_pattern(tvb, offset, pinfo, tree);
6972 offset=lustre_dissect_element_lov_user_md_join_lmm_object_id(tvb, offset, pinfo, tree);
6974 offset=lustre_dissect_element_lov_user_md_join_lmm_object_gr(tvb, offset, pinfo, tree);
6976 offset=lustre_dissect_element_lov_user_md_join_lmm_stripe_size(tvb, offset, pinfo, tree);
6978 offset=lustre_dissect_element_lov_user_md_join_lmm_stripe_count(tvb, offset, pinfo, tree);
6980 offset=lustre_dissect_element_lov_user_md_join_lmm_extent_count(tvb, offset, pinfo, tree);
6982 offset=lustre_dissect_element_lov_user_md_join_lmm_tree_id(tvb, offset, pinfo, tree);
6984 offset=lustre_dissect_element_lov_user_md_join_lmm_tree_gen(tvb, offset, pinfo, tree);
6986 offset=lustre_dissect_element_lov_user_md_join_lmm_array_id(tvb, offset, pinfo, tree);
6988 offset=lustre_dissect_element_lov_user_md_join_lmm_objects(tvb, offset, pinfo, tree);
6991 proto_item_set_len(item, offset-old_offset);
6997 /* IDL: struct obdo { */
6998 /* IDL: uint64 o_valid; */
6999 /* IDL: uint64 o_id; */
7000 /* IDL: uint64 o_gr; */
7001 /* IDL: uint64 o_fid; */
7002 /* IDL: uint64 o_size; */
7003 /* IDL: uint64 o_mtime; */
7004 /* IDL: uint64 o_atime; */
7005 /* IDL: uint64 o_ctime; */
7006 /* IDL: uint64 o_blocks; */
7007 /* IDL: uint64 o_grant; */
7008 /* IDL: uint32 o_blksize; */
7009 /* IDL: uint32 o_mode; */
7010 /* IDL: uint32 o_uid; */
7011 /* IDL: uint32 o_gid; */
7012 /* IDL: uint32 o_flags; */
7013 /* IDL: uint32 o_nlink; */
7014 /* IDL: uint32 o_generation; */
7015 /* IDL: uint32 o_misc; */
7016 /* IDL: uint32 o_easize; */
7017 /* IDL: uint32 o_mds; */
7018 /* IDL: uint32 o_stripe_idx; */
7019 /* IDL: uint32 o_padding_1; */
7020 /* IDL: struct lustre_handle { */
7021 /* IDL: } o_handle; */
7022 /* IDL: struct llog_cookie { */
7023 /* IDL: } o_lcookie; */
7024 /* IDL: uint64 o_padding_2; */
7025 /* IDL: uint64 o_padding_3; */
7026 /* IDL: uint64 o_padding_4; */
7027 /* IDL: uint64 o_padding_5; */
7028 /* IDL: uint64 o_padding_6; */
7032 lustre_dissect_element_obdo_o_valid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7034 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_valid);
7040 lustre_dissect_element_obdo_o_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7042 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_id);
7048 lustre_dissect_element_obdo_o_gr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7050 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gr);
7056 lustre_dissect_element_obdo_o_fid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7058 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_fid);
7064 lustre_dissect_element_obdo_o_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7066 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_size);
7072 lustre_dissect_element_obdo_o_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7076 ns.secs = tvb_get_letohl(tvb,offset);
7078 proto_tree_add_time(tree, hf_lustre_obdo_o_mtime, tvb, offset, 8, &ns );
7084 lustre_dissect_element_obdo_o_atime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7088 ns.secs = tvb_get_letohl(tvb,offset);
7090 proto_tree_add_time(tree, hf_lustre_obdo_o_atime, tvb, offset, 8, &ns );
7097 lustre_dissect_element_obdo_o_ctime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7101 ns.secs = tvb_get_letohl(tvb,offset);
7103 proto_tree_add_time(tree, hf_lustre_obdo_o_ctime, tvb, offset, 8, &ns );
7109 lustre_dissect_element_obdo_o_blocks(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7111 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blocks);
7117 lustre_dissect_element_obdo_o_grant(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7119 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_grant);
7125 lustre_dissect_element_obdo_o_blksize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7127 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_blksize);
7133 lustre_dissect_element_obdo_o_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7135 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mode);
7141 lustre_dissect_element_obdo_o_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7143 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_uid);
7149 lustre_dissect_element_obdo_o_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7151 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_gid);
7157 lustre_dissect_element_obdo_o_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7159 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_flags);
7160 /* TODO rajouter ça , faire une fonction générique qui s'occupe de tous les flags d'un tableau. */
7162 /*0x00000001 : "OBD_FL_INLINEDATA",*/
7163 /*0x00000002 : "OBD_FL_OBDMDEXISTS",*/
7164 /*0x00000004 : "OBD_FL_DELORPHAN",*/
7165 /*0x00000008 : "OBD_FL_NORPC",*/
7166 /*0x00000010 : "OBD_FL_IDONLY",*/
7167 /*0x00000020 : "OBD_FL_RECREATE_OBJS",*/
7168 /*0x00000040 : "OBD_FL_DEBUG_CHECK",*/
7169 /*0x00000100 : "OBD_FL_NO_USRQUOTA",*/
7170 /*0x00000200 : "OBD_FL_NO_GRPQUOTA",*/
7171 /*0x00000400 : "OBD_FL_CREATE_CROW",*/
7172 /*0x00000800 : "OBD_FL_TRUNCLOCK",*/
7178 lustre_dissect_element_obdo_o_nlink(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7180 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_nlink);
7186 lustre_dissect_element_obdo_o_generation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7188 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_generation);
7194 lustre_dissect_element_obdo_o_misc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7196 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_misc);
7202 lustre_dissect_element_obdo_o_easize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7204 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_easize);
7210 lustre_dissect_element_obdo_o_mds(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7212 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_mds);
7218 lustre_dissect_element_obdo_o_stripe_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7220 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_stripe_idx);
7226 lustre_dissect_element_obdo_o_padding_1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7228 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_1);
7234 lustre_dissect_element_obdo_o_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7236 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_handle);
7241 lustre_dissect_element_obdo_o_lcookie(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7243 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_obdo_o_lcookie);
7248 lustre_dissect_element_obdo_o_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7250 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_2);
7256 lustre_dissect_element_obdo_o_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7258 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_3);
7264 lustre_dissect_element_obdo_o_padding_4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7266 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_4);
7272 lustre_dissect_element_obdo_o_padding_5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7274 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_5);
7280 lustre_dissect_element_obdo_o_padding_6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7282 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_obdo_o_padding_6);
7288 lustre_dissect_struct_obdo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, int hf_index _U_)
7290 proto_item *item = NULL;
7291 proto_tree *tree = NULL;
7299 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7300 tree = proto_item_add_subtree(item, ett_lustre_obdo);
7303 offset=lustre_dissect_element_obdo_o_valid(tvb, offset, pinfo, tree);
7305 offset=lustre_dissect_element_obdo_o_id(tvb, offset, pinfo, tree);
7307 offset=lustre_dissect_element_obdo_o_gr(tvb, offset, pinfo, tree);
7309 offset=lustre_dissect_element_obdo_o_fid(tvb, offset, pinfo, tree);
7311 offset=lustre_dissect_element_obdo_o_size(tvb, offset, pinfo, tree);
7313 offset=lustre_dissect_element_obdo_o_mtime(tvb, offset, pinfo, tree);
7315 offset=lustre_dissect_element_obdo_o_atime(tvb, offset, pinfo, tree);
7317 offset=lustre_dissect_element_obdo_o_ctime(tvb, offset, pinfo, tree);
7319 offset=lustre_dissect_element_obdo_o_blocks(tvb, offset, pinfo, tree);
7321 offset=lustre_dissect_element_obdo_o_grant(tvb, offset, pinfo, tree);
7323 offset=lustre_dissect_element_obdo_o_blksize(tvb, offset, pinfo, tree);
7325 offset=lustre_dissect_element_obdo_o_mode(tvb, offset, pinfo, tree);
7327 offset=lustre_dissect_element_obdo_o_uid(tvb, offset, pinfo, tree);
7329 offset=lustre_dissect_element_obdo_o_gid(tvb, offset, pinfo, tree);
7331 offset=lustre_dissect_element_obdo_o_flags(tvb, offset, pinfo, tree);
7333 offset=lustre_dissect_element_obdo_o_nlink(tvb, offset, pinfo, tree);
7335 offset=lustre_dissect_element_obdo_o_generation(tvb, offset, pinfo, tree);
7337 offset=lustre_dissect_element_obdo_o_misc(tvb, offset, pinfo, tree);
7339 offset=lustre_dissect_element_obdo_o_easize(tvb, offset, pinfo, tree);
7341 offset=lustre_dissect_element_obdo_o_mds(tvb, offset, pinfo, tree);
7343 offset=lustre_dissect_element_obdo_o_stripe_idx(tvb, offset, pinfo, tree);
7345 offset=lustre_dissect_element_obdo_o_padding_1(tvb, offset, pinfo, tree);
7347 offset=lustre_dissect_element_obdo_o_handle(tvb, offset, pinfo, tree);
7349 offset=lustre_dissect_element_obdo_o_lcookie(tvb, offset, pinfo, tree);
7351 offset=lustre_dissect_element_obdo_o_padding_2(tvb, offset, pinfo, tree);
7353 offset=lustre_dissect_element_obdo_o_padding_3(tvb, offset, pinfo, tree);
7355 offset=lustre_dissect_element_obdo_o_padding_4(tvb, offset, pinfo, tree);
7357 offset=lustre_dissect_element_obdo_o_padding_5(tvb, offset, pinfo, tree);
7359 offset=lustre_dissect_element_obdo_o_padding_6(tvb, offset, pinfo, tree);
7362 proto_item_set_len(item, offset-old_offset);
7369 /* IDL: struct ost_body { */
7370 /* IDL: struct obdo { */
7375 lustre_dissect_element_ost_body_oa(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7377 offset=lustre_dissect_struct_obdo(tvb,offset,pinfo,tree,hf_lustre_ost_body_oa);
7382 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_)
7384 proto_item *item = NULL;
7385 proto_tree *tree = NULL;
7393 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7394 tree = proto_item_add_subtree(item, ett_lustre_ost_body);
7397 offset=lustre_dissect_element_ost_body_oa(tvb, offset, pinfo, tree);
7400 proto_item_set_len(item, offset-old_offset);
7406 /* TODO : find when this Structure appear on the wire */
7407 /* IDL: struct qunit_data { */
7408 /* IDL: uint32 qd_id; */
7409 /* IDL: uint32 qd_flags; */
7410 /* IDL: uint64 qd_count; */
7411 /* IDL: uint64 qd_qunit; */
7412 /* IDL: uint64 padding; */
7416 lustre_dissect_element_qunit_data_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7418 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_id);
7424 lustre_dissect_element_qunit_data_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7426 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_flags);
7432 lustre_dissect_element_qunit_data_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7434 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_count);
7440 lustre_dissect_element_qunit_data_qd_qunit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7442 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_qd_qunit);
7448 lustre_dissect_element_qunit_data_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7450 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_padding);
7456 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_)
7458 proto_item *item = NULL;
7459 proto_tree *tree = NULL;
7467 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7468 tree = proto_item_add_subtree(item, ett_lustre_qunit_data);
7471 offset=lustre_dissect_element_qunit_data_qd_id(tvb, offset, pinfo, tree);
7473 offset=lustre_dissect_element_qunit_data_qd_flags(tvb, offset, pinfo, tree);
7475 offset=lustre_dissect_element_qunit_data_qd_count(tvb, offset, pinfo, tree);
7477 offset=lustre_dissect_element_qunit_data_qd_qunit(tvb, offset, pinfo, tree);
7479 offset=lustre_dissect_element_qunit_data_padding(tvb, offset, pinfo, tree);
7482 proto_item_set_len(item, offset-old_offset);
7487 /* TODO : find when this Structure appear on the wire */
7488 /* IDL: struct qunit_data_old2 { */
7489 /* IDL: uint32 qd_id; */
7490 /* IDL: uint32 qd_flags; */
7491 /* IDL: uint64 qd_count; */
7495 lustre_dissect_element_qunit_data_old2_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7497 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_id);
7503 lustre_dissect_element_qunit_data_old2_qd_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7505 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_flags);
7511 lustre_dissect_element_qunit_data_old2_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7513 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old2_qd_count);
7519 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_)
7521 proto_item *item = NULL;
7522 proto_tree *tree = NULL;
7530 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7531 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old2);
7534 offset=lustre_dissect_element_qunit_data_old2_qd_id(tvb, offset, pinfo, tree);
7536 offset=lustre_dissect_element_qunit_data_old2_qd_flags(tvb, offset, pinfo, tree);
7538 offset=lustre_dissect_element_qunit_data_old2_qd_count(tvb, offset, pinfo, tree);
7541 proto_item_set_len(item, offset-old_offset);
7546 /* TODO : find when this Structure appear on the wire */
7547 /* IDL: struct qunit_data_old { */
7548 /* IDL: uint32 qd_id; */
7549 /* IDL: uint32 qd_type; */
7550 /* IDL: uint32 qd_count; */
7551 /* IDL: uint32 qd_isblk; */
7555 lustre_dissect_element_qunit_data_old_qd_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7557 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_id);
7563 lustre_dissect_element_qunit_data_old_qd_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7565 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_type);
7571 lustre_dissect_element_qunit_data_old_qd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7573 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_count);
7579 lustre_dissect_element_qunit_data_old_qd_isblk(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7581 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_qunit_data_old_qd_isblk);
7587 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_)
7589 proto_item *item = NULL;
7590 proto_tree *tree = NULL;
7598 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
7599 tree = proto_item_add_subtree(item, ett_lustre_qunit_data_old);
7602 offset=lustre_dissect_element_qunit_data_old_qd_id(tvb, offset, pinfo, tree);
7604 offset=lustre_dissect_element_qunit_data_old_qd_type(tvb, offset, pinfo, tree);
7606 offset=lustre_dissect_element_qunit_data_old_qd_count(tvb, offset, pinfo, tree);
7608 offset=lustre_dissect_element_qunit_data_old_qd_isblk(tvb, offset, pinfo, tree);
7611 proto_item_set_len(item, offset-old_offset);
7617 /* ------------------------------------------------------------------------- */
7619 * the length of the string is the current buflen
7620 * @tvb the packet buff
7621 * @offset the current offset
7624 * @hf_index : the corresponding header field
7625 * @buf_num : the corresponding bufnumber of the string (we use it to
7626 * determine the string length), must respect : 0<bufnum<=bufmax_in_paquet
7629 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)
7631 proto_item *item = NULL;
7638 // if (parent_tree) { item = proto_tree_add_item(parent_tree, hf_index, tvb,
7639 // offset, -1, TRUE); // tree = proto_item_add_subtree(item,
7642 if(buf_num+1>LUSTRE_BUFCOUNT)
7645 string_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7646 proto_tree_add_item(parent_tree, hf_index, tvb, offset, string_len, TRUE);
7648 display_info_fstr(parent_tree, pinfo->cinfo, COL_INFO, " filename : %s", tvb_get_string(tvb,offset,string_len) );
7651 proto_item_set_len(item, offset-old_offset);
7652 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* after a string we must be aligned to 8 bytes. */
7658 /* ------------------------------------------------------------------------- */
7659 /* dissect raw data */
7661 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)
7663 proto_item *item = NULL;
7669 if(buf_num+1>LUSTRE_BUFCOUNT)
7672 data_len = tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF + 4 * buf_num) ; /* 4 because a buflen is on a guint32 */
7673 proto_tree_add_item(parent_tree, hf_index, tvb, offset, data_len, TRUE);
7676 proto_item_set_len(item, offset-old_offset);
7677 offset=add_extra_padding(tvb,offset,pinfo,parent_tree); /* align on 8 bytes */
7681 /* ------------------------------------------------------------------------ */
7684 static int reint_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
7688 opcode = tvb_get_letohl(tvb,offset);
7692 /* [eadata][cookie_data][ldlm_request] */
7693 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7694 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7695 hf_lustre_ldlm_request) ;
7698 /* [rec_create][filename][tgt.. Ã 0 pour l'instant][ldlm_request] */
7699 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7700 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7701 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"*/
7702 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7703 hf_lustre_ldlm_request) ;
7706 /*[mds_rec_link][filename][ldlm_req] */
7707 offset=lustre_dissect_struct_mds_rec_link(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7708 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree,
7709 hf_lustre_ldlm_request) ;
7710 /*TODO : need to be check*/
7712 case REINT_UNLINK : /* mds_unlink_unpack : [mds_rec_unlink][filename][ldlm_req] */
7713 /* [mds_rec_unlink][filename][ldlm_req][..]*/
7714 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
7715 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7716 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +2))) == 112) /* TODO : ugly .. but
7717 for now we have to do this */
7718 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
7720 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7723 case REINT_RENAME : /*mds_rename_unpack : [mds_rec_rename][filename source][filename target_name][ldlm_request] */
7724 offset=lustre_dissect_struct_mds_rec_rename(tvb, offset, pinfo, tree, hf_lustre_mds_rec_link);
7725 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_old_name, LUSTRE_REQ_REC_OFF+1);
7726 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_new_name, LUSTRE_REQ_REC_OFF+2);
7727 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
7729 case REINT_OPEN : /* [rec_create][filename][eadata] */
7730 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
7731 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_REQ_REC_OFF+1);
7732 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); /* TODO : replace with hf_eadata */
7743 /* dissect a connect message */
7745 lustre_dissect_generic_connect(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
7747 /*TODO : add a cuuid and target uid */
7748 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7749 offset=lustre_dissect_struct_obd_uuid(tvb, offset, pinfo, tree, hf_lustre_obd_uuid);
7750 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_mds_body_handle);
7751 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7756 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)
7761 case OST_REPLY: /* obsolete so nothing */
7764 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7767 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7769 case OST_READ: /* [OST_BODY][obd_ioobj][niobuf_remote] for request, [OST_BODY] for reply */
7770 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7771 if(pb_type==PTL_RPC_MSG_REQUEST){
7772 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7773 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_niobuf_remote);
7777 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo,
7778 tree, hf_lustre_ost_body) ; /* [ost_body] in both case */
7779 if(pb_type==PTL_RPC_MSG_REQUEST)
7781 for (i=0;i<tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+ 4*(LUSTRE_REQ_REC_OFF+1))/24;i++)
7782 offset=lustre_dissect_struct_obd_ioobj(tvb, offset, pinfo, tree, hf_lustre_obd_ioobj);
7783 offset=lustre_dissect_struct_niobuf_remote(tvb,offset,pinfo, tree, hf_lustre_obd_ioobj);
7785 if(pb_type==PTL_RPC_MSG_REPLY) /* niocount *[uint32], but niocount is in request message, so
7786 we use the bufcount */
7788 for (i=0;i<tvb_get_letohl(tvb, LUSTRE_BUFCOUNT_OFF)-2;i++) /* -2 because we have already dissect 2 buffers : ptl + ost */
7789 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_nio);
7790 if (i & 1 ) /* if odd we add extra padding */
7791 offset=dissect_uint32(tvb, offset, pinfo, tree,
7792 hf_lustre_extra_padding);
7796 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7799 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7800 if(pb_type==PTL_RPC_MSG_REQUEST) /* [ost_body][-si buf- ldlm_request] */
7801 if ( (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF +1))) != 0)
7802 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ost_body);
7803 /* TODO : test that */
7806 if(pb_type==PTL_RPC_MSG_REQUEST) /* [key] */
7808 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key, LUSTRE_REQ_REC_OFF+1);
7810 if (pb_type==PTL_RPC_MSG_REPLY)
7812 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF); /* val */
7817 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7818 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7819 if (pb_type==PTL_RPC_MSG_REPLY)
7820 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7822 case OST_DISCONNECT: /* [nothing] */
7824 case OST_PUNCH: /* [ost_body] */
7825 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7827 case OST_OPEN: /* [nothing] in the code maybee obsolete */
7829 case OST_CLOSE: /* [nothing] in the code maybee obsolete */
7831 case OST_STATFS: /* [obd_statfs] check that : TODO */
7832 if(LUSTRE_BUFCOUNT>=2)
7833 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7836 /*[ost_body] in both case */
7837 offset=lustre_dissect_struct_ost_body(tvb, offset, pinfo, tree, hf_lustre_ost_body) ;
7840 if(pb_type==PTL_RPC_MSG_REQUEST)
7842 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7843 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7845 /* if Key = "evict_by_nid" --> need to be process.. TODO */
7847 case OST_QUOTACHECK:
7848 if(pb_type==PTL_RPC_MSG_REQUEST)
7849 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7850 /* nothing in reply */
7853 /*[obd_quotactl in both case]*/
7854 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7855 case OST_QUOTA_ADJUST_QUNIT:
7856 /* [quota_adjust_qunit] in both case ? */
7857 offset=lustre_dissect_struct_quota_adjust_qunit(tvb, offset, pinfo, tree, hf_lustre_quota_adjust_qunit) ;
7864 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)
7867 case MDS_DISCONNECT:
7872 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7875 if(pb_type==PTL_RPC_MSG_REQUEST)
7877 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7878 /*if(reply) : [nothing]*/
7881 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7882 if(pb_type==PTL_RPC_MSG_REQUEST)
7883 /*[string_xattr_name]*/
7884 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_name, LUSTRE_REQ_REC_OFF+1);
7885 if(pb_type==PTL_RPC_MSG_REPLY)
7887 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+1);
7890 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7891 /* TODO [ something ??? ] */
7893 case MDS_GETATTR_NAME:
7894 if(pb_type==PTL_RPC_MSG_REQUEST)
7896 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7897 /*[nothing in reply]*/
7899 case MDS_DONE_WRITING:
7901 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7903 case MDS_PIN: /* repbody.. */
7905 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7909 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7912 case MDS_CLOSE: /* TODO : check the corresponding structure in lustre code */
7913 if(pb_type==PTL_RPC_MSG_REQUEST)
7914 { /* [mds_body] [lov_mds_md][log_cookie] */
7915 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7916 if(LUSTRE_BUFCOUNT>=3)
7917 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
7918 if(LUSTRE_BUFCOUNT>=4)
7919 if( tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7920 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7922 if(pb_type==PTL_RPC_MSG_REPLY)
7923 { /* [mds_body][md][cookie] TODO : check that (reread the code about shrink in lustre) */
7924 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7925 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0)
7926 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_mds_md_data,LUSTRE_REQ_REC_OFF+1); /* key */
7927 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+2)) > 0)
7928 offset=lustre_dissect_struct_llog_cookie(tvb,offset,pinfo,tree,hf_lustre_llog_cookie);
7933 if(pb_type==PTL_RPC_MSG_REPLY)
7935 offset=lustre_dissect_struct_obd_statfs(tvb, offset, pinfo, tree, hf_lustre_obd_statfs) ;
7936 /*in request : [nothing]*/
7940 /* [mds_body] but with some different interpration, need to modify the hf : TODO */
7941 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7945 /* the structure depend on the intent_opcode */
7946 if(pb_type==PTL_RPC_MSG_REQUEST)
7947 offset=reint_opcode_process(tvb, offset, pinfo, tree);
7948 if(pb_type==PTL_RPC_MSG_REPLY)
7950 /*[mds_body][??][llog_logid_rec] */
7951 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
7952 if(tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){
7953 /* OPEN, RENAME, and UNLINK */
7954 if(tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4*(LUSTRE_REQ_REC_OFF+1)) > 0){ /* rec_unlink or rec_rename */
7955 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
7956 LUSTRE_REQ_REC_OFF+1); // replace by eadata TODO TODO //
7957 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*/
7958 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
7959 hf_lustre_mds_xattr_eadata, LUSTRE_REQ_REC_OFF+2); // replace withe eadata TODO TODO //
7966 if(pb_type==PTL_RPC_MSG_REQUEST){
7968 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_key,LUSTRE_REQ_REC_OFF); /* key */
7969 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_ost_val, LUSTRE_REQ_REC_OFF+1); /* val */
7970 //offset=add_extra_padding(tvb,offset,pinfo,tree);
7972 /*nothing en reply*/
7974 case MDS_QUOTACHECK:
7975 /* [obd_quotactl] */
7976 if(pb_type==PTL_RPC_MSG_REQUEST)
7977 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7980 /* [obd_quotactl] in both case*/
7981 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl) ;
7984 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
7985 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
7986 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
7987 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
7999 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)
8005 /*[ldlm_request] if we have one more buffer it's [intent_opcode] and the opcode give us the
8006 * corresponding intent structure [intent] */
8007 if(pb_type==PTL_RPC_MSG_REQUEST)
8009 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8010 if (LUSTRE_BUFCOUNT>=3)
8011 offset=lustre_dissect_struct_ldlm_intent(tvb, offset, pinfo, tree, hf_lustre_ldlm_intent);
8013 if(pb_type==PTL_RPC_MSG_REPLY)
8018 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply,&ldlm_type) ;
8019 if(LUSTRE_BUFCOUNT>2 && (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*2) == 40))
8020 /* TODO :this code need to be check and test, the lustre corresponding code is'nt explicit, so
8021 * not sure to have this buffer, but in example it works fine
8023 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
8025 if(LUSTRE_BUFCOUNT>2)
8027 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
8028 /*g_print("buflen_off+4*3 = %d", tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF));*/
8029 if(LUSTRE_BUFCOUNT>2 &&
8030 (tvb_get_letohl(tvb,LUSTRE_BUFLEN_OFF+4*LUSTRE_DLM_INTENT_REC_OFF) > 0))
8032 magic=tvb_get_letohl(tvb, offset); /* TODO : replace this with a macro */
8036 offset=lustre_dissect_struct_lov_mds_md_v1(tvb,offset,pinfo,tree,hf_lustre_lov_mds_md_v1);
8038 case LOV_MAGIC_JOIN:
8039 offset=lustre_dissect_struct_lov_mds_md_join(tvb, offset, pinfo, tree,
8040 hf_lustre_lov_mds_md_join);
8043 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree,
8044 hf_lustre_extra_padding, LUSTRE_DLM_INTENT_REC_OFF);
8053 if(pb_type==PTL_RPC_MSG_REQUEST)
8055 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8056 if(pb_type==PTL_RPC_MSG_REPLY)
8058 offset=lustre_dissect_struct_ldlm_reply(tvb, offset, pinfo, tree, hf_lustre_ldlm_reply, NULL) ;
8062 if(pb_type==PTL_RPC_MSG_REQUEST)
8064 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8065 /*[nothing en reply]*/
8068 case LDLM_BL_CALLBACK: /* TODO : check the corresponding code in lustre*/
8069 if(pb_type==PTL_RPC_MSG_REQUEST)
8071 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8074 case LDLM_CP_CALLBACK:
8075 if(pb_type==PTL_RPC_MSG_REQUEST){
8076 /*[ldlm_request] if the third buffer exist we have [lvb data] so it's [ost_lvb] : TODO :
8078 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8079 if(LUSTRE_BUFCOUNT>=3)
8080 offset=lustre_dissect_struct_ost_lvb(tvb,offset,pinfo,tree,hf_lustre_ost_lvb);
8082 /*reply : [nothing] */
8085 case LDLM_GL_CALLBACK:
8086 if(pb_type==PTL_RPC_MSG_REQUEST)
8088 offset=lustre_dissect_struct_ldlm_request(tvb, offset, pinfo, tree, hf_lustre_ldlm_request) ;
8090 if(pb_type==PTL_RPC_MSG_REPLY)
8091 /*reply : [ost_lvb] <-- need to be check*/
8092 offset=lustre_dissect_struct_ost_lvb(tvb, offset, pinfo, tree, hf_lustre_ost_lvb);
8102 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)
8106 if (pb_type==PTL_RPC_MSG_REQUEST) /* [targetuuid][clientuuid][lustre_handle][obd_connect_data] */
8107 offset=lustre_dissect_generic_connect(tvb,offset,pinfo,tree);
8108 if (pb_type==PTL_RPC_MSG_REPLY) /*[obd_connect_data]*/
8109 offset=lustre_dissect_struct_obd_connect_data(tvb,offset,pinfo,tree,hf_lustre_obd_connect_data);
8111 case MGS_DISCONNECT :
8114 case MGS_EXCEPTION : /* node died, etc. */
8117 case MGS_TARGET_REG:
8118 /*[mgs_target_info], mgs_handler.c mgs_handle_target_reg() called whenever a target startup*/
8119 offset=lustre_dissect_struct_mgs_target_info(tvb, offset, pinfo, tree, hf_lustre_mgs_target_info);
8121 case MGS_TARGET_DEL:
8125 /*[mgs_send_param], mgs_set_info_rpc()*/
8126 offset=lustre_dissect_struct_mgs_send_param(tvb,offset,pinfo,tree,hf_lustre_mgs_send_param);
8135 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)
8141 case OBD_LOG_CANCEL:
8144 case OBD_QC_CALLBACK:
8145 if(pb_type==PTL_RPC_MSG_REQUEST)
8146 offset=lustre_dissect_struct_obd_quotactl(tvb, offset, pinfo, tree, hf_lustre_obd_quotactl);
8147 /*if (request) : [nothing]*/
8156 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)
8159 case LLOG_ORIGIN_HANDLE_CREATE : /* in handler.c */
8160 /*[llogd_body] (reply and request)*/
8161 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
8162 if(pb_type==PTL_RPC_MSG_REQUEST) /*[filename] */
8163 if (LUSTRE_BUFCOUNT>2)
8164 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_name,
8165 LUSTRE_REQ_REC_OFF+1);
8167 case LLOG_ORIGIN_HANDLE_NEXT_BLOCK :/* in handler.c */
8168 /* [llogd_body][???]
8169 * the size of second buf is LLOG_CHKUNK_SIZE, so it's maybee only bulk data */
8170 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
8171 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
8172 LUSTRE_REQ_REC_OFF + 1 );
8174 case LLOG_ORIGIN_HANDLE_READ_HEADER:/* in handler.c */
8175 if(pb_type==PTL_RPC_MSG_REQUEST){
8176 /* [llogd_body][llog_log_hdr] */
8177 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
8178 if(LUSTRE_BUFCOUNT>2)
8179 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
8180 hf_lustre_llogd_log_hdr);
8182 if(pb_type==PTL_RPC_MSG_REPLY) /* [llog_log_hdr] */
8183 offset=lustre_dissect_struct_llog_log_hdr(tvb, offset, pinfo, tree,
8184 hf_lustre_llogd_log_hdr);
8186 case LLOG_ORIGIN_HANDLE_WRITE_REC : /* I think this is obsolete */
8189 case LLOG_ORIGIN_HANDLE_CLOSE :/* handler.c */
8192 case LLOG_ORIGIN_CONNECT : /* ost_handler.c */
8194 case LLOG_CATINFO : /*in handler.c */
8195 if(pb_type==PTL_RPC_MSG_REQUEST){
8196 /* [keyword][if keyword=config [char*] else [nothing]] */
8197 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_keyword,
8198 LUSTRE_REQ_REC_OFF);
8199 if(strcmp(tvb_get_string(tvb, LUSTRE_REQ_REC_OFF, tvb_get_letohl(tvb,
8200 LUSTRE_BUFLEN_OFF+4*LUSTRE_REQ_REC_OFF)), "config")==0) /* if(keyword ==
8202 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_llogd_client,
8203 LUSTRE_REQ_REC_OFF+1);
8205 if(pb_type==PTL_RPC_MSG_REPLY)
8206 /*[buf] sizeof = llog_chunk_size*/
8207 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
8208 LUSTRE_REQ_REC_OFF + 1 );
8209 /* TODO TODO : check if it's note a catid */
8211 case LLOG_ORIGIN_HANDLE_PREV_BLOCK : /* in handler.c */
8212 /* [llogd_body] in both case */
8213 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
8214 if(pb_type==PTL_RPC_MSG_REPLY)
8215 /*[buf] size of llog_chunk_size*/
8216 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_llogd_chunk,
8217 LUSTRE_REQ_REC_OFF + 1 );
8219 case LLOG_ORIGIN_HANDLE_DESTROY : /* in handler.c */
8220 /*[llogd_body] in both case*/
8221 offset=lustre_dissect_struct_llogd_body(tvb, offset, pinfo, tree, hf_lustre_llogd_body);
8230 /* process lustre opcode :
8231 check if opcode is in range_opcode, and call the corresponding opcode process function */
8233 lustre_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint32 opc _U_, guint32 pb_type)
8235 if (opc <= OST_LAST_OPC) /* OST opcodes */
8236 offset=lustre_ost_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8238 if ( (opc >= MDS_FIRST_OPC) && (opc < MDS_LAST_OPC )) /* MDS opcodes */
8239 offset=lustre_mds_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8241 if ( (opc >= LDLM_FIRST_OPC) && (opc < LDLM_LAST_OPC) ) /*LDLM Opcodes*/
8242 offset=lustre_ldlm_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8244 if( (opc>= MGS_FIRST_OPC) && (opc <= MGS_LAST_OPC)) /* MGS Opcodes */
8245 offset=lustre_mgs_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8247 if( (opc>= OBD_FIRST_OPC) && (opc<=OBD_LAST_OPC)) /* ODB Opcodes */
8248 offset=lustre_odb_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8250 if( (opc>=LLOG_FIRST_OPC) && (opc<=LLOG_LAST_OPC)) /* LLOG Opcodes */
8251 offset=lustre_llog_opcode_process( tvb , offset ,pinfo , tree , opc , pb_type) ;
8256 /* ----------------------------------------------- */
8257 /* add an extra padding to be aligned to 8bytes */
8259 add_extra_padding(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_)
8261 guint32 padding_len;
8263 padding_len = (8- offset%8)%8;
8265 proto_tree_add_item(tree, hf_lustre_extra_padding , tvb, offset, padding_len, TRUE);
8266 offset+=padding_len;
8270 /* ----------------------------------------------- */
8273 ldlm_opcode_process(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree * tree _U_, guint64 intent_opc _U_)
8275 /* all corresponding code is in mdc_locks.c in function mdc_enqueue() */
8276 /* if 0x0003 we have CREAT + OPEN
8278 if (intent_opc & IT_OPEN) {
8279 /* mdc_intent_open_pack(), d'où [opcode][mdc_rec_create][name][eada] */
8280 offset=lustre_dissect_struct_mds_rec_create(tvb, offset, pinfo, tree, hf_lustre_mds_rec_create);
8281 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
8282 offset=lustre_dissect_element_data(tvb, offset, pinfo, tree, hf_lustre_mds_xattr_eadata,
8283 LUSTRE_DLM_INTENT_REC_OFF+2); /* TODO : replace hf with eada hf */
8286 if (intent_opc & IT_UNLINK){
8287 /* mdc_intent_unlink_pack(), d'où [opcode][mds_rec_unlink][name] */
8288 offset=lustre_dissect_struct_mds_rec_unlink(tvb, offset, pinfo, tree, hf_lustre_mds_rec_unlink);
8289 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
8291 if (intent_opc & IT_GETATTR){
8292 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
8293 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
8294 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
8297 if (intent_opc & IT_LOOKUP){
8298 /* mdc_intent_lookup_pack, d'où [mds_body][name] */
8299 offset=lustre_dissect_struct_mds_body(tvb, offset, pinfo, tree, hf_lustre_mds_body) ;
8300 offset=lustre_dissect_element_string(tvb, offset, pinfo, tree, hf_lustre_reint_name, LUSTRE_DLM_INTENT_REC_OFF+1);
8307 /* ----------------------------------------------- */
8308 /* function to test if the packet is entirely dissected add BUG in PROTOCOL COL when it's not*/
8310 sanity_check(tvbuff_t *tvb, packet_info *pinfo, guint32 val_offset _U_)
8312 guint32 magic_number ;
8313 guint32 somme_buflen = 0 ;
8316 magic_number = tvb_get_letohl(tvb, 8);
8319 for (i=0;i<LUSTRE_BUFCOUNT;i++)
8320 somme_buflen += tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF +
8321 4 * i ) + (8- tvb_get_letohl(tvb, LUSTRE_BUFLEN_OFF+4 * i)%8)%8; /* we add the
8329 if(val_offset!=somme_buflen){
8330 /*g_print("somme_buflen=%d, val_offset = %d \n",somme_buflen,val_offset);*/
8331 if (check_col(pinfo->cinfo, COL_INFO)) {
8332 col_append_str(pinfo->cinfo, COL_PROTOCOL, "BUG");
8339 /* IDL: struct lustre_msg_v1 { */
8340 /* IDL: struct lustre_handle { */
8341 /* IDL: } lm_handle; */
8342 /* IDL: uint32 lm_magic; */
8343 /* IDL: uint32 lm_type; */
8344 /* IDL: uint32 lm_version; */
8345 /* IDL: uint32 lm_opc; */
8346 /* IDL: uint64 lm_last_xid; */
8347 /* IDL: uint64 lm_last_committed; */
8348 /* IDL: uint64 lm_transno; */
8349 /* IDL: uint32 lm_status; */
8350 /* IDL: uint32 lm_flags; */
8351 /* IDL: uint32 lm_conn_cnt; */
8352 /* IDL: uint32 lm_bufcount; */
8353 /* IDL: uint32 lm_buflens[0]; */
8358 lustre_dissect_element_msg_v1_lm_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8360 /*TODO : replace with a v1 handle*/
8361 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_lustre_msg_v1_lm_handle);
8366 lustre_dissect_element_msg_v1_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8368 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_magic);
8374 lustre_dissect_element_msg_v1_lm_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8376 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_type);
8382 lustre_dissect_element_msg_v1_lm_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8384 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_version);
8390 lustre_dissect_element_msg_v1_lm_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8392 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_opc);
8398 lustre_dissect_element_msg_v1_lm_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8400 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_xid);
8406 lustre_dissect_element_msg_v1_lm_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8408 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_last_committed);
8414 lustre_dissect_element_msg_v1_lm_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8416 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_transno);
8422 lustre_dissect_element_msg_v1_lm_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8424 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_status);
8430 lustre_dissect_element_msg_v1_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8432 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_flags);
8438 lustre_dissect_element_msg_v1_lm_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8440 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_conn_cnt);
8446 lustre_dissect_element_msg_v1_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8448 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_bufcount);
8454 lustre_dissect_element_msg_v1_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8456 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v1_lm_buflens);
8462 lustre_dissect_element_msg_v1_lm_buflens(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8465 gboolean extra_padding ;
8468 bufcount=tvb_get_letohl(tvb, offset-4); /* TODO : replace with a macro */
8470 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
8475 for (i=0;i<bufcount;i++) {
8476 offset=lustre_dissect_element_msg_v1_lm_buflens_(tvb, offset, pinfo, tree);
8480 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
8489 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_)
8491 proto_item *item = NULL;
8492 proto_tree *tree = NULL;
8494 guint32 opc ; /* opcode */
8495 guint32 pb_type; /* type : {request, reply, error} */
8501 // if (parent_tree) {
8502 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8503 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v1);
8506 offset=lustre_dissect_element_msg_v1_lm_handle(tvb, offset, pinfo, tree);
8508 offset=lustre_dissect_element_msg_v1_lm_magic(tvb, offset, pinfo, tree);
8510 pb_type = tvb_get_letohl(tvb, offset);
8511 offset=lustre_dissect_element_msg_v1_lm_type(tvb, offset, pinfo, tree);
8513 offset=lustre_dissect_element_msg_v1_lm_version(tvb, offset, pinfo, tree);
8514 opc = tvb_get_letohl(tvb, offset);
8515 offset=lustre_dissect_element_msg_v1_lm_opc(tvb, offset, pinfo, tree);
8517 offset=lustre_dissect_element_msg_v1_lm_last_xid(tvb, offset, pinfo, tree);
8519 offset=lustre_dissect_element_msg_v1_lm_last_committed(tvb, offset, pinfo, tree);
8521 offset=lustre_dissect_element_msg_v1_lm_transno(tvb, offset, pinfo, tree);
8523 offset=lustre_dissect_element_msg_v1_lm_status(tvb, offset, pinfo, tree);
8525 offset=lustre_dissect_element_msg_v1_lm_flags(tvb, offset, pinfo, tree);
8527 offset=lustre_dissect_element_msg_v1_lm_conn_cnt(tvb, offset, pinfo, tree);
8529 offset=lustre_dissect_element_msg_v1_lm_bufcount(tvb, offset, pinfo, tree);
8531 offset=lustre_dissect_element_msg_v1_lm_buflens(tvb, offset, pinfo, tree);
8534 proto_item_set_len(item, offset-old_offset);
8536 /* display some nice infos */
8537 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
8538 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
8540 offset=lustre_opcode_process(tvb, offset, pinfo, tree, opc, pb_type);
8545 /* IDL: struct ptlrpc_body { */
8546 /* IDL: struct lustre_handle { */
8547 /* IDL: } pb_handle; */
8548 /* IDL: uint32 pb_type; */
8549 /* IDL: uint32 pb_version; */
8550 /* IDL: uint32 pb_opc; */
8551 /* IDL: uint32 pb_status; */
8552 /* IDL: uint64 pb_last_xid; */
8553 /* IDL: uint64 pb_last_seen; */
8554 /* IDL: uint64 pb_last_committed; */
8555 /* IDL: uint64 pb_transno; */
8556 /* IDL: uint32 pb_flags; */
8557 /* IDL: uint32 pb_op_flags; */
8558 /* IDL: uint32 pb_conn_cnt; */
8559 /* IDL: uint32 pb_timeout; */
8560 /* IDL: uint32 pb_service_time; */
8561 /* IDL: uint32 pb_limit; */
8562 /* IDL: uint64 pb_slv; */
8566 lustre_dissect_element_ptlrpc_body_pb_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8568 offset=lustre_dissect_struct_handle_cookie(tvb,offset,pinfo,tree,hf_lustre_ptlrpc_body_pb_handle);
8574 lustre_dissect_element_ptlrpc_body_pb_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8576 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_type);
8582 lustre_dissect_element_ptlrpc_body_pb_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8584 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_version);
8590 lustre_dissect_element_ptlrpc_body_pb_opc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8592 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_opc);
8598 lustre_dissect_element_ptlrpc_body_pb_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8600 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_status);
8606 lustre_dissect_element_ptlrpc_body_pb_last_xid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8608 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_xid);
8614 lustre_dissect_element_ptlrpc_body_pb_last_seen(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8616 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_seen);
8622 lustre_dissect_element_ptlrpc_body_pb_last_committed(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8624 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_last_committed);
8630 lustre_dissect_element_ptlrpc_body_pb_transno(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8632 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_transno);
8638 lustre_dissect_element_ptlrpc_body_pb_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8640 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_flags);
8646 lustre_dissect_element_ptlrpc_body_pb_op_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8648 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_op_flags);
8654 lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8656 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_conn_cnt);
8662 lustre_dissect_element_ptlrpc_body_pb_timeout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8664 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_timeout);
8670 lustre_dissect_element_ptlrpc_body_pb_service_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8672 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_service_time);
8678 lustre_dissect_element_ptlrpc_body_pb_limit(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8680 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_limit);
8686 lustre_dissect_element_ptlrpc_body_pb_slv(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8688 offset=dissect_uint64(tvb, offset, pinfo, tree, hf_lustre_ptlrpc_body_pb_slv);
8694 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_ )
8696 proto_item *item = NULL;
8697 proto_tree *tree = NULL;
8700 guint32 opc, pb_type;
8707 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8708 tree = proto_item_add_subtree(item, ett_lustre_ptlrpc_body);
8711 offset=lustre_dissect_element_ptlrpc_body_pb_handle(tvb, offset, pinfo, tree);
8713 pb_type = tvb_get_letohl(tvb, offset);
8714 //g_print("msg_v2_lm_type_offset = %d \n" , offset) ;
8716 offset=lustre_dissect_element_ptlrpc_body_pb_type(tvb, offset, pinfo, tree);
8718 offset=lustre_dissect_element_ptlrpc_body_pb_version(tvb, offset, pinfo, tree);
8720 // g_print("msg_v2_opcode_offset %d \n", offset);
8721 opc = tvb_get_letohl(tvb, offset);
8722 offset=lustre_dissect_element_ptlrpc_body_pb_opc(tvb, offset, pinfo, tree);
8724 offset=lustre_dissect_element_ptlrpc_body_pb_status(tvb, offset, pinfo, tree);
8726 offset=lustre_dissect_element_ptlrpc_body_pb_last_xid(tvb, offset, pinfo, tree);
8728 offset=lustre_dissect_element_ptlrpc_body_pb_last_seen(tvb, offset, pinfo, tree);
8730 offset=lustre_dissect_element_ptlrpc_body_pb_last_committed(tvb, offset, pinfo, tree);
8732 offset=lustre_dissect_element_ptlrpc_body_pb_transno(tvb, offset, pinfo, tree);
8734 offset=lustre_dissect_element_ptlrpc_body_pb_flags(tvb, offset, pinfo, tree);
8736 offset=lustre_dissect_element_ptlrpc_body_pb_op_flags(tvb, offset, pinfo, tree);
8738 offset=lustre_dissect_element_ptlrpc_body_pb_conn_cnt(tvb, offset, pinfo, tree);
8740 offset=lustre_dissect_element_ptlrpc_body_pb_timeout(tvb, offset, pinfo, tree);
8742 offset=lustre_dissect_element_ptlrpc_body_pb_service_time(tvb, offset, pinfo, tree);
8744 offset=lustre_dissect_element_ptlrpc_body_pb_limit(tvb, offset, pinfo, tree);
8746 offset=lustre_dissect_element_ptlrpc_body_pb_slv(tvb, offset, pinfo, tree);
8750 proto_item_set_len(item, offset-old_offset);
8752 /* display some nice infos */
8753 display_info_str(parent_tree, pinfo->cinfo, COL_INFO, val_to_str(opc, lustre_op_codes, "Unknown"));
8754 display_info_fstr(parent_tree, pinfo->cinfo,COL_INFO, " %s ", val_to_str(pb_type, lustre_LMTypes, "Unknown"));
8756 /* on utilise parent_tree pour bien distinguer les différents buffers (relatifs à bufcount + buflen), il s'agit d'un choix de présentation */
8757 offset=lustre_opcode_process(tvb, offset, pinfo, parent_tree, opc, pb_type);
8759 sanity_check(tvb,pinfo,offset-old_offset);
8765 /* IDL: struct lustre_msg_v2 { */
8766 /* IDL: uint32 lm_bufcount; */
8767 /* IDL: uint32 lm_secflvr; */
8768 /* IDL: uint32 lm_magic; */
8769 /* IDL: uint32 lm_repsize; */
8770 /* IDL: uint32 lm_cksum; */
8771 /* IDL: uint32 lm_flags; */
8772 /* IDL: uint32 lm_padding_2; */
8773 /* IDL: uint32 lm_padding_3; */
8774 /* IDL: uint32 lm_buflens[0]; */
8778 lustre_dissect_element_msg_v2_lm_bufcount(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8780 proto_tree_add_item(tree, hf_lustre_lustre_msg_v2_lm_bufcount, tvb, offset, 4, TRUE);
8786 lustre_dissect_element_msg_v2_lm_secflvr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8788 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_secflvr);
8794 lustre_dissect_element_msg_v2_lm_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8796 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_magic);
8802 lustre_dissect_element_msg_v2_lm_repsize(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8804 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_repsize);
8810 lustre_dissect_element_msg_v2_lm_cksum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8812 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_cksum);
8818 lustre_dissect_element_msg_v2_lm_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8820 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_flags);
8826 lustre_dissect_element_msg_v2_lm_padding_2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8828 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_2);
8834 lustre_dissect_element_msg_v2_lm_padding_3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8836 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_padding_3);
8844 lustre_dissect_element_msg_v2_lm_buflens_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_)
8846 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_lustre_msg_v2_lm_buflens);
8852 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_)
8854 proto_item *item = NULL;
8855 proto_tree *tree = NULL;
8859 guint32 buf_len_offset;
8860 guint32 current_buf_len ;
8861 gboolean extra_padding ;
8865 /* to get a light display */
8867 // if (parent_tree) {
8868 // item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
8869 // tree = proto_item_add_subtree(item, ett_lustre_lustre_msg_v2);
8872 bufcount = tvb_get_letohl(tvb,offset);
8873 offset=lustre_dissect_element_msg_v2_lm_bufcount(tvb, offset, pinfo, tree);
8875 offset=lustre_dissect_element_msg_v2_lm_secflvr(tvb, offset, pinfo, tree);
8877 offset=lustre_dissect_element_msg_v2_lm_magic(tvb, offset, pinfo, tree);
8879 offset=lustre_dissect_element_msg_v2_lm_repsize(tvb, offset, pinfo, tree);
8881 offset=lustre_dissect_element_msg_v2_lm_cksum(tvb, offset, pinfo, tree);
8883 offset=lustre_dissect_element_msg_v2_lm_flags(tvb, offset, pinfo, tree);
8885 offset=lustre_dissect_element_msg_v2_lm_padding_2(tvb, offset, pinfo, tree);
8887 offset=lustre_dissect_element_msg_v2_lm_padding_3(tvb, offset, pinfo, tree);
8891 if (bufcount & 1) /* we add an extra padding if bufcount is odd */
8896 buf_len_offset=offset ;
8897 for (i=0;i<bufcount;i++) {
8898 offset=lustre_dissect_element_msg_v2_lm_buflens_(tvb, offset, pinfo, tree);
8903 offset=dissect_uint32(tvb, offset, pinfo, tree, hf_lustre_extra_padding);
8908 current_buf_len = tvb_get_letohl(tvb, buf_len_offset);
8909 offset=lustre_dissect_struct_ptlrpc_body(tvb,offset, pinfo, tree, hf_lustre_ptlrpc_body_pb, current_buf_len);
8911 proto_item_set_len(item, offset-old_offset);
8920 dissect_lustre(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
8922 if (check_col(pinfo->cinfo, COL_PROTOCOL))
8923 col_set_str(pinfo->cinfo, COL_PROTOCOL, "Lustre");
8926 if (check_col(pinfo->cinfo, COL_INFO))
8927 col_set_str(pinfo->cinfo, COL_INFO, "");
8928 /* guint32 magic_number ; */
8929 /* magic_number = tvb_get_letohl(tvb, LUSTRE_MAGIC_OFFSET); */
8930 /* switch (magic_number)*/
8932 /* case LUSTRE_MSG_MAGIC_V1:*/
8933 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V1 ");*/
8935 /* case LUSTRE_MSG_MAGIC_V2:*/
8936 /* col_append_fstr(pinfo->cinfo, COL_INFO, " V2 ");*/
8944 guint32 magic_number ;
8946 proto_item *ti = NULL ;
8947 proto_tree * lustre_tree = NULL ;
8950 ti = proto_tree_add_item(tree,proto_lustre,tvb,0,-1,FALSE);
8951 lustre_tree = proto_item_add_subtree(ti,ett_lustre);
8954 magic_number = tvb_get_letohl(tvb, 8);
8957 switch (magic_number){
8958 case LUSTRE_MSG_MAGIC_V1:
8959 /* put some nice info*/
8960 proto_item_append_text(lustre_tree, " V1 ");
8961 offset=lustre_dissect_struct_msg_v1(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8963 case LUSTRE_MSG_MAGIC_V2:
8964 /* put some nice info*/
8965 proto_item_append_text(lustre_tree, " V2 ");
8966 offset=lustre_dissect_struct_msg_v2(tvb, 0, pinfo, lustre_tree, proto_lustre ) ;
8975 void proto_register_dcerpc_lustre(void)
8977 static hf_register_info hf[] = {
8978 { &hf_lustre_mds_body_ctime,
8979 { "Ctime", "lustre.mds_body.ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8980 { &hf_lustre_mds_body_fid1,
8981 { "Fid1", "lustre.mds_body.fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
8982 { &hf_lustre_mds_body_nlink,
8983 { "Nlink", "lustre.mds_body.nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8984 { &hf_lustre_mds_body_flags,
8985 { "Flags", "lustre.mds_body.flags", FT_UINT32, BASE_HEX, VALS(lustre_mds_flags_vals) , 0, "", HFILL }},
8986 { &hf_lustre_mds_body_fsgid,
8987 { "Fsgid", "lustre.mds_body.fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8988 { &hf_lustre_mds_body_mtime,
8989 { "Mtime", "lustre.mds_body.mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
8990 { &hf_lustre_mds_body_uid,
8991 { "Uid", "lustre.mds_body.uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8992 { &hf_lustre_mds_body_mode,
8993 { "Mode", "lustre.mds_body.mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8994 { &hf_lustre_mds_body_max_cookiesize,
8995 { "Max Cookiesize", "lustre.mds_body.max_cookiesize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
8996 { &hf_lustre_mds_body_io_epoch,
8997 { "Io Epoch", "lustre.mds_body.io_epoch", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
8998 { &hf_lustre_mds_body_ino,
8999 { "Ino", "lustre.mds_body.ino", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9000 { &hf_lustre_mds_body_fid2,
9001 { "Fid2", "lustre.mds_body.fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9002 { &hf_lustre_mds_body_padding_4,
9003 { "Padding 4", "lustre.mds_body.padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9004 { &hf_lustre_mds_body_aclsize,
9005 { "Aclsize", "lustre.mds_body.aclsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9006 { &hf_lustre_mds_body_valid,
9007 { "Valid", "lustre.mds_body.valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9008 { &hf_lustre_mds_body_generation,
9009 { "Generation", "lustre.mds_body.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9010 { &hf_lustre_mds_body_atime,
9011 { "Atime", "lustre.mds_body.atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9012 { &hf_lustre_mds_body_handle,
9013 { "Handle", "lustre.mds_body.handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9014 { &hf_lustre_mds_body_max_mdsize,
9015 { "Max Mdsize", "lustre.mds_body.max_mdsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9016 { &hf_lustre_mds_body_rdev,
9017 { "Rdev", "lustre.mds_body.rdev", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9018 { &hf_lustre_mds_body_blocks,
9019 { "Blocks", "lustre.mds_body.blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9020 { &hf_lustre_mds_body_fsuid,
9021 { "Fsuid", "lustre.mds_body.fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9022 { &hf_lustre_mds_body_gid,
9023 { "Gid", "lustre.mds_body.gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9024 { &hf_lustre_lustre_handle_cookie,
9025 { "Cookie", "lustre.lustre_handle.cookie", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9026 { &hf_lustre_mds_body_suppgid,
9027 { "Suppgid", "lustre.mds_body.suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9028 { &hf_lustre_mds_body_size,
9029 { "Size", "lustre.mds_body.size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9030 { &hf_lustre_mds_body_eadatasize,
9031 { "Eadatasize", "lustre.mds_body.eadatasize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9032 { &hf_lustre_mds_body_capability,
9033 { "Capability", "lustre.mds_body.capability", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9034 { &hf_lustre_ptlrpc_body_pb_last_committed,
9035 { "Pb Last Committed", "lustre.ptlrpc_body.pb_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9036 { &hf_lustre_ptlrpc_body_pb_version,
9037 { "Pb Version", "lustre.ptlrpc_body.pb_version", FT_UINT32, BASE_DEC, NULL, ~LUSTRE_VERSION_MASK, "", HFILL }},
9038 { &hf_lustre_lustre_msg_v1_lm_bufcount,
9039 { "Lm Bufcount", "lustre.lustre_msg_v1.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9040 { &hf_lustre_obd_ioobj_ioo_id,
9041 { "Ioo Id", "lustre.obd_ioobj.ioo_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9042 { &hf_lustre_ptlrpc_body_pb_slv,
9043 { "Pb Slv", "lustre.ptlrpc_body.pb_slv", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9044 { &hf_lustre_lustre_msg_v1_lm_handle,
9045 { "Lm Handle", "lustre.lustre_msg_v1.lm_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9046 { &hf_lustre_ost_lvb_lvb_atime,
9047 { "Lvb Atime", "lustre.ost_lvb.lvb_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9048 { &hf_lustre_ptlrpc_body_pb_timeout,
9049 { "Pb Timeout", "lustre.ptlrpc_body.pb_timeout", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9050 { &hf_lustre_obd_statfs_os_bavail,
9051 { "Os Bavail", "lustre.obd_statfs.os_bavail", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9052 { &hf_lustre_obd_statfs_os_bsize,
9053 { "Os Bsize", "lustre.obd_statfs.os_bsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9054 { &hf_lustre_lustre_msg_v2_lm_repsize,
9055 { "Lm Repsize", "lustre.lustre_msg_v2.lm_repsize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9056 { &hf_lustre_lov_mds_md_v1_lmm_stripe_size,
9057 { "Lmm Stripe Size", "lustre.lov_mds_md_v1.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9058 { &hf_lustre_lustre_msg_v1_lm_last_xid,
9059 { "Lm Last Xid", "lustre.lustre_msg_v1.lm_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9060 { &hf_lustre_ll_fid_f_type,
9061 { "F Type", "lustre.ll_fid.f_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9062 { &hf_lustre_lustre_msg_v2_lm_cksum,
9063 { "Lm Cksum", "lustre.lustre_msg_v2.lm_cksum", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9064 { &hf_lustre_lustre_msg_v2_lm_buflens,
9065 { "Lm Buflens", "lustre.lustre_msg_v2.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9066 { &hf_lustre_lustre_msg_v1_lm_status,
9067 { "Lm Status", "lustre.lustre_msg_v1.lm_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9068 { &hf_lustre_lustre_msg_v1_lm_type,
9069 { "Lm Type", "lustre.lustre_msg_v1.lm_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
9070 { &hf_lustre_niobuf_remote_len,
9071 { "Len", "lustre.niobuf_remote.len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9072 { &hf_lustre_lov_mds_md_v1_lmm_magic,
9073 { "Lmm Magic", "lustre.lov_mds_md_v1.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic) , 0, "", HFILL }},
9074 { &hf_lustre_ptlrpc_body_pb_op_flags,
9075 { "Pb Op Flags", "lustre.ptlrpc_body.pb_op_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9076 { &hf_lustre_ost_lvb_lvb_ctime,
9077 { "Lvb Ctime", "lustre.ost_lvb.lvb_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9078 { &hf_lustre_ptlrpc_body_pb_type,
9079 { "Pb Type", "lustre.ptlrpc_body.pb_type", FT_UINT32, BASE_DEC, VALS(lustre_LMTypes), 0, "", HFILL }},
9080 { &hf_lustre_obd_connect_data_ocd_nllg,
9081 { "Ocd Nllg", "lustre.obd_connect_data.ocd_nllg", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9082 { &hf_lustre_obd_connect_data_ocd_nllu,
9083 { "Ocd Nllu", "lustre.obd_connect_data.ocd_nllu", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9084 { &hf_lustre_ll_fid_generation,
9085 { "Generation", "lustre.ll_fid.generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9086 { &hf_lustre_ost_lvb_lvb_mtime,
9087 { "Lvb Mtime", "lustre.ost_lvb.lvb_mtime",FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0, "", HFILL }},
9088 { &hf_lustre_obd_connect_data_ocd_ibits_known,
9089 { "Ocd Ibits Known", "lustre.obd_connect_data.ocd_ibits_known", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9090 { &hf_lustre_lustre_msg_v2_lm_padding_3,
9091 { "Lm Padding 3", "lustre.lustre_msg_v2.lm_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9092 { &hf_lustre_ptlrpc_body_pb_flags,
9093 { "Pb Flags", "lustre.ptlrpc_body.pb_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9094 { &hf_lustre_obd_statfs_os_spare4,
9095 { "Os Spare4", "lustre.obd_statfs.os_spare4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9096 { &hf_lustre_obd_connect_data_ocd_group,
9097 { "Ocd Group", "lustre.obd_connect_data.ocd_group", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9098 { &hf_lustre_lov_ost_data_v1_l_object_gr,
9099 { "L Object Gr", "lustre.lov_ost_data_v1.l_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9100 { &hf_lustre_lov_mds_md_v1_lmm_object_gr,
9101 { "Lmm Object Gr", "lustre.lov_mds_md_v1.lmm_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9102 { &hf_lustre_obd_connect_data_ocd_brw_size,
9103 { "Ocd Brw Size", "lustre.obd_connect_data.ocd_brw_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9104 { &hf_lustre_ptlrpc_body_pb_limit,
9105 { "Pb Limit", "lustre.ptlrpc_body.pb_limit", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9106 { &hf_lustre_obd_statfs_os_maxbytes,
9107 { "Os Maxbytes", "lustre.obd_statfs.os_maxbytes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9108 { &hf_lustre_obd_statfs_os_spare5,
9109 { "Os Spare5", "lustre.obd_statfs.os_spare5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9110 { &hf_lustre_lustre_msg_v2_lm_flags,
9111 { "Lm Flags", "lustre.lustre_msg_v2.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9112 { &hf_lustre_obd_statfs_os_ffree,
9113 { "Os Ffree", "lustre.obd_statfs.os_ffree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9114 { &hf_lustre_obd_statfs_os_files,
9115 { "Os Files", "lustre.obd_statfs.os_files", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9116 { &hf_lustre_lov_mds_md_v1_lmm_stripe_count,
9117 { "Lmm Stripe Count", "lustre.lov_mds_md_v1.lmm_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9118 { &hf_lustre_lustre_msg_v1_lm_flags,
9119 { "Lm Flags", "lustre.lustre_msg_v1.lm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9120 { &hf_lustre_lustre_msg_v1_lm_last_committed,
9121 { "Lm Last Committed", "lustre.lustre_msg_v1.lm_last_committed", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9122 { &hf_lustre_obd_statfs_os_spare9,
9123 { "Os Spare9", "lustre.obd_statfs.os_spare9", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9124 { &hf_lustre_obd_connect_data_ocd_index,
9125 { "Ocd Index", "lustre.obd_connect_data.ocd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9126 { &hf_lustre_lustre_msg_v1_lm_buflens,
9127 { "Lm Buflens", "lustre.lustre_msg_v1.lm_buflens", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9128 { &hf_lustre_obd_statfs_os_spare1,
9129 { "Os Spare1", "lustre.obd_statfs.os_spare1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9130 { &hf_lustre_obd_statfs_os_spare8,
9131 { "Os Spare8", "lustre.obd_statfs.os_spare8", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9132 { &hf_lustre_lustre_msg_v1_lm_conn_cnt,
9133 { "Lm Conn Cnt", "lustre.lustre_msg_v1.lm_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9134 { &hf_lustre_ptlrpc_body_pb_transno,
9135 { "Pb Transno", "lustre.ptlrpc_body.pb_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9136 { &hf_lustre_ptlrpc_body_pb_service_time,
9137 { "Pb Service Time", "lustre.ptlrpc_body.pb_service_time",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9138 { &hf_lustre_ptlrpc_body_pb_conn_cnt,
9139 { "Pb Conn Cnt", "lustre.ptlrpc_body.pb_conn_cnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9140 { &hf_lustre_ptlrpc_body_pb_opc,
9141 { "Pb Opc", "lustre.ptlrpc_body.pb_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
9142 { &hf_lustre_obd_connect_data_ocd_connect_flags,
9143 { "Ocd Connect Flags", "lustre.obd_connect_data.ocd_connect_flags", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9144 { &hf_lustre_lov_ost_data_v1_l_object_id,
9145 { "L Object Id", "lustre.lov_ost_data_v1.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9146 { &hf_lustre_lov_ost_data_v1_l_ost_gen,
9147 { "L Ost Gen", "lustre.lov_ost_data_v1.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9148 { &hf_lustre_obd_statfs_os_bfree,
9149 { "Os Bfree", "lustre.obd_statfs.os_bfree", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9150 { &hf_lustre_obd_connect_data_ocd_version,
9151 { "Ocd Version", "lustre.obd_connect_data.ocd_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9152 { &hf_lustre_lov_mds_md_v1_lmm_objects,
9153 { "Lmm Objects", "lustre.lov_mds_md_v1.lmm_objects", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9154 { &hf_lustre_mds_status_req_flags,
9155 { "Flags", "lustre.mds_status_req.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9156 { &hf_lustre_obd_statfs_os_namelen,
9157 { "Os Namelen", "lustre.obd_statfs.os_namelen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9158 { &hf_lustre_obd_statfs_os_blocks,
9159 { "Os Blocks", "lustre.obd_statfs.os_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9160 { &hf_lustre_lustre_msg_v2_lm_secflvr,
9161 { "Lm Secflvr", "lustre.lustre_msg_v2.lm_secflvr", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9162 { &hf_lustre_lustre_msg_v1_lm_transno,
9163 { "Lm Transno", "lustre.lustre_msg_v1.lm_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9164 { &hf_lustre_lov_mds_md_v1_lmm_pattern,
9165 { "Lmm Pattern", "lustre.lov_mds_md_v1.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9166 { &hf_lustre_lustre_msg_v1_lm_opc,
9167 { "Lm Opc", "lustre.lustre_msg_v1.lm_opc", FT_UINT32, BASE_DEC, VALS(lustre_op_codes), 0, "", HFILL }},
9168 { &hf_lustre_obd_connect_data_ocd_grant,
9169 { "Ocd Grant", "lustre.obd_connect_data.ocd_grant", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9170 { &hf_lustre_obd_ioobj_ioo_bufcnt,
9171 { "Ioo Bufcnt", "lustre.obd_ioobj.ioo_bufcnt", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9172 { &hf_lustre_lustre_msg_v1_lm_version,
9173 { "Lm Version", "lustre.lustre_msg_v1.lm_version", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9174 { &hf_lustre_obd_statfs_os_spare7,
9175 { "Os Spare7", "lustre.obd_statfs.os_spare7", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9176 { &hf_lustre_obd_statfs_os_fsid,
9177 { "Os Fsid", "lustre.obd_statfs.os_fsid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9178 { &hf_lustre_obd_connect_data_ocd_cksum_types,
9179 { "Ocd Cksum Types", "lustre.obd_connect_data.ocd_cksum_types", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9180 { &hf_lustre_ost_lvb_lvb_size,
9181 { "Lvb Size", "lustre.ost_lvb.lvb_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9182 { &hf_lustre_obd_statfs_os_type,
9183 { "Os Type", "lustre.obd_statfs.os_type", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9184 { &hf_lustre_obd_statfs_os_spare6,
9185 { "Os Spare6", "lustre.obd_statfs.os_spare6", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9186 { &hf_lustre_obd_statfs_os_state,
9187 { "Os State", "lustre.obd_statfs.os_state", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9188 { &hf_lustre_obd_statfs_os_spare3,
9189 { "Os Spare3", "lustre.obd_statfs.os_spare3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9190 { &hf_lustre_lustre_msg_v2_lm_magic,
9191 { "Lm Magic", "lustre.lustre_msg_v2.lm_magic", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
9192 { &hf_lustre_lov_mds_md_v1_lmm_object_id,
9193 { "Lmm Object Id", "lustre.lov_mds_md_v1.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9194 { &hf_lustre_ptlrpc_body_pb_last_seen,
9195 { "Pb Last Seen", "lustre.ptlrpc_body.pb_last_seen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9196 { &hf_lustre_obd_ioobj_ioo_type, /* TODO : create the corresponding value_string */
9197 { "Ioo Type", "lustre.obd_ioobj.ioo_type", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
9198 { &hf_lustre_ptlrpc_body_pb_last_xid,
9199 { "Pb Last Xid", "lustre.ptlrpc_body.pb_last_xid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9200 { &hf_lustre_ptlrpc_body_pb_status,
9201 { "Pb Status", "lustre.ptlrpc_body.pb_status", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9202 { &hf_lustre_niobuf_remote_flags,
9203 { "Flags", "lustre.niobuf_remote.flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9204 { &hf_lustre_ll_fid_id,
9205 { "Id", "lustre.ll_fid.id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9206 { &hf_lustre_ost_lvb_lvb_blocks,
9207 { "Lvb Blocks", "lustre.ost_lvb.lvb_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9208 { &hf_lustre_lustre_msg_v2_lm_padding_2,
9209 { "Lm Padding 2", "lustre.lustre_msg_v2.lm_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9210 { &hf_lustre_obd_connect_data_padding1,
9211 { "Padding1", "lustre.obd_connect_data.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9212 { &hf_lustre_lov_ost_data_v1_l_ost_idx,
9213 { "L Ost Idx", "lustre.lov_ost_data_v1.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9214 { &hf_lustre_obd_connect_data_padding2,
9215 { "Padding2", "lustre.obd_connect_data.padding2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9216 { &hf_lustre_obd_ioobj_ioo_gr,
9217 { "Ioo Gr", "lustre.obd_ioobj.ioo_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9218 { &hf_lustre_niobuf_remote_offset,
9219 { "Offset", "lustre.niobuf_remote.offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9220 { &hf_lustre_mds_status_req_repbuf,
9221 { "Repbuf", "lustre.mds_status_req.repbuf", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9222 { &hf_lustre_obd_statfs_os_spare2,
9223 { "Os Spare2", "lustre.obd_statfs.os_spare2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9224 { &hf_lustre_lustre_msg_v2_lm_bufcount,
9225 { "Lm Bufcount", "lustre.lustre_msg_v2.lm_bufcount", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9226 { &hf_lustre_ptlrpc_body_pb_handle,
9227 { "Pb Handle", "lustre.ptlrpc_body.pb_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9228 { &hf_lustre_obd_connect_data_ocd_transno,
9229 { "Ocd Transno", "lustre.obd_connect_data.ocd_transno", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9230 { &hf_lustre_lustre_msg_v1_lm_magic,
9231 { "Lm Magic", "lustre.lustre_msg_v1.lm_magic", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9232 { &hf_lustre_ptlrpc_body_pb,
9233 { "ptl rpc", "lustre.ptlrpc_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9234 { &hf_lustre_mds_body,
9235 { "mds body", "lustre.mds_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9236 { &hf_lustre_mds_rec_create,
9237 { "mds rec create", "lustre.mds_rec_create", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9238 { &hf_lustre_mds_rec_link,
9239 { "mds rec link", "lustre.mds_rec_link", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9240 { &hf_lustre_mds_rec_unlink,
9241 { "mds rec unlink", "lustre.mds_rec_unlink", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9243 { &hf_lustre_obd_uuid,
9244 { "obd uid name", "lustre.obd_uid", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9245 { &hf_lustre_obd_connect_data ,
9246 { "obd connect data", "lustre.obd_connect_data", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9248 { &hf_lustre_ldlm_intent,
9249 { "ldlm intent", "lustre.ldlm_intent", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9251 { &hf_lustre_lov_user_md_join,
9252 { "lov user md join", "lustre.lov_user_md_join", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9253 { &hf_lustre_obd_ioobj,
9254 { "lustre obd ioobj", "lustre.obd_ioobj", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9255 { &hf_lustre_niobuf_remote,
9256 { "lustre niobuf remote", "lustre.niobuf_remote", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9257 { &hf_lustre_ost_key,
9258 { "lustre ost key", "lustre.ost_key", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9259 { &hf_lustre_ost_val,
9260 { "lustre ost val", "lustre.ost_val", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9261 { &hf_lustre_llogd_chunk,
9262 { "lustre llogd chunk", "lustre.llogd_chunk", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9263 { &hf_lustre_llogd_keyword,
9264 { "lustre llogd keyword", "lustre.llogd_keyword", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9265 { &hf_lustre_llogd_client,
9266 { "lustre llogd client", "lustre.llogd_client", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9267 { &hf_lustre_llogd_name,
9268 { "lustre llogd name", "lustre.llogd_name", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9269 { &hf_lustre_llogd_log_hdr,
9270 { "lustre llogd log hdr", "lustre.llogd_log_hdr", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9271 { &hf_lustre_llog_logid_rec,
9272 { "lustre llog logid rec", "lustre.llog_logid_rec", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9274 { &hf_lustre_llogd_body,
9275 { "lustre llogd body", "lustre.llogd_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL}},
9277 { "lustre nio", "lustre.nio", FT_STRING, BASE_NONE, NULL , 0 , "", HFILL}},
9278 { &hf_lustre_ost_body,
9279 { "ost body", "lustre.ost_body", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9280 { &hf_lustre_obd_statfs,
9281 { "obd statfs", "lustre.obd_statfs", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9282 { &hf_lustre_obd_quotactl,
9283 { "obd quotactl", "lustre.obd_quotacl", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9284 { &hf_lustre_quota_adjust_qunit,
9285 { "obd quota adjust qunit", "lustre.quota_adjust_qunit", FT_NONE, BASE_NONE, NULL , 0 , "", HFILL }},
9286 { &hf_lustre_llog_unlink_rec_lur_tail,
9287 { "Lur Tail", "lustre.llog_unlink_rec.lur_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9288 { &hf_lustre_llog_size_change_rec_lsc_io_epoch,
9289 { "Lsc Io Epoch", "lustre.llog_size_change_rec.lsc_io_epoch", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9290 { &hf_lustre_mgs_target_info_mti_flags,
9291 { "Mti Flags", "lustre.mgs_target_info.mti_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9292 { &hf_lustre_ldlm_reply_lock_policy_res1,
9293 { "Lock Policy Res1", "lustre.ldlm_reply.lock_policy_res1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9294 { &hf_lustre_mds_rec_link_lk_fsuid,
9295 { "Lk Fsuid", "lustre.mds_rec_link.lk_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9296 { &hf_lustre_llogd_body_lgd_len,
9297 { "Lgd Len", "lustre.llogd_body.lgd_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9298 { &hf_lustre_qunit_data_old_qd_id,
9299 { "Qd Id", "lustre.qunit_data_old.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9300 { &hf_lustre_lov_user_md_join_lmm_stripe_count,
9301 { "Lmm Stripe Count", "lustre.lov_user_md_join.lmm_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9302 { &hf_lustre_llog_logid_rec_padding1,
9303 { "Padding1", "lustre.llog_logid_rec.padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9304 { &hf_lustre_quota_adjust_qunit_padding1,
9305 { "Padding1", "lustre.quota_adjust_qunit.padding1", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9306 { &hf_lustre_llog_size_change_rec_lsc_fid,
9307 { "Lsc Fid", "lustre.llog_size_change_rec.lsc_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9308 { &hf_lustre_llog_rec_hdr_padding,
9309 { "Padding", "lustre.llog_rec_hdr.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9310 { &hf_lustre_mds_rec_create_cr_time,
9311 { "Cr Time", "lustre.mds_rec_create.cr_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9312 { &hf_lustre_mds_rec_create_cr_padding_1,
9313 { "Cr Padding 1", "lustre.mds_rec_create.cr_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9314 { &hf_lustre_obdo_o_nlink,
9315 { "O Nlink", "lustre.obdo.o_nlink", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9316 { &hf_lustre_mds_rec_rename_rn_suppgid2,
9317 { "Rn Suppgid2", "lustre.mds_rec_rename.rn_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9318 { &hf_lustre_mds_rec_link_lk_padding_4,
9319 { "Lk Padding 4", "lustre.mds_rec_link.lk_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9320 { &hf_lustre_mds_rec_link_lk_cap,
9321 { "Lk Cap", "lustre.mds_rec_link.lk_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9322 { &hf_lustre_ldlm_extent_gid,
9323 { "Gid", "lustre.ldlm_extent.gid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9324 { &hf_lustre_obdo_o_uid,
9325 { "O Uid", "lustre.obdo.o_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9326 { &hf_lustre_mds_rec_create_cr_padding_5,
9327 { "Cr Padding 5", "lustre.mds_rec_create.cr_padding_5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9328 { &hf_lustre_mds_xattr_name,
9329 { "mds xattr name", "lustre.mds_xattr_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
9330 { &hf_lustre_lov_mds_md_v1,
9331 { "lov mds md v1", "lustre.lov_mds_md_v1", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9332 { &hf_lustre_llog_cookie,
9333 { "llog cookie", "lustre.llog_cookie", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9334 { &hf_lustre_mds_md_data,
9335 { "mds md data", "lustre.mds_md_data", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9336 { &hf_lustre_mds_reint_opcode,
9337 { "mds reint opcode", "lustre.mds_reint_opcode", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
9338 { &hf_lustre_mds_xattr_eadata,
9339 { "mds xattr eadata", "lustre.mds_xattr_eadata", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9340 { &hf_lustre_lov_mds_md_join,
9341 { "lov mds md join", "lustre.lov_mds_md_join", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9342 { &hf_lustre_reint_name,
9343 { "mds reint name", "lustre.mds_reint_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
9344 { &hf_lustre_reint_old_name,
9345 { "mds reint old name", "lustre.mds_reint_old_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
9346 { &hf_lustre_reint_new_name,
9347 { "mds reint new name", "lustre.mds_reint_new_name", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
9351 { &hf_lustre_obdo_o_valid,
9352 { "O Valid", "lustre.obdo.o_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9353 { &hf_lustre_ldlm_reply_lock_flags,
9354 { "Lock Flags", "lustre.ldlm_reply.lock_flags", FT_UINT32,BASE_HEX, NULL, 0, "", HFILL }},
9356 {&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}},
9357 {&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}},
9358 {&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}},
9359 {&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}},
9360 {&hf_lustre_ldlm_fl_cbpending, {"LDLM_FL_CBPENDING", "lustre.ldlm_fl_cbpending", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CBPENDING, "", HFILL}},
9361 {&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}},
9362 {&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}},
9363 {&hf_lustre_ldlm_fl_cancel, {"LDLM_FL_CANCEL", "lustre.ldlm_fl_cancel", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCEL, "", HFILL}},
9364 {&hf_lustre_ldlm_fl_replay, {"LDLM_FL_REPLAY", "lustre.ldlm_fl_replay", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_REPLAY, "", HFILL}},
9365 {&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}},
9366 {&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}},
9367 {&hf_lustre_ldlm_fl_failed, {"LDLM_FL_FAILED", "lustre.ldlm_fl_failed", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_FAILED, "", HFILL}},
9368 {&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}},
9369 {&hf_lustre_ldlm_fl_canceling, {"LDLM_FL_CANCELING", "lustre.ldlm_fl_canceling", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CANCELING, "", HFILL}},
9370 {&hf_lustre_ldlm_fl_local, {"LDLM_FL_LOCAL", "lustre.ldlm_fl_local", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_LOCAL, "", HFILL}},
9371 {&hf_lustre_ldlm_fl_warn, {"LDLM_FL_WARN", "lustre.ldlm_fl_warn", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_WARN, "", HFILL}},
9372 {&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}},
9373 {&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}},
9374 {&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}},
9375 {&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}},
9376 {&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}},
9377 {&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}},
9378 {&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}},
9379 {&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}},
9380 {&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}},
9381 {&hf_lustre_ldlm_fl_cleaned, {"LDLM_FL_CLEANED", "lustre.ldlm_fl_cleaned", FT_BOOLEAN, 32, TFS(&flags_set_truth), LDLM_FL_CLEANED, "", HFILL}},
9382 {&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}},
9383 {&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}},
9384 {&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}},
9385 {&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}},
9386 {&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}},
9389 { &hf_lustre_mds_rec_link_lk_padding_3,
9390 { "Lk Padding 3", "lustre.mds_rec_link.lk_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9391 { &hf_lustre_obdo_o_misc,
9392 { "O Misc", "lustre.obdo.o_misc", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9393 { &hf_lustre_mds_rec_setattr_sa_suppgid,
9394 { "Sa Suppgid", "lustre.mds_rec_setattr.sa_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9395 { &hf_lustre_mds_rec_setattr_sa_attr_flags,
9396 { "Sa Attr Flags", "lustre.mds_rec_setattr.sa_attr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9397 { &hf_lustre_mds_rec_rename_rn_padding_2,
9398 { "Rn Padding 2", "lustre.mds_rec_rename.rn_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9399 { &hf_lustre_ldlm_request_lock_handle,
9400 { "Lock Handle", "lustre.ldlm_request.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9401 { &hf_lustre_llog_logid_lgl_oid,
9402 { "Lgl Oid", "lustre.llog_logid.lgl_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9403 { &hf_lustre_ldlm_inodebits_bits,
9404 { "Bits", "lustre.ldlm_inodebits.bits", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9405 { &hf_lustre_llog_log_hdr_llh_count,
9406 { "Llh Count", "lustre.llog_log_hdr.llh_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9407 { &hf_lustre_mds_rec_unlink_ul_padding_4,
9408 { "Ul Padding 4", "lustre.mds_rec_unlink.ul_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9409 { &hf_lustre_lov_user_md_join_lmm_stripe_size,
9410 { "Lmm Stripe Size", "lustre.lov_user_md_join.lmm_stripe_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9411 { &hf_lustre_llog_gen_rec_lgr_tail,
9412 { "Lgr Tail", "lustre.llog_gen_rec.lgr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9413 { &hf_lustre_llog_catid_lci_padding3,
9414 { "Lci Padding3", "lustre.llog_catid.lci_padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9415 { &hf_lustre_qunit_data_qd_qunit,
9416 { "Qd Qunit", "lustre.qunit_data.qd_qunit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9417 { &hf_lustre_mds_rec_unlink_ul_fid1,
9418 { "Ul Fid1", "lustre.mds_rec_unlink.ul_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9419 { &hf_lustre_llog_setattr_rec_padding,
9420 { "Padding", "lustre.llog_setattr_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9421 { &hf_lustre_mds_rec_rename_rn_opcode,
9422 { "Rn Opcode", "lustre.mds_rec_rename.rn_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
9423 { &hf_lustre_mds_rec_create_cr_flags,
9424 { "Cr Flags", "lustre.mds_rec_create.cr_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9425 { &hf_lustre_mds_rec_rename_rn_fid1,
9426 { "Rn Fid1", "lustre.mds_rec_rename.rn_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9427 { &hf_lustre_mds_extent_desc_med_start,
9428 { "Med Start", "lustre.mds_extent_desc.med_start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9429 { &hf_lustre_llog_cookie_lgc_lgl,
9430 { "Lgc Lgl", "lustre.llog_cookie.lgc_lgl", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9431 { &hf_lustre_obd_quotactl_qc_dqinfo,
9432 { "Qc Dqinfo", "lustre.obd_quotactl.qc_dqinfo", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9433 { &hf_lustre_llog_log_hdr_llh_bitmap,
9434 { "Llh Bitmap", "lustre.llog_log_hdr.llh_bitmap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9435 { &hf_lustre_mds_rec_setattr_sa_size,
9436 { "Sa Size", "lustre.mds_rec_setattr.sa_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9437 { &hf_lustre_mds_rec_rename_rn_suppgid1,
9438 { "Rn Suppgid1", "lustre.mds_rec_rename.rn_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9439 { &hf_lustre_obd_quotactl_qc_stat,
9440 { "Qc Stat", "lustre.obd_quotactl.qc_stat", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9441 { &hf_lustre_qunit_data_old2_qd_id,
9442 { "Qd Id", "lustre.qunit_data_old2.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9443 { &hf_lustre_llog_logid_rec_padding2,
9444 { "Padding2", "lustre.llog_logid_rec.padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9445 { &hf_lustre_mds_rec_unlink_ul_mode,
9446 { "Ul Mode", "lustre.mds_rec_unlink.ul_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9447 { &hf_lustre_llog_orphan_rec_lor_tail,
9448 { "Lor Tail", "lustre.llog_orphan_rec.lor_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9449 { &hf_lustre_llog_logid_rec_padding5,
9450 { "Padding5", "lustre.llog_logid_rec.padding5", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9451 { &hf_lustre_mds_rec_create_cr_fsgid,
9452 { "Cr Fsgid", "lustre.mds_rec_create.cr_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9453 { &hf_lustre_mds_rec_join_jr_fid,
9454 { "Jr Fid", "lustre.mds_rec_join.jr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9455 /*-------------------------------------------------------------------------------------------------------------*/
9456 /*all this flags are uint64, but I don't find the way to use something like TFS() with a Uint64*/
9457 { &hf_lustre_ldlm_intent_opc_open,
9458 { "open", "lustre.ldlm_intent.opc_open", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_OPEN, "", HFILL}},
9459 { &hf_lustre_ldlm_intent_opc_creat,
9460 { "creat", "lustre.ldlm_intent.opc_creat", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_CREAT , "", HFILL}},
9461 { &hf_lustre_ldlm_intent_opc_readdir,
9462 { "readdir", "lustre.ldlm_intent.opc_readdir", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_READDIR , "", HFILL}},
9463 { &hf_lustre_ldlm_intent_opc_getattr,
9464 { "getattr", "lustre.ldlm_intent.opc_getattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETATTR, "", HFILL}},
9465 { &hf_lustre_ldlm_intent_opc_lookup,
9466 { "lookup", "lustre.ldlm_intent.opc_lookup", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_LOOKUP , "", HFILL}},
9467 { &hf_lustre_ldlm_intent_opc_unlink,
9468 { "unlink", "lustre.ldlm_intent.opc_unlink", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_UNLINK , "", HFILL}},
9469 { &hf_lustre_ldlm_intent_opc_getxattr,
9470 { "getxattr", "lustre.ldlm_intent.opc_getxattr", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_GETXATTR , "", HFILL}},
9471 { &hf_lustre_ldlm_intent_opc_exec,
9472 { "exec", "lustre.ldlm_intent.opc_exec", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_EXEC , "", HFILL}},
9473 { &hf_lustre_ldlm_intent_opc_pin,
9474 { "pin", "lustre.ldlm_intent.opc_pin", FT_BOOLEAN, 32, TFS(&flags_set_truth), IT_PIN , "", HFILL}},
9475 /*-------------------------------------------------------------------------------------------------------------*/
9476 { &hf_lustre_ldlm_intent_opc,
9477 { "intent opcode", "lustre.ldlm_intent.opc", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9478 { &hf_lustre_llog_rec_hdr_lrh_type,
9479 { "Lrh Type", "lustre.llog_rec_hdr.lrh_type", FT_UINT32, BASE_HEX, VALS(lustre_llog_op_type), 0, "", HFILL }},
9480 { &hf_lustre_mds_rec_link_lk_fsgid,
9481 { "Lk Fsgid", "lustre.mds_rec_link.lk_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9482 { &hf_lustre_llog_rec_hdr_lrh_len,
9483 { "Lrh Len", "lustre.llog_rec_hdr.lrh_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9484 { &hf_lustre_llog_setattr_rec_lsr_uid,
9485 { "Lsr Uid", "lustre.llog_setattr_rec.lsr_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9486 { &hf_lustre_lov_desc_ld_padding_1,
9487 { "Ld Padding 1", "lustre.lov_desc.ld_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9488 { &hf_lustre_obdo_o_padding_4,
9489 { "O Padding 4", "lustre.obdo.o_padding_4", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9490 { &hf_lustre_mgs_target_info_padding,
9491 { "Padding", "lustre.mgs_target_info.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9492 { &hf_lustre_obd_quotactl_qc_dqblk,
9493 { "Qc Dqblk", "lustre.obd_quotactl.qc_dqblk", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9494 { &hf_lustre_llogd_conn_body_lgdc_gen,
9495 { "Lgdc Gen", "lustre.llogd_conn_body.lgdc_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9496 { &hf_lustre_mds_rec_create_cr_padding_2,
9497 { "Cr Padding 2", "lustre.mds_rec_create.cr_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9498 { &hf_lustre_mds_rec_setattr_sa_ctime,
9499 { "Sa Ctime", "lustre.mds_rec_setattr.sa_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9500 { &hf_lustre_llog_log_hdr_llh_tail,
9501 { "Llh Tail", "lustre.llog_log_hdr.llh_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9502 { &hf_lustre_obdo_o_size,
9503 { "O Size", "lustre.obdo.o_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9504 { &hf_lustre_mds_rec_setattr_sa_cap,
9505 { "Sa Cap", "lustre.mds_rec_setattr.sa_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9506 { &hf_lustre_ldlm_extent_start,
9507 { "Start", "lustre.ldlm_extent.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9508 { &hf_lustre_mds_rec_unlink_ul_opcode,
9509 { "Ul Opcode", "lustre.mds_rec_unlink.ul_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
9510 { &hf_lustre_llog_size_change_rec_lsc_hdr,
9511 { "Lsc Hdr", "lustre.llog_size_change_rec.lsc_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9512 { &hf_lustre_mds_rec_unlink_ul_time,
9513 { "Ul Time", "lustre.mds_rec_unlink.ul_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9514 { &hf_lustre_lov_user_ost_data_join_l_extent_start,
9515 { "L Extent Start", "lustre.lov_user_ost_data_join.l_extent_start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9516 { &hf_lustre_lov_user_md_join_lmm_tree_id,
9517 { "Lmm Tree Id", "lustre.lov_user_md_join.lmm_tree_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9518 { &hf_lustre_llog_create_rec_lcr_tail,
9519 { "Lcr Tail", "lustre.llog_create_rec.lcr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9520 { &hf_lustre_mds_rec_setattr_sa_mode,
9521 { "Sa Mode", "lustre.mds_rec_setattr.sa_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9522 { &hf_lustre_llog_logid_lgl_ogr,
9523 { "Lgl Ogr", "lustre.llog_logid.lgl_ogr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9524 { &hf_lustre_llog_create_rec_lcr_hdr,
9525 { "Lcr Hdr", "lustre.llog_create_rec.lcr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9526 { &hf_lustre_llog_cookie_lgc_padding,
9527 { "Lgc Padding", "lustre.llog_cookie.lgc_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9528 { &hf_lustre_mds_rec_create_cr_cap,
9529 { "Cr Cap", "lustre.mds_rec_create.cr_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9530 { &hf_lustre_qunit_data_old_qd_type,
9531 { "Qd Type", "lustre.qunit_data_old.qd_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9532 { &hf_lustre_ldlm_flock_blocking_export,
9533 { "Blocking Export", "lustre.ldlm_flock.blocking_export", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9534 { &hf_lustre_mds_rec_setattr_sa_gid,
9535 { "Sa Gid", "lustre.mds_rec_setattr.sa_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9536 { &hf_lustre_lov_desc_ld_pattern,
9537 { "Ld Pattern", "lustre.lov_desc.ld_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9538 { &hf_lustre_qunit_data_qd_id,
9539 { "Qd Id", "lustre.qunit_data.qd_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9540 { &hf_lustre_mgs_target_info_mti_fsname,
9541 { "Mti Fsname", "lustre.mgs_target_info.mti_fsname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9542 { &hf_lustre_lov_user_md_join_lmm_object_gr,
9543 { "Lmm Object Gr", "lustre.lov_user_md_join.lmm_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9544 { &hf_lustre_ldlm_request_lock_flags,
9545 { "Lock Flags", "lustre.ldlm_request.lock_flags", FT_UINT32, BASE_HEX, NULL, 0 , "", HFILL }},
9546 { &hf_lustre_obdo_o_mode,
9547 { "O Mode", "lustre.obdo.o_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9548 { &hf_lustre_mgs_target_info_mti_svname,
9549 { "Mti Svname", "lustre.mgs_target_info.mti_svname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9550 { &hf_lustre_llogd_body_lgd_logid,
9551 { "Lgd Logid", "lustre.llogd_body.lgd_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9552 { &hf_lustre_mds_rec_create_cr_opcode,
9553 { "Cr Opcode", "lustre.mds_rec_create.cr_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
9554 { &hf_lustre_llog_log_hdr_llh_size,
9555 { "Llh Size", "lustre.llog_log_hdr.llh_size", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9556 { &hf_lustre_llog_create_rec_padding,
9557 { "Padding", "lustre.llog_create_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9558 { &hf_lustre_obdo_o_handle,
9559 { "O Handle", "lustre.obdo.o_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9560 { &hf_lustre_obdo_o_atime,
9561 { "O Atime", "lustre.obdo.o_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9562 { &hf_lustre_quota_adjust_qunit_qaq_id,
9563 { "Qaq Id", "lustre.quota_adjust_qunit.qaq_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9564 { &hf_lustre_mds_rec_rename_rn_fid2,
9565 { "Rn Fid2", "lustre.mds_rec_rename.rn_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9566 { &hf_lustre_mds_rec_create_cr_replayfid,
9567 { "Cr Replayfid", "lustre.mds_rec_create.cr_replayfid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9568 { &hf_lustre_ldlm_lock_desc_l_policy_data,
9569 { "L Policy Data", "lustre.ldlm_lock_desc.l_policy_data", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9570 { &hf_lustre_mds_rec_link_lk_suppgid1,
9571 { "Lk Suppgid1", "lustre.mds_rec_link.lk_suppgid1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9572 { &hf_lustre_obd_quotactl_qc_cmd,
9573 { "Qc Cmd", "lustre.obd_quotactl.qc_cmd", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9574 { &hf_lustre_lov_user_md_join_lmm_object_id,
9575 { "Lmm Object Id", "lustre.lov_user_md_join.lmm_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9576 { &hf_lustre_mds_rec_rename_rn_padding_3,
9577 { "Rn Padding 3", "lustre.mds_rec_rename.rn_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9578 { &hf_lustre_qunit_data_padding,
9579 { "Padding", "lustre.qunit_data.padding", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9580 { &hf_lustre_lov_user_md_join_lmm_objects,
9581 { "Lmm Objects", "lustre.lov_user_md_join.lmm_objects", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9582 { &hf_lustre_quota_adjust_qunit_qaq_flags,
9583 { "Qaq Flags", "lustre.quota_adjust_qunit.qaq_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9584 { &hf_lustre_lov_user_ost_data_join_l_object_gr,
9585 { "L Object Gr", "lustre.lov_user_ost_data_join.l_object_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9586 { &hf_lustre_ldlm_lock_desc_l_granted_mode,
9587 { "L Granted Mode", "lustre.ldlm_lock_desc.l_granted_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9588 { &hf_lustre_obdo_o_gr,
9589 { "O Gr", "lustre.obdo.o_gr", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9590 { &hf_lustre_mds_rec_unlink_ul_padding_2,
9591 { "Ul Padding 2", "lustre.mds_rec_unlink.ul_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9592 { &hf_lustre_obdo_o_gid,
9593 { "O Gid", "lustre.obdo.o_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9594 { &hf_lustre_llog_catid_lci_logid,
9595 { "Lci Logid", "lustre.llog_catid.lci_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9596 { &hf_lustre_llog_rec_tail_lrt_index,
9597 { "Lrt Index", "lustre.llog_rec_tail.lrt_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9598 { &hf_lustre_obdo_o_mds,
9599 { "O Mds", "lustre.obdo.o_mds", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9600 { &hf_lustre_mds_extent_desc_med_lmm,
9601 { "Med Lmm", "lustre.mds_extent_desc.med_lmm", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9602 { &hf_lustre_lov_desc_ld_default_stripe_count,
9603 { "Ld Default Stripe Count", "lustre.lov_desc.ld_default_stripe_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9604 { &hf_lustre_ldlm_resource_desc_lr_padding,
9605 { "Lr Padding", "lustre.ldlm_resource_desc.lr_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9606 { &hf_lustre_cfg_marker_cm_vers,
9607 { "Cm Vers", "lustre.cfg_marker.cm_vers", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9608 { &hf_lustre_mds_rec_create_cr_fid,
9609 { "Cr Fid", "lustre.mds_rec_create.cr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9610 { &hf_lustre_llog_unlink_rec_lur_hdr,
9611 { "Lur Hdr", "lustre.llog_unlink_rec.lur_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9612 { &hf_lustre_llogd_body_lgd_index,
9613 { "Lgd Index", "lustre.llogd_body.lgd_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9614 { &hf_lustre_cfg_marker_cm_tgtname,
9615 { "Cm Tgtname", "lustre.cfg_marker.cm_tgtname", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9616 { &hf_lustre_mds_rec_unlink_ul_padding_1,
9617 { "Ul Padding 1", "lustre.mds_rec_unlink.ul_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9618 { &hf_lustre_mds_rec_unlink_ul_cap,
9619 { "Ul Cap", "lustre.mds_rec_unlink.ul_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9620 { &hf_lustre_llog_array_rec_lmr_med,
9621 { "Lmr Med", "lustre.llog_array_rec.lmr_med", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9622 { &hf_lustre_llog_setattr_rec_lsr_ogen,
9623 { "Lsr Ogen", "lustre.llog_setattr_rec.lsr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9624 { &hf_lustre_mds_rec_create_cr_padding_3,
9625 { "Cr Padding 3", "lustre.mds_rec_create.cr_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9626 { &hf_lustre_llog_logid_rec_lid_hdr,
9627 { "Lid Hdr", "lustre.llog_logid_rec.lid_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9628 { &hf_lustre_lov_user_ost_data_join_l_ost_idx,
9629 { "L Ost Idx", "lustre.lov_user_ost_data_join.l_ost_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9630 { &hf_lustre_obdo_o_easize,
9631 { "O Easize", "lustre.obdo.o_easize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9632 { &hf_lustre_lov_user_md_join_lmm_array_id,
9633 { "Lmm Array Id", "lustre.lov_user_md_join.lmm_array_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9634 { &hf_lustre_ost_body_oa,
9635 { "Oa", "lustre.ost_body.oa", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9636 { &hf_lustre_llog_logid_rec_padding3,
9637 { "Padding3", "lustre.llog_logid_rec.padding3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9638 { &hf_lustre_llog_log_hdr_llh_flags,
9639 { "Llh Flags", "lustre.llog_log_hdr.llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9640 {&hf_lustre_llog_hdr_llh_flag_zap_when_empty,
9641 {"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}},
9642 {&hf_lustre_llog_hdr_llh_flag_is_cat,
9643 {"LLOG_F_IS_CAT","lustre.lustre.llog_log_hdr.llh_flag_cat",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_CAT,"",HFILL}},
9644 {&hf_lustre_llog_hdr_llh_flag_is_play,
9645 {"LOG_F_IS_PLAIN","lustre.lustre.llog_log_hdr.llh_flag_play",FT_BOOLEAN,32,TFS(&flags_set_truth),LLOG_F_IS_PLAIN,"",HFILL}},
9647 { &hf_lustre_llog_setattr_rec_lsr_oid,
9648 { "Lsr Oid", "lustre.llog_setattr_rec.lsr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9649 { &hf_lustre_mds_rec_create_cr_mode,
9650 { "Cr Mode", "lustre.mds_rec_create.cr_mode", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9651 { &hf_lustre_llog_size_change_rec_padding,
9652 { "Padding", "lustre.llog_size_change_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9653 { &hf_lustre_mgs_target_info_mti_config_ver,
9654 { "Mti Config Ver", "lustre.mgs_target_info.mti_config_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9655 { &hf_lustre_cfg_marker_cm_createtime,
9656 { "Cm Createtime", "lustre.cfg_marker.cm_createtime",FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9657 { &hf_lustre_qunit_data_old_qd_count,
9658 { "Qd Count", "lustre.qunit_data_old.qd_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9659 { &hf_lustre_lov_mds_md_join_lmmj_array_id,
9660 { "Lmmj Array Id", "lustre.lov_mds_md_join.lmmj_array_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9661 { &hf_lustre_mds_rec_setattr_sa_uid,
9662 { "Sa Uid", "lustre.mds_rec_setattr.sa_uid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9663 { &hf_lustre_llog_catid_lci_padding1,
9664 { "Lci Padding1", "lustre.llog_catid.lci_padding1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9665 { &hf_lustre_mds_rec_setattr_sa_atime,
9666 { "Sa Atime", "lustre.mds_rec_setattr.sa_atime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9667 { &hf_lustre_lov_desc_ld_active_tgt_count,
9668 { "Ld Active Tgt Count", "lustre.lov_desc.ld_active_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9669 { &hf_lustre_obdo_o_lcookie,
9670 { "O Lcookie", "lustre.obdo.o_lcookie", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9671 { &hf_lustre_llog_gen_rec_lgr_gen,
9672 { "Lgr Gen", "lustre.llog_gen_rec.lgr_gen", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9673 { &hf_lustre_lov_user_ost_data_join_l_object_id,
9674 { "L Object Id", "lustre.lov_user_ost_data_join.l_object_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9675 { &hf_lustre_obdo_o_id,
9676 { "O Id", "lustre.obdo.o_id", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9677 { &hf_lustre_mgs_target_info_mti_uuid,
9678 { "Mti Uuid", "lustre.mgs_target_info.mti_uuid", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9679 { &hf_lustre_mds_rec_link_lk_padding_1,
9680 { "Lk Padding 1", "lustre.mds_rec_link.lk_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9681 { &hf_lustre_llog_rec_hdr_lrh_index,
9682 { "Lrh Index", "lustre.llog_rec_hdr.lrh_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9683 { &hf_lustre_llog_setattr_rec_lsr_hdr,
9684 { "Lsr Hdr", "lustre.llog_setattr_rec.lsr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9685 { &hf_lustre_mgs_target_info_mti_stripe_index,
9686 { "Mti Stripe Index", "lustre.mgs_target_info.mti_stripe_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9687 { &hf_lustre_llog_gen_conn_cnt,
9688 { "Conn Cnt", "lustre.llog_gen.conn_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9689 { &hf_lustre_obdo_o_padding_6,
9690 { "O Padding 6", "lustre.obdo.o_padding_6", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9691 { &hf_lustre_mds_rec_create_cr_suppgid,
9692 { "Cr Suppgid", "lustre.mds_rec_create.cr_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9693 { &hf_lustre_llog_cookie_lgc_index,
9694 { "Lgc Index", "lustre.llog_cookie.lgc_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9695 { &hf_lustre_lov_desc_ld_uuid,
9696 { "Ld Uuid", "lustre.lov_desc.ld_uuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9697 { &hf_lustre_llog_create_rec_lcr_oid,
9698 { "Lcr Oid", "lustre.llog_create_rec.lcr_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9699 { &hf_lustre_ldlm_reply_lock_desc,
9700 { "Lock Desc", "lustre.ldlm_reply.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9701 { &hf_lustre_lov_desc_ld_padding_0,
9702 { "Ld Padding 0", "lustre.lov_desc.ld_padding_0", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9703 { &hf_lustre_llog_unlink_rec_lur_ogen,
9704 { "Lur Ogen", "lustre.llog_unlink_rec.lur_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9705 { &hf_lustre_llog_orphan_rec_lor_hdr,
9706 { "Lor Hdr", "lustre.llog_orphan_rec.lor_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9707 { &hf_lustre_mds_rec_rename_rn_fsuid,
9708 { "Rn Fsuid", "lustre.mds_rec_rename.rn_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9709 { &hf_lustre_cfg_marker_cm_flags,
9710 { "Cm Flags", "lustre.cfg_marker.cm_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9711 { &hf_lustre_obdo_o_padding_3,
9712 { "O Padding 3", "lustre.obdo.o_padding_3", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9713 { &hf_lustre_lov_user_ost_data_join_l_ost_gen,
9714 { "L Ost Gen", "lustre.lov_user_ost_data_join.l_ost_gen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9715 { &hf_lustre_mds_rec_create_cr_fsuid,
9716 { "Cr Fsuid", "lustre.mds_rec_create.cr_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9717 { &hf_lustre_mds_rec_unlink_ul_fsgid,
9718 { "Ul Fsgid", "lustre.mds_rec_unlink.ul_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9719 { &hf_lustre_ldlm_request_lock_desc,
9720 { "Lock Desc", "lustre.ldlm_request.lock_desc", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9721 { &hf_lustre_lov_user_md_join_lmm_pattern,
9722 { "Lmm Pattern", "lustre.lov_user_md_join.lmm_pattern", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9723 { &hf_lustre_mds_rec_unlink_ul_fsuid,
9724 { "Ul Fsuid", "lustre.mds_rec_unlink.ul_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9725 { &hf_lustre_mds_rec_link_lk_suppgid2,
9726 { "Lk Suppgid2", "lustre.mds_rec_link.lk_suppgid2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9727 { &hf_lustre_llog_orphan_rec_padding,
9728 { "Padding", "lustre.llog_orphan_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9729 { &hf_lustre_lov_user_md_join_lmm_tree_gen,
9730 { "Lmm Tree Gen", "lustre.lov_user_md_join.lmm_tree_gen", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9731 { &hf_lustre_obdo_o_flags,
9732 { "O Flags", "lustre.obdo.o_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9733 { &hf_lustre_mgs_target_info_mti_params,
9734 { "Mti Params", "lustre.mgs_target_info.mti_params", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9735 { &hf_lustre_llog_logid_lgl_ogen,
9736 { "Lgl Ogen", "lustre.llog_logid.lgl_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9737 { &hf_lustre_mds_rec_setattr_sa_valid,
9738 { "Sa Valid", "lustre.mds_rec_setattr.sa_valid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9739 { &hf_lustre_cfg_marker_cm_comment,
9740 { "Cm Comment", "lustre.cfg_marker.cm_comment", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9741 { &hf_lustre_llog_unlink_rec_lur_oid,
9742 { "Lur Oid", "lustre.llog_unlink_rec.lur_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9743 { &hf_lustre_qunit_data_qd_count,
9744 { "Qd Count", "lustre.qunit_data.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9745 { &hf_lustre_mds_rec_rename_rn_padding_1,
9746 { "Rn Padding 1", "lustre.mds_rec_rename.rn_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9747 { &hf_lustre_obdo_o_mtime,
9748 { "O Mtime", "lustre.obdo.o_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9749 { &hf_lustre_lov_mds_md_join_lmmj_md,
9750 { "Lmmj Md", "lustre.lov_mds_md_join.lmmj_md", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9751 { &hf_lustre_mds_rec_rename_rn_fsgid,
9752 { "Rn Fsgid", "lustre.mds_rec_rename.rn_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9753 { &hf_lustre_mds_rec_rename_rn_cap,
9754 { "Rn Cap", "lustre.mds_rec_rename.rn_cap", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9755 { &hf_lustre_obdo_o_blksize,
9756 { "O Blksize", "lustre.obdo.o_blksize", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9757 { &hf_lustre_mds_rec_unlink_ul_suppgid,
9758 { "Ul Suppgid", "lustre.mds_rec_unlink.ul_suppgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9759 { &hf_lustre_ldlm_res_id_name,
9760 { "Name", "lustre.ldlm_res_id.name", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9761 { &hf_lustre_mds_rec_link_lk_time,
9762 { "Lk Time", "lustre.mds_rec_link.lk_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9763 { &hf_lustre_ldlm_reply_lock_handle,
9764 { "Lock Handle", "lustre.ldlm_reply.lock_handle", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9765 { &hf_lustre_mds_rec_unlink_ul_padding_3,
9766 { "Ul Padding 3", "lustre.mds_rec_unlink.ul_padding_3", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9767 { &hf_lustre_llogd_body_lgd_saved_index,
9768 { "Lgd Saved Index", "lustre.llogd_body.lgd_saved_index", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9769 { &hf_lustre_mds_rec_join_jr_headsize,
9770 { "Jr Headsize", "lustre.mds_rec_join.jr_headsize", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9771 { &hf_lustre_mds_rec_rename_rn_padding_4,
9772 { "Rn Padding 4", "lustre.mds_rec_rename.rn_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9773 { &hf_lustre_qunit_data_old_qd_isblk,
9774 { "Qd Isblk", "lustre.qunit_data_old.qd_isblk", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9775 { &hf_lustre_obdo_o_blocks,
9776 { "O Blocks", "lustre.obdo.o_blocks", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9777 { &hf_lustre_lov_desc_ld_padding_2,
9778 { "Ld Padding 2", "lustre.lov_desc.ld_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9779 { &hf_lustre_mds_rec_link_lk_fid2,
9780 { "Lk Fid2", "lustre.mds_rec_link.lk_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9781 { &hf_lustre_llog_logid_rec_lid_tail,
9782 { "Lid Tail", "lustre.llog_logid_rec.lid_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9783 { &hf_lustre_obdo_o_grant,
9784 { "O Grant", "lustre.obdo.o_grant", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9785 { &hf_lustre_obdo_o_padding_2,
9786 { "O Padding 2", "lustre.obdo.o_padding_2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9787 { &hf_lustre_quota_adjust_qunit_qaq_iunit_sz,
9788 { "Qaq Iunit Sz", "lustre.quota_adjust_qunit.qaq_iunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9789 { &hf_lustre_llog_unlink_rec_padding,
9790 { "Padding", "lustre.llog_unlink_rec.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9791 { &hf_lustre_ldlm_lock_desc_l_req_mode,
9792 { "L Req Mode", "lustre.ldlm_lock_desc.l_req_mode", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_mode_t_vals), 0, "", HFILL }},
9793 { &hf_lustre_ldlm_extent_end,
9794 { "End", "lustre.ldlm_extent.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9795 { &hf_lustre_llog_gen_rec_lgr_hdr,
9796 { "Lgr Hdr", "lustre.llog_gen_rec.lgr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9797 { &hf_lustre_llog_orphan_rec_lor_ogen,
9798 { "Lor Ogen", "lustre.llog_orphan_rec.lor_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9799 { &hf_lustre_lov_user_md_join_lmm_extent_count,
9800 { "Lmm Extent Count", "lustre.lov_user_md_join.lmm_extent_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9801 { &hf_lustre_mds_extent_desc_med_len,
9802 { "Med Len", "lustre.mds_extent_desc.med_len", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9803 { &hf_lustre_llogd_body_lgd_llh_flags,
9804 { "Lgd Llh Flags", "lustre.llogd_body.lgd_llh_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9805 { &hf_lustre_llog_array_rec_lmr_hdr,
9806 { "Lmr Hdr", "lustre.llog_array_rec.lmr_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9807 { &hf_lustre_llog_log_hdr_llh_cat_idx,
9808 { "Llh Cat Idx", "lustre.llog_log_hdr.llh_cat_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9809 { &hf_lustre_llog_log_hdr_llh_bitmap_offset,
9810 { "Llh Bitmap Offset", "lustre.llog_log_hdr.llh_bitmap_offset", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9811 { &hf_lustre_llog_orphan_rec_lor_oid,
9812 { "Lor Oid", "lustre.llog_orphan_rec.lor_oid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9813 { &hf_lustre_ldlm_reply_lock_padding,
9814 { "Lock Padding", "lustre.ldlm_reply.lock_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9815 { &hf_lustre_obd_quotactl_qc_id,
9816 { "Qc Id", "lustre.obd_quotactl.qc_id", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9817 { &hf_lustre_mds_rec_create_cr_padding_4,
9818 { "Cr Padding 4", "lustre.mds_rec_create.cr_padding_4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9819 { &hf_lustre_llog_logid_rec_padding4,
9820 { "Padding4", "lustre.llog_logid_rec.padding4", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9821 { &hf_lustre_mds_rec_link_lk_padding_2,
9822 { "Lk Padding 2", "lustre.mds_rec_link.lk_padding_2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9823 { &hf_lustre_llog_setattr_rec_lsr_gid,
9824 { "Lsr Gid", "lustre.llog_setattr_rec.lsr_gid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9825 { &hf_lustre_lov_user_md_join_lmm_magic,
9826 { "Lmm Magic", "lustre.lov_user_md_join.lmm_magic", FT_UINT32, BASE_HEX, VALS(lustre_lov_magic), 0, "", HFILL }},
9827 { &hf_lustre_obd_quotactl_qc_type,
9828 { "Qc Type", "lustre.obd_quotactl.qc_type", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9829 { &hf_lustre_cfg_marker_padding,
9830 { "Padding", "lustre.cfg_marker.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9831 { &hf_lustre_mgs_target_info_mti_nids,
9832 { "Mti Nids", "lustre.mgs_target_info.mti_nids", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9833 { &hf_lustre_lov_user_ost_data_join_l_extent_end,
9834 { "L Extent End", "lustre.lov_user_ost_data_join.l_extent_end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9835 { &hf_lustre_obdo_o_stripe_idx,
9836 { "O Stripe Idx", "lustre.obdo.o_stripe_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9837 { &hf_lustre_llogd_conn_body_lgdc_logid,
9838 { "Lgdc Logid", "lustre.llogd_conn_body.lgdc_logid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9839 { &hf_lustre_mds_rec_setattr_sa_fsuid,
9840 { "Sa Fsuid", "lustre.mds_rec_setattr.sa_fsuid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9841 { &hf_lustre_ldlm_flock_blocking_pid,
9842 { "Blocking Pid", "lustre.ldlm_flock.blocking_pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9843 { &hf_lustre_lov_desc_ld_tgt_count,
9844 { "Ld Tgt Count", "lustre.lov_desc.ld_tgt_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9845 { &hf_lustre_llogd_body_lgd_cur_offset,
9846 { "Lgd Cur Offset", "lustre.llogd_body.lgd_cur_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9847 { &hf_lustre_llog_create_rec_lcr_ogen,
9848 { "Lcr Ogen", "lustre.llog_create_rec.lcr_ogen", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9849 { &hf_lustre_qunit_data_old2_qd_count,
9850 { "Qd Count", "lustre.qunit_data_old2.qd_count", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9852 { "Operation", "lustre.opnum", FT_UINT16, BASE_DEC, NULL, 0, "", HFILL }},
9853 { &hf_lustre_qunit_data_old2_qd_flags,
9854 { "Qd Flags", "lustre.qunit_data_old2.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9855 { &hf_lustre_ldlm_flock_start,
9856 { "Start", "lustre.ldlm_flock.start", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9857 { &hf_lustre_quota_adjust_qunit_qaq_bunit_sz,
9858 { "Qaq Bunit Sz", "lustre.quota_adjust_qunit.qaq_bunit_sz", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9859 { &hf_lustre_llog_array_rec_lmr_tail,
9860 { "Lmr Tail", "lustre.llog_array_rec.lmr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9861 { &hf_lustre_ldlm_flock_pid,
9862 { "Pid", "lustre.ldlm_flock.pid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9863 { &hf_lustre_lov_desc_ld_default_stripe_size,
9864 { "Ld Default Stripe Size", "lustre.lov_desc.ld_default_stripe_size", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9865 { &hf_lustre_mds_rec_setattr_sa_opcode,
9866 { "Sa Opcode", "lustre.mds_rec_setattr.sa_opcode", FT_UINT32, BASE_DEC, VALS(lustre_mds_reint_t_vals), 0, "", HFILL }},
9867 { &hf_lustre_llog_log_hdr_llh_tgtuuid,
9868 { "Llh Tgtuuid", "lustre.llog_log_hdr.llh_tgtuuid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9869 { &hf_lustre_mds_rec_link_lk_fid1,
9870 { "Lk Fid1", "lustre.mds_rec_link.lk_fid1", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9871 { &hf_lustre_cfg_marker_cm_step,
9872 { "Cm Step", "lustre.cfg_marker.cm_step", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9873 { &hf_lustre_mgs_send_param_mgs_param,
9874 { "Mgs Param", "lustre.mgs_send_param.mgs_param", FT_UINT8, BASE_DEC, NULL, 0, "", HFILL }},
9875 { &hf_lustre_llog_create_rec_lcr_fid,
9876 { "Lcr Fid", "lustre.llog_create_rec.lcr_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9877 { &hf_lustre_lov_desc_ld_default_stripe_offset,
9878 { "Ld Default Stripe Offset", "lustre.lov_desc.ld_default_stripe_offset", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9879 { &hf_lustre_ldlm_resource_desc_lr_name,
9880 { "Lr Name", "lustre.ldlm_resource_desc.lr_name", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9881 { &hf_lustre_llog_rec_tail_lrt_len,
9882 { "Lrt Len", "lustre.llog_rec_tail.lrt_len", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9883 { &hf_lustre_mds_rec_setattr_sa_mtime,
9884 { "Sa Mtime", "lustre.mds_rec_setattr.sa_mtime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9885 { &hf_lustre_llog_log_hdr_llh_timestamp,
9886 { "Llh Timestamp", "lustre.llog_log_hdr.llh_timestamp", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9887 { &hf_lustre_llog_catid_lci_padding2,
9888 { "Lci Padding2", "lustre.llog_catid.lci_padding2", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9889 { &hf_lustre_llogd_conn_body_lgdc_ctxt_idx,
9890 { "Lgdc Ctxt Idx", "lustre.llogd_conn_body.lgdc_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9891 { &hf_lustre_cfg_marker_cm_canceltime,
9892 { "Cm Canceltime", "lustre.cfg_marker.cm_canceltime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9893 { &hf_lustre_mgs_target_info_mti_lustre_ver,
9894 { "Mti Lustre Ver", "lustre.mgs_target_info.mti_lustre_ver", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9895 { &hf_lustre_obdo_o_padding_1,
9896 { "O Padding 1", "lustre.obdo.o_padding_1", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9897 { &hf_lustre_qunit_data_qd_flags,
9898 { "Qd Flags", "lustre.qunit_data.qd_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9899 { &hf_lustre_llog_logid_rec_lid_id,
9900 { "Lid Id", "lustre.llog_logid_rec.lid_id", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9901 { &hf_lustre_obdo_o_generation,
9902 { "O Generation", "lustre.obdo.o_generation", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9903 { &hf_lustre_llog_gen_mnt_cnt,
9904 { "Mnt Cnt", "lustre.llog_gen.mnt_cnt", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9905 { &hf_lustre_llog_size_change_rec_lsc_tail,
9906 { "Lsc Tail", "lustre.llog_size_change_rec.lsc_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9907 { &hf_lustre_obdo_o_padding_5,
9908 { "O Padding 5", "lustre.obdo.o_padding_5", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9909 { &hf_lustre_ldlm_lock_desc_l_resource,
9910 { "L Resource", "lustre.ldlm_lock_desc.l_resource", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9911 { &hf_lustre_mds_rec_rename_rn_time,
9912 { "Rn Time", "lustre.mds_rec_rename.rn_time",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9913 { &hf_lustre_mds_rec_create_cr_rdev,
9914 { "Cr Rdev", "lustre.mds_rec_create.cr_rdev", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9915 { &hf_lustre_obdo_o_fid,
9916 { "O Fid", "lustre.obdo.o_fid", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9917 { &hf_lustre_mds_rec_setattr_sa_fid,
9918 { "Sa Fid", "lustre.mds_rec_setattr.sa_fid", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9919 { &hf_lustre_ldlm_request_lock_count,
9920 { "Lock Count", "lustre.ldlm_request.lock_count", FT_UINT32, BASE_HEX_DEC, NULL, 0, "", HFILL }},
9921 { &hf_lustre_ldlm_flock_end,
9922 { "End", "lustre.ldlm_flock.end", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9923 { &hf_lustre_mds_rec_link_lk_opcode,
9924 { "Lk Opcode", "lustre.mds_rec_link.lk_opcode", FT_UINT32, BASE_DEC,VALS(lustre_mds_reint_t_vals) , 0, "", HFILL }},
9925 { &hf_lustre_mgs_target_info_mti_nid_count,
9926 { "Mti Nid Count", "lustre.mgs_target_info.mti_nid_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9927 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9928 { &hf_lustre_mgs_target_info,
9929 { "mgs target info", "lustre.mgs_target_info", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9930 { &hf_lustre_mgs_send_param,
9931 { "mgs send param", "lustre.mgs_send_param", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9932 /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
9933 { &hf_lustre_ost_lvb,
9934 { "ost lvb data", "lustre.ost_lvb", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }},
9936 { &hf_lustre_obdo_o_ctime,
9937 { "O Ctime", "lustre.obdo.o_ctime",FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9938 { &hf_lustre_ldlm_reply_lock_policy_res2,
9939 { "Lock Policy Res2", "lustre.ldlm_reply.lock_policy_res2", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9940 { &hf_lustre_llogd_body_lgd_ctxt_idx,
9941 { "Lgd Ctxt Idx", "lustre.llogd_body.lgd_ctxt_idx", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9942 { &hf_lustre_mds_rec_unlink_ul_fid2,
9943 { "Ul Fid2", "lustre.mds_rec_unlink.ul_fid2", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9944 { &hf_lustre_lov_desc_ld_qos_maxage,
9945 { "Ld Qos Maxage", "lustre.lov_desc.ld_qos_maxage", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9946 { &hf_lustre_ldlm_resource_desc_lr_type,
9947 { "Lr Type", "lustre.ldlm_resource_desc.lr_type", FT_UINT16, BASE_DEC, VALS(lustre_ldlm_type_t_vals), 0, "", HFILL }},
9948 { &hf_lustre_llog_setattr_rec_lsr_tail,
9949 { "Lsr Tail", "lustre.llog_setattr_rec.lsr_tail", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9950 { &hf_lustre_llog_cookie_lgc_subsys,
9951 { "Lgc Subsys", "lustre.llog_cookie.lgc_subsys", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9952 { &hf_lustre_llog_log_hdr_llh_hdr,
9953 { "Llh Hdr", "lustre.llog_log_hdr.llh_hdr", FT_NONE, BASE_HEX, NULL, 0, "", HFILL }},
9954 { &hf_lustre_mds_rec_setattr_sa_fsgid,
9955 { "Sa Fsgid", "lustre.mds_rec_setattr.sa_fsgid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9956 { &hf_lustre_mds_rec_setattr_sa_padding,
9957 { "Sa Padding", "lustre.mds_rec_setattr.sa_padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9958 { &hf_lustre_lov_mds_md_join_lmmj_extent_count,
9959 { "Lmmj Extent Count", "lustre.lov_mds_md_join.lmmj_extent_count", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9960 { &hf_lustre_llog_log_hdr_llh_reserved,
9961 { "Llh Reserved", "lustre.llog_log_hdr.llh_reserved", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9963 { &hf_lustre_extra_padding,
9964 { "extra padding", "lustre.msg_v2_extra_padding", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9965 { &hf_lustre_ldlm_reply,
9966 { "ldlm reply", "lustre.ldlm_reply", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9967 { &hf_lustre_ldlm_request,
9968 { "ldlm request", "lustre.ldlm_request", FT_NONE, BASE_NONE, NULL, 0, "", HFILL}},
9970 /* add for lustre_user.h */
9971 { &hf_lustre_obd_dqinfo_dqi_valid,
9972 { "Dqi Valid", "lustre.obd_dqinfo.dqi_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9973 { &hf_lustre_obd_dqblk_dqb_isoftlimit,
9974 { "Dqb Isoftlimit", "lustre.obd_dqblk.dqb_isoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9975 { &hf_lustre_obd_dqblk_dqb_bhardlimit,
9976 { "Dqb Bhardlimit", "lustre.obd_dqblk.dqb_bhardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9977 { &hf_lustre_obd_dqblk_dqb_curspace,
9978 { "Dqb Curspace", "lustre.obd_dqblk.dqb_curspace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9979 { &hf_lustre_obd_dqblk_dqb_itime,
9980 { "Dqb Itime", "lustre.obd_dqblk.dqb_itime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9981 { &hf_lustre_obd_dqblk_dqb_valid,
9982 { "Dqb Valid", "lustre.obd_dqblk.dqb_valid", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9983 { &hf_lustre_obd_dqinfo_dqi_igrace,
9984 { "Dqi Igrace", "lustre.obd_dqinfo.dqi_igrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9985 { &hf_lustre_obd_dqinfo_dqi_bgrace,
9986 { "Dqi Bgrace", "lustre.obd_dqinfo.dqi_bgrace", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9987 { &hf_lustre_obd_dqblk_padding,
9988 { "Padding", "lustre.obd_dqblk.padding", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9989 { &hf_lustre_obd_dqblk_dqb_curinodes,
9990 { "Dqb Curinodes", "lustre.obd_dqblk.dqb_curinodes", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9991 { &hf_lustre_obd_dqblk_dqb_bsoftlimit,
9992 { "Dqb Bsoftlimit", "lustre.obd_dqblk.dqb_bsoftlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }},
9993 { &hf_lustre_obd_dqinfo_dqi_flags,
9994 { "Dqi Flags", "lustre.obd_dqinfo.dqi_flags", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }},
9995 { &hf_lustre_obd_dqblk_dqb_btime,
9996 { "Dqb Btime", "lustre.obd_dqblk.dqb_btime", FT_ABSOLUTE_TIME, BASE_DEC, NULL, 0, "", HFILL }},
9997 { &hf_lustre_obd_dqblk_dqb_ihardlimit,
9998 { "Dqb Ihardlimit", "lustre.obd_dqblk.dqb_ihardlimit", FT_UINT64, BASE_DEC, NULL, 0, "", HFILL }}
10003 static gint *ett[] = {
10005 &ett_lustre_lustre_handle_cookie,
10006 &ett_lustre_lustre_msg_v1,
10007 &ett_lustre_lustre_handle_v1,
10008 &ett_lustre_lustre_msg_v2,
10009 &ett_lustre_ptlrpc_body,
10010 &ett_lustre_lustre_handle_v2,
10011 &ett_lustre_obd_connect_data,
10012 &ett_lustre_lov_mds_md_v1,
10013 &ett_lustre_lov_ost_data_v1,
10014 &ett_lustre_obd_statfs,
10015 &ett_lustre_obd_ioobj,
10016 &ett_lustre_niobuf_remote,
10017 &ett_lustre_ost_lvb,
10018 &ett_lustre_ll_fid,
10019 &ett_lustre_mds_status_req,
10020 &ett_lustre_mds_body,
10021 &ett_lustre_obd_quotactl,
10022 &ett_lustre_obd_dqinfo,
10023 &ett_lustre_obd_dqblk,
10024 &ett_lustre_quota_adjust_qunit,
10025 &ett_lustre_mds_rec_setattr,
10026 &ett_lustre_mds_rec_create,
10027 &ett_lustre_mds_rec_join,
10028 &ett_lustre_mds_rec_link,
10029 &ett_lustre_mds_rec_unlink,
10030 &ett_lustre_mds_rec_rename,
10031 &ett_lustre_lov_desc,
10032 &ett_lustre_obd_uuid,
10033 &ett_lustre_ldlm_res_id,
10034 &ett_lustre_ldlm_extent,
10035 &ett_lustre_ldlm_inodebits,
10036 &ett_lustre_ldlm_flock,
10037 &ett_lustre_ldlm_intent_opc,
10038 &ett_lustre_ldlm_resource_desc,
10039 &ett_lustre_ldlm_res_id,
10040 &ett_lustre_ldlm_lock_desc,
10041 &ett_lustre_ldlm_resource_desc,
10042 &ett_lustre_ldlm_request,
10043 &ett_lustre_ldlm_lock_desc,
10044 &ett_lustre_lustre_handle,
10045 &ett_lustre_ldlm_reply,
10046 &ett_lustre_ldlm_lock_desc,
10047 &ett_lustre_lustre_handle,
10048 &ett_lustre_mgs_send_param,
10049 &ett_lustre_mgs_target_info,
10050 &ett_lustre_cfg_marker,
10051 &ett_lustre_llog_logid,
10052 &ett_lustre_llog_catid,
10053 &ett_lustre_llog_logid,
10054 &ett_lustre_lov_mds_md_join,
10055 &ett_lustre_lov_mds_md,
10056 &ett_lustre_llog_logid,
10057 &ett_lustre_llog_rec_hdr,
10058 &ett_lustre_llog_rec_tail,
10059 &ett_lustre_llog_logid_rec,
10060 &ett_lustre_llog_rec_hdr,
10061 &ett_lustre_llog_logid,
10062 &ett_lustre_llog_rec_tail,
10063 &ett_lustre_mds_extent_desc,
10064 &ett_lustre_lov_mds_md,
10065 &ett_lustre_llog_array_rec,
10066 &ett_lustre_llog_rec_hdr,
10067 &ett_lustre_mds_extent_desc,
10068 &ett_lustre_llog_rec_tail,
10069 &ett_lustre_llog_create_rec,
10070 &ett_lustre_llog_rec_hdr,
10071 &ett_lustre_ll_fid,
10072 &ett_lustre_llog_rec_tail,
10073 &ett_lustre_llog_orphan_rec,
10074 &ett_lustre_llog_rec_hdr,
10075 &ett_lustre_llog_rec_tail,
10076 &ett_lustre_llog_unlink_rec,
10077 &ett_lustre_llog_rec_hdr,
10078 &ett_lustre_llog_rec_tail,
10079 &ett_lustre_llog_setattr_rec,
10080 &ett_lustre_llog_rec_hdr,
10081 &ett_lustre_llog_rec_tail,
10082 &ett_lustre_llog_size_change_rec,
10083 &ett_lustre_llog_rec_hdr,
10084 &ett_lustre_ll_fid,
10085 &ett_lustre_llog_rec_tail,
10086 &ett_lustre_llog_gen,
10087 &ett_lustre_llog_gen_rec,
10088 &ett_lustre_llog_rec_hdr,
10089 &ett_lustre_llog_gen,
10090 &ett_lustre_llog_rec_tail,
10091 &ett_lustre_llog_log_hdr,
10092 &ett_lustre_llog_rec_hdr,
10093 &ett_lustre_obd_uuid,
10094 &ett_lustre_llog_rec_tail,
10095 &ett_lustre_llog_cookie,
10096 &ett_lustre_llog_logid,
10097 &ett_lustre_llogd_body,
10098 &ett_lustre_llog_logid,
10099 &ett_lustre_llogd_conn_body,
10100 &ett_lustre_llog_gen,
10101 &ett_lustre_llog_logid,
10102 &ett_lustre_lov_user_ost_data_join,
10103 &ett_lustre_lov_user_md_join,
10104 &ett_lustre_llog_logid,
10105 &ett_lustre_lov_user_ost_data_join,
10107 &ett_lustre_lustre_handle,
10108 &ett_lustre_llog_cookie,
10109 &ett_lustre_ost_body,
10111 &ett_lustre_qunit_data,
10112 &ett_lustre_qunit_data_old2,
10113 &ett_lustre_qunit_data_old,
10114 &ett_lustre_ldlm_lock_flags,
10115 &ett_lustre_llog_log_llh_flags,
10119 proto_lustre = proto_register_protocol("Lustre", "lustre", "lustre");
10120 proto_register_field_array(proto_lustre, hf, array_length (hf));
10121 proto_register_subtree_array(ett, array_length(ett));
10125 void proto_reg_handoff_lustre(void)
10127 dissector_handle_t lustre_handle;
10128 lustre_handle=create_dissector_handle(dissect_lustre, proto_lustre);
10129 /* we use Lustre only if we get ptl_index = One of this code (we have removed the bulk code) */
10130 /* in LNET we test if the message is a put or not before adding an lnet.ptl_index value */
10131 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
10132 dissector_add("lnet.ptl_index", CONNMGR_REQUEST_PORTAL , lustre_handle);
10133 dissector_add("lnet.ptl_index", CONNMGR_REPLY_PORTAL , lustre_handle);
10134 dissector_add("lnet.ptl_index", OSC_REPLY_PORTAL , lustre_handle);
10135 dissector_add("lnet.ptl_index", OST_IO_PORTAL , lustre_handle);
10136 dissector_add("lnet.ptl_index", OST_CREATE_PORTAL , lustre_handle);
10137 dissector_add("lnet.ptl_index", MDC_REPLY_PORTAL , lustre_handle);
10138 dissector_add("lnet.ptl_index", MDS_REQUEST_PORTAL , lustre_handle);
10139 dissector_add("lnet.ptl_index", LDLM_CB_REQUEST_PORTAL , lustre_handle);
10140 dissector_add("lnet.ptl_index", LDLM_CB_REPLY_PORTAL , lustre_handle);
10141 dissector_add("lnet.ptl_index", LDLM_CANCEL_REQUEST_PORTAL, lustre_handle);
10142 dissector_add("lnet.ptl_index", LDLM_CANCEL_REPLY_PORTAL , lustre_handle);
10143 dissector_add("lnet.ptl_index", MDS_SETATTR_PORTAL , lustre_handle);
10144 dissector_add("lnet.ptl_index", MDS_READPAGE_PORTAL , lustre_handle);
10145 dissector_add("lnet.ptl_index", MGC_REPLY_PORTAL , lustre_handle);
10146 dissector_add("lnet.ptl_index", MGS_REQUEST_PORTAL , lustre_handle);
10147 dissector_add("lnet.ptl_index", MGS_REPLY_PORTAL , lustre_handle);
10148 dissector_add("lnet.ptl_index", OST_REQUEST_PORTAL , lustre_handle);