diff options
Diffstat (limited to 'xlators/features/changelog/lib/src/changelog.h')
| -rw-r--r-- | xlators/features/changelog/lib/src/changelog.h | 22 | 
1 files changed, 16 insertions, 6 deletions
diff --git a/xlators/features/changelog/lib/src/changelog.h b/xlators/features/changelog/lib/src/changelog.h index 1e0df053a96..08307810704 100644 --- a/xlators/features/changelog/lib/src/changelog.h +++ b/xlators/features/changelog/lib/src/changelog.h @@ -16,13 +16,15 @@ struct gf_brick_spec;  /**   * Max bit shiter for event selection   */ -#define CHANGELOG_EV_SELECTION_RANGE  4 +#define CHANGELOG_EV_SELECTION_RANGE  5 -#define CHANGELOG_OP_TYPE_JOURNAL (1<<0) -#define CHANGELOG_OP_TYPE_OPEN    (1<<1) -#define CHANGELOG_OP_TYPE_CREATE  (1<<2) -#define CHANGELOG_OP_TYPE_RELEASE (1<<3) -#define CHANGELOG_OP_TYPE_MAX     (1<<CHANGELOG_EV_SELECTION_RANGE) +#define CHANGELOG_OP_TYPE_JOURNAL    (1<<0) +#define CHANGELOG_OP_TYPE_OPEN       (1<<1) +#define CHANGELOG_OP_TYPE_CREATE     (1<<2) +#define CHANGELOG_OP_TYPE_RELEASE    (1<<3) +#define CHANGELOG_OP_TYPE_BR_RELEASE (1<<4)  /* logical release (last close()), +                                                sent by bitrot stub */ +#define CHANGELOG_OP_TYPE_MAX        (1<<CHANGELOG_EV_SELECTION_RANGE)  struct ev_open { @@ -39,17 +41,25 @@ struct ev_release {          unsigned char gfid[16];  }; +struct ev_release_br { +        int32_t flags; +        unsigned long version; +        unsigned char gfid[16]; +}; +  struct ev_changelog {          char path[PATH_MAX];  };  typedef struct changelog_event {          unsigned int ev_type; +          union {                  struct ev_open open;                  struct ev_creat create;                  struct ev_release release;                  struct ev_changelog journal; +                struct ev_release_br releasebr;          } u;  } changelog_event_t;  | 
