| @@ -96,6 +96,11 @@ · 95 unmodified lines |
| 96 | * | 96 | * |
| 97 | * 7.23 | 97 | * 7.23 |
| 98 | * - add FUSE_WRITEBACK_CACHE | 98 | * - add FUSE_WRITEBACK_CACHE |
| | 99 | * - add time_gran to fuse_init_out |
| | 100 | * - add reserved space to fuse_init_out |
| | 101 | * - add FATTR_CTIME |
| | 102 | * - add ctime and ctimensec to fuse_setattr_in |
| | 103 | * - add FUSE_RENAME2 request |
| 99 | */ | 104 | */ |
| 100 | | 105 | |
| 101 | #ifndef _LINUX_FUSE_H | 106 | #ifndef _LINUX_FUSE_H |
| @@ -191,6 +196,7 @@ struct fuse_file_lock { · 89 unmodified lines |
| 191 | #define FATTR_ATIME_NOW (1 << 7) | 196 | #define FATTR_ATIME_NOW (1 << 7) |
| 192 | #define FATTR_MTIME_NOW (1 << 8) | 197 | #define FATTR_MTIME_NOW (1 << 8) |
| 193 | #define FATTR_LOCKOWNER (1 << 9) | 198 | #define FATTR_LOCKOWNER (1 << 9) |
| | 199 | #define FATTR_CTIME (1 << 10) |
| 194 | | 200 | |
| 195 | /** | 201 | /** |
| 196 | * Flags returned by the OPEN request | 202 | * Flags returned by the OPEN request |
| @@ -348,6 +354,7 @@ enum fuse_opcode { · 151 unmodified lines |
| 348 | FUSE_BATCH_FORGET = 42, | 354 | FUSE_BATCH_FORGET = 42, |
| 349 | FUSE_FALLOCATE = 43, | 355 | FUSE_FALLOCATE = 43, |
| 350 | FUSE_READDIRPLUS = 44, | 356 | FUSE_READDIRPLUS = 44, |
| | 357 | FUSE_RENAME2 = 45, |
| 351 | | 358 | |
| 352 | /* CUSE specific operations */ | 359 | /* CUSE specific operations */ |
| 353 | CUSE_INIT = 4096, | 360 | CUSE_INIT = 4096, |
| @@ -426,6 +433,12 @@ struct fuse_rename_in { · 72 unmodified lines |
| 426 | uint64_t newdir; | 433 | uint64_t newdir; |
| 427 | }; | 434 | }; |
| 428 | | 435 | |
| | 436 | struct fuse_rename2_in { |
| | 437 | uint64_t newdir; |
| | 438 | uint32_t flags; |
| | 439 | uint32_t padding; |
| | 440 | }; |
| | 441 | |
| 429 | struct fuse_link_in { | 442 | struct fuse_link_in { |
| 430 | uint64_t oldnodeid; | 443 | uint64_t oldnodeid; |
| 431 | }; | 444 | }; |
| @@ -438,10 +451,10 @@ struct fuse_setattr_in { · 6 unmodified lines |
| 438 | uint64_t lock_owner; | 451 | uint64_t lock_owner; |
| 439 | uint64_t atime; | 452 | uint64_t atime; |
| 440 | uint64_t mtime; | 453 | uint64_t mtime; |
| 441 | uint64_t unused2; | 454 | uint64_t ctime; |
| 442 | uint32_t atimensec; | 455 | uint32_t atimensec; |
| 443 | uint32_t mtimensec; | 456 | uint32_t mtimensec; |
| 444 | uint32_t unused3; | 457 | uint32_t ctimensec; |
| 445 | uint32_t mode; | 458 | uint32_t mode; |
| 446 | uint32_t unused4; | 459 | uint32_t unused4; |
| 447 | uint32_t uid; | 460 | uint32_t uid; |
| @@ -559,6 +572,9 @@ struct fuse_init_in { · 111 unmodified lines |
| 559 | uint32_t flags; | 572 | uint32_t flags; |
| 560 | }; | 573 | }; |
| 561 | | 574 | |
| | 575 | #define FUSE_COMPAT_INIT_OUT_SIZE 8 |
| | 576 | #define FUSE_COMPAT_22_INIT_OUT_SIZE 24 |
| | 577 | |
| 562 | struct fuse_init_out { | 578 | struct fuse_init_out { |
| 563 | uint32_t major; | 579 | uint32_t major; |
| 564 | uint32_t minor; | 580 | uint32_t minor; |
| @@ -567,6 +583,8 @@ struct fuse_init_out { · 2 unmodified lines |
| 567 | uint16_t max_background; | 583 | uint16_t max_background; |
| 568 | uint16_t congestion_threshold; | 584 | uint16_t congestion_threshold; |
| 569 | uint32_t max_write; | 585 | uint32_t max_write; |
| | 586 | uint32_t time_gran; |
| | 587 | uint32_t unused[9]; |
| 570 | }; | 588 | }; |
| 571 | | 589 | |
| 572 | #define CUSE_INIT_INFO_MAX 4096 | 590 | #define CUSE_INIT_INFO_MAX 4096 |