OZI_POS_REAL = 3, /* cursor at real entries */
};
+/*
+ * regular ZFS direntry
+ */
+struct zpl_direntry {
+ uint64_t zde_dnode:48,
+ zde_pad:12,
+ zde_type:4;
+} __attribute__((packed));
+
+/*
+ * lustre direntry adds a fid to regular ZFS direntry
+ */
+struct luz_direntry {
+ struct zpl_direntry lzd_reg;
+ struct lu_fid lzd_fid;
+} __attribute__((packed));
+
/**
* Iterator's in-memory data structure for ZAPs
*
struct osd_object *ozi_obj;
unsigned ozi_reset:1; /* 1 -- no need to advance */
/* ozi_pos - position of the cursor */
- enum osd_zap_pos ozi_pos;
+ enum osd_zap_pos ozi_pos;
+ struct luz_direntry ozi_zde;
+ zap_attribute_t ozi_za;
union {
char ozi_name[MAXNAMELEN]; /* file name for dir */
__u64 ozi_key; /* binary key for index files */
};
#define DT_IT2DT(it) (&((struct osd_zap_it *)it)->ozi_obj->oo_dt)
-/*
- * regular ZFS direntry
- */
-struct zpl_direntry {
- uint64_t zde_dnode:48,
- zde_pad:12,
- zde_type:4;
-} __attribute__((packed));
-
-/*
- * lustre direntry adds a fid to regular ZFS direntry
- */
-struct luz_direntry {
- struct zpl_direntry lzd_reg;
- struct lu_fid lzd_fid;
-} __attribute__((packed));
-
-
/* cached SA attributes */
struct osa_attr {
uint64_t mode;
struct lu_buf oti_xattr_lbuf;
zap_cursor_t oti_zc;
zap_cursor_t oti_zc2;
+
+ char *oti_seq_name;
+ char *oti_dir_name;
};
extern struct lu_context_key osd_key;