This adds a new RENAME_WHITEOUT flag. This flag makes rename() create a whiteout of source. The whiteout creation is atomic relative to the rename.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -37,6 +37,7 @@ · 36 unmodified lines | ||
| 37 | 37 | |
| 38 | 38 | #define RENAME_NOREPLACE (1 << 0) /* Don't overwrite target */ |
| 39 | 39 | #define RENAME_EXCHANGE (1 << 1) /* Exchange source and dest */ |
| 40 | +#define RENAME_WHITEOUT (1 << 2) /* Whiteout source */ | |
| 40 | 41 | |
| 41 | 42 | struct fstrim_range { |
| 42 | 43 | __u64 start; |