| .. | .. |
|---|
| 258 | 258 | \ |
|---|
| 259 | 259 | /* tiering */ \ |
|---|
| 260 | 260 | f(COPY_FROM, __CEPH_OSD_OP(WR, DATA, 26), "copy-from") \ |
|---|
| 261 | + f(COPY_FROM2, __CEPH_OSD_OP(WR, DATA, 45), "copy-from2") \ |
|---|
| 261 | 262 | f(COPY_GET_CLASSIC, __CEPH_OSD_OP(RD, DATA, 27), "copy-get-classic") \ |
|---|
| 262 | 263 | f(UNDIRTY, __CEPH_OSD_OP(WR, DATA, 28), "undirty") \ |
|---|
| 263 | 264 | f(ISDIRTY, __CEPH_OSD_OP(RD, DATA, 29), "isdirty") \ |
|---|
| .. | .. |
|---|
| 412 | 413 | enum { |
|---|
| 413 | 414 | CEPH_OSD_OP_FLAG_EXCL = 1, /* EXCL object create */ |
|---|
| 414 | 415 | CEPH_OSD_OP_FLAG_FAILOK = 2, /* continue despite failure */ |
|---|
| 416 | + CEPH_OSD_OP_FLAG_FADVISE_RANDOM = 0x4, /* the op is random */ |
|---|
| 417 | + CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL = 0x8, /* the op is sequential */ |
|---|
| 418 | + CEPH_OSD_OP_FLAG_FADVISE_WILLNEED = 0x10,/* data will be accessed in |
|---|
| 419 | + the near future */ |
|---|
| 420 | + CEPH_OSD_OP_FLAG_FADVISE_DONTNEED = 0x20,/* data will not be accessed |
|---|
| 421 | + in the near future */ |
|---|
| 422 | + CEPH_OSD_OP_FLAG_FADVISE_NOCACHE = 0x40,/* data will be accessed only |
|---|
| 423 | + once by this client */ |
|---|
| 415 | 424 | }; |
|---|
| 416 | 425 | |
|---|
| 417 | 426 | #define EOLDSNAPC ERESTART /* ORDERSNAP flag set; writer has old snapc*/ |
|---|
| 418 | | -#define EBLACKLISTED ESHUTDOWN /* blacklisted */ |
|---|
| 427 | +#define EBLOCKLISTED ESHUTDOWN /* blocklisted */ |
|---|
| 419 | 428 | |
|---|
| 420 | 429 | /* xattr comparison */ |
|---|
| 421 | 430 | enum { |
|---|
| .. | .. |
|---|
| 434 | 443 | }; |
|---|
| 435 | 444 | |
|---|
| 436 | 445 | enum { |
|---|
| 446 | + CEPH_OSD_COPY_FROM_FLAG_FLUSH = 1, /* part of a flush operation */ |
|---|
| 447 | + CEPH_OSD_COPY_FROM_FLAG_IGNORE_OVERLAY = 2, /* ignore pool overlay */ |
|---|
| 448 | + CEPH_OSD_COPY_FROM_FLAG_IGNORE_CACHE = 4, /* ignore osd cache logic */ |
|---|
| 449 | + CEPH_OSD_COPY_FROM_FLAG_MAP_SNAP_CLONE = 8, /* map snap direct to |
|---|
| 450 | + * cloneid */ |
|---|
| 451 | + CEPH_OSD_COPY_FROM_FLAG_RWORDERED = 16, /* order with write */ |
|---|
| 452 | + CEPH_OSD_COPY_FROM_FLAG_TRUNCATE_SEQ = 32, /* send truncate_{seq,size} */ |
|---|
| 453 | +}; |
|---|
| 454 | + |
|---|
| 455 | +enum { |
|---|
| 437 | 456 | CEPH_OSD_WATCH_OP_UNWATCH = 0, |
|---|
| 438 | 457 | CEPH_OSD_WATCH_OP_LEGACY_WATCH = 1, |
|---|
| 439 | 458 | /* note: use only ODD ids to prevent pre-giant code from |
|---|
| .. | .. |
|---|
| 444 | 463 | }; |
|---|
| 445 | 464 | |
|---|
| 446 | 465 | const char *ceph_osd_watch_op_name(int o); |
|---|
| 466 | + |
|---|
| 467 | +enum { |
|---|
| 468 | + CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_WRITE = 1, |
|---|
| 469 | + CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_WRITE = 2, |
|---|
| 470 | + CEPH_OSD_ALLOC_HINT_FLAG_SEQUENTIAL_READ = 4, |
|---|
| 471 | + CEPH_OSD_ALLOC_HINT_FLAG_RANDOM_READ = 8, |
|---|
| 472 | + CEPH_OSD_ALLOC_HINT_FLAG_APPEND_ONLY = 16, |
|---|
| 473 | + CEPH_OSD_ALLOC_HINT_FLAG_IMMUTABLE = 32, |
|---|
| 474 | + CEPH_OSD_ALLOC_HINT_FLAG_SHORTLIVED = 64, |
|---|
| 475 | + CEPH_OSD_ALLOC_HINT_FLAG_LONGLIVED = 128, |
|---|
| 476 | + CEPH_OSD_ALLOC_HINT_FLAG_COMPRESSIBLE = 256, |
|---|
| 477 | + CEPH_OSD_ALLOC_HINT_FLAG_INCOMPRESSIBLE = 512, |
|---|
| 478 | +}; |
|---|
| 447 | 479 | |
|---|
| 448 | 480 | enum { |
|---|
| 449 | 481 | CEPH_OSD_BACKOFF_OP_BLOCK = 1, |
|---|
| .. | .. |
|---|
| 498 | 530 | struct { |
|---|
| 499 | 531 | __le64 expected_object_size; |
|---|
| 500 | 532 | __le64 expected_write_size; |
|---|
| 533 | + __le32 flags; /* CEPH_OSD_OP_ALLOC_HINT_FLAG_* */ |
|---|
| 501 | 534 | } __attribute__ ((packed)) alloc_hint; |
|---|
| 535 | + struct { |
|---|
| 536 | + __le64 snapid; |
|---|
| 537 | + __le64 src_version; |
|---|
| 538 | + __u8 flags; /* CEPH_OSD_COPY_FROM_FLAG_* */ |
|---|
| 539 | + /* |
|---|
| 540 | + * CEPH_OSD_OP_FLAG_FADVISE_*: fadvise flags |
|---|
| 541 | + * for src object, flags for dest object are in |
|---|
| 542 | + * ceph_osd_op::flags. |
|---|
| 543 | + */ |
|---|
| 544 | + __le32 src_fadvise_flags; |
|---|
| 545 | + } __attribute__ ((packed)) copy_from; |
|---|
| 502 | 546 | }; |
|---|
| 503 | 547 | __le32 payload_len; |
|---|
| 504 | 548 | } __attribute__ ((packed)); |
|---|