hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/include/linux/ceph/rados.h
....@@ -258,6 +258,7 @@
258258 \
259259 /* tiering */ \
260260 f(COPY_FROM, __CEPH_OSD_OP(WR, DATA, 26), "copy-from") \
261
+ f(COPY_FROM2, __CEPH_OSD_OP(WR, DATA, 45), "copy-from2") \
261262 f(COPY_GET_CLASSIC, __CEPH_OSD_OP(RD, DATA, 27), "copy-get-classic") \
262263 f(UNDIRTY, __CEPH_OSD_OP(WR, DATA, 28), "undirty") \
263264 f(ISDIRTY, __CEPH_OSD_OP(RD, DATA, 29), "isdirty") \
....@@ -412,10 +413,18 @@
412413 enum {
413414 CEPH_OSD_OP_FLAG_EXCL = 1, /* EXCL object create */
414415 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 */
415424 };
416425
417426 #define EOLDSNAPC ERESTART /* ORDERSNAP flag set; writer has old snapc*/
418
-#define EBLACKLISTED ESHUTDOWN /* blacklisted */
427
+#define EBLOCKLISTED ESHUTDOWN /* blocklisted */
419428
420429 /* xattr comparison */
421430 enum {
....@@ -434,6 +443,16 @@
434443 };
435444
436445 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 {
437456 CEPH_OSD_WATCH_OP_UNWATCH = 0,
438457 CEPH_OSD_WATCH_OP_LEGACY_WATCH = 1,
439458 /* note: use only ODD ids to prevent pre-giant code from
....@@ -444,6 +463,19 @@
444463 };
445464
446465 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
+};
447479
448480 enum {
449481 CEPH_OSD_BACKOFF_OP_BLOCK = 1,
....@@ -498,7 +530,19 @@
498530 struct {
499531 __le64 expected_object_size;
500532 __le64 expected_write_size;
533
+ __le32 flags; /* CEPH_OSD_OP_ALLOC_HINT_FLAG_* */
501534 } __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;
502546 };
503547 __le32 payload_len;
504548 } __attribute__ ((packed));