class type shared_state_t =This object exists once in theobject..end
nn_master container, and collects
information from not yet committed views (such as which ID's are
used), so that the views can avoid clashes between each other.
Also caching of committed values.method event_system : Unixqueue.event_systemmethod node_config : Nn_config.nn_node_configmethod cur_rev_ident : stringmethod new_rev_ident : unit -> stringmethod set_rev_ident : string -> unitcur_rev_identmethod datastore_max_id : int optionmethod datastore_use_id : int -> unitmethod inode_max_id : int64 optionmethod inode_use_id : int64 -> unitmethod inode_get_new_id_serialized : (Unixqueue.event_system -> int64 Uq_engines.engine) ->
int64 Uq_engines.enginemethod finish_transaction_serialized : (Unixqueue.event_system -> bool Uq_engines.engine) -> bool Uq_engines.enginefinish_transaction_serialized f: Run f esys in a serialized
way. This is intended for finishing the transaction, i.e. that
globally only one commit or rollback can be done at a timemethod slaves : (string * Rpc_proxy.ManagedClient.mclient * bool Pervasives.ref) listmethod enough_slaves : boolmethod master : stringmethod master_enabled : bool Pervasives.refmethod exists_blockmap : string -> boolmethod create_blockmap : Nn_blockmap.blockmap_t -> unitcreate_blockmap m: Creates a map of free/used/reserved
blocks.method blockmaps : Nn_blockmap.blockmap_t listmethod get_blockmap : string -> Nn_blockmap.blockmap_tNot_foundmethod blockmap_get_e : identity:string -> Nn_blockmap.blockmap_t Uq_engines.enginemethod blockmap_prioritizer : unit Uq_engines.prioritizer
The blockmap commit is part of the post_commit actions.
For simplicity the whole post_commit is prioritized this way.
The important "other access" is setting the keep bits. This
must not overlap with blockmap commits.
method forget_identity : string -> unitmethod lock_inode : int64 -> < > -> (unit -> unit) optionSome unlock if successful where calling unlock removes
the lock, or reverts to the previous state (1-step undo)method unlock_inodes : < > -> unitmethod lock_filename : int64 * string ->
[ `Exists | `Link | `Unlink ] -> < > -> (unit -> unit) optionlock_filename (dir_inode,name) lock_type owner: Locks the name
member of directory dir_inode.
Lock types:
`Link: States that the file is created, and must not be
created by another transaction. A `Link lock is exlusive. `Unlink: States that the file is removed, and must not be
removed by another transaction. An `Unlink lock is exclusive.`Exists: States that the file exists. Several transactions can
request this. (Used for ensuring that parent directories exist
until the end of the transaction.)`Unlink to `Link). It is also
possible that a lock already exists with stronger guarantees (e.g.
we have already `Link which implies `Exists).
Returns Some unlock if successful where calling unlock removes
the lock, or reverts to the previous state (1-step undo).
method unlock_filenames : < > -> unit