cubelinux: the release starts with a digit, because module tooling demands it
The store's sort no longer lives on the kernel stack (heapsort, see the parent commit's gate), and the release is now 6.19.3-cubelinux0.6 instead of CUBELinux.0.6 — depmod/mkinitramfs reject a version whose first character is not numeric, so the literal name cannot be uname -r. The box's own kernel uses the same shape (6.19.3-cube+); this is the same concession.
This commit is contained in:
@@ -40,5 +40,29 @@ struct cube_args {
|
||||
#define CUBE_OP_GET 2 /* read them back */
|
||||
#define CUBE_OP_DEL 3 /* remove the record */
|
||||
#define CUBE_OP_SYNC 4 /* fold the log into the image */
|
||||
#define CUBE_OP_ENUM 5 /* walk the records of a space, in batches */
|
||||
#define CUBE_OP_SPACES 6 /* walk the spaces that hold records */
|
||||
|
||||
/*
|
||||
* The walk's argument block: its own block rather than a wider `cube_args`, because it needs a
|
||||
* cursor and a buffer, and the coordinate would otherwise be both an input and an output.
|
||||
*
|
||||
* Records are packed as `key(24) | value_len(u32, little-endian) | value`, in the store's own
|
||||
* order — space first, then key — which is the order a checkpoint writes them and the order the
|
||||
* userspace store returns them, so a kernel listing and a userspace listing can be compared
|
||||
* directly. The space is not repeated per record: the caller named it.
|
||||
*/
|
||||
struct cube_enum_args {
|
||||
__u32 size; /* sizeof(struct cube_enum_args) as the caller built it */
|
||||
__u32 op; /* CUBE_OP_ENUM or CUBE_OP_SPACES */
|
||||
__u8 space[32]; /* in: the space to walk; out: the space found (CUBE_OP_SPACES) */
|
||||
__u64 cursor; /* in: 0 to start, or what the last call returned;
|
||||
* out: what to pass next
|
||||
*/
|
||||
__u64 value; /* user pointer: where to put the records */
|
||||
__u64 len; /* in: the buffer's capacity;
|
||||
* out: bytes written, or on -ERANGE what would be needed
|
||||
*/
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_CUBE_H */
|
||||
|
||||
Reference in New Issue
Block a user