}
}
+const char *ceph_osd_alloc_hint_flag_name(int f)
+{
+ switch (f) {
+ case CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_WRITE:
+ return "sequential_write";
+ case CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_WRITE:
+ return "random_write";
+ case CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_READ:
+ return "sequential_read";
+ case CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_READ:
+ return "random_read";
+ case CEPH_OSD_ALLOC_HINT_FLAG_APPEND_ONLY:
+ return "append_only";
+ case CEPH_OSD_ALLOC_HINT_FLAG_IMMUTABLE:
+ return "immutable";
+ case CEPH_OSD_ALLOC_HINT_FLAG_SHORTLIVED:
+ return "shortlived";
+ case CEPH_OSD_ALLOC_HINT_FLAG_LONGLIVED:
+ return "longlived";
+ default:
+ return "???";
+ }
+}
+
const char *ceph_mds_state_name(int s)
{
switch (s) {
const char *ceph_osd_watch_op_name(int o);
+enum {
+ CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_WRITE = 1,
+ CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_WRITE = 2,
+ CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_READ = 4,
+ CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_READ = 8,
+ CEPH_OSD_ALLOC_HINT_FLAG_APPEND_ONLY = 16,
+ CEPH_OSD_ALLOC_HINT_FLAG_IMMUTABLE = 32,
+ CEPH_OSD_ALLOC_HINT_FLAG_SHORTLIVED = 64,
+ CEPH_OSD_ALLOC_HINT_FLAG_LONGLIVED = 128,
+};
+
+const char *ceph_osd_alloc_hint_flag_name(int f);
+
/*
* an individual object operation. each may be accompanied by some data
* payload
struct {
__le64 expected_object_size;
__le64 expected_write_size;
+ __le32 flags; /* CEPH_OSD_OP_ALLOC_HINT_FLAG_* */
} __attribute__ ((packed)) alloc_hint;
struct {
__le64 offset;