fix: storage tables grow (handles, open files, encrypted opens, grants: Slots/Vec, no 8/16 caps; release follows all narrowed grants); storage says FULL, init spawn STORAGE_BUSY (was NOT_FOUND), pm BUSY; cap slots per process 64 -> 255
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
use crate::macros::bounded;
|
||||
|
||||
// Kani runs the real kernel with tiny tables; see kernel/src/proofs.
|
||||
bounded!(CapSlot, u8, 0, if cfg!(kani) { 3 } else { 63 });
|
||||
// 254 at most: `start_arg` hands a slot over as its value plus one, in a byte.
|
||||
bounded!(CapSlot, u8, 0, if cfg!(kani) { 3 } else { 254 });
|
||||
bounded!(Priority, u8, 0, 31);
|
||||
// A caller a server thread saved to answer later; a thread keeps up to 8.
|
||||
bounded!(SavedReply, u8, 0, 7);
|
||||
|
||||
@@ -43,6 +43,8 @@ pub mod reply {
|
||||
/// The limits do not fit in what is left of the client's allowance.
|
||||
pub const OVER_ALLOWANCE: usize = 2;
|
||||
pub const ERROR: usize = 3;
|
||||
/// Storage has no connection free to read the program through.
|
||||
pub const STORAGE_BUSY: usize = 4;
|
||||
}
|
||||
|
||||
/// Pages in bits 0..32, endpoints, notifications and regions a byte each
|
||||
|
||||
@@ -75,4 +75,6 @@ pub mod reply {
|
||||
pub const GRANTED: usize = 11;
|
||||
/// Outside the caller's scope, beyond its rights, or no grant at all.
|
||||
pub const DENIED: usize = 12;
|
||||
/// Every connection is in use (`MAX_CLIENTS`): try again later.
|
||||
pub const FULL: usize = 13;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user