sig
type errno = Plasma_util.errno
exception Transaction_error of Nn_state.errno
type owner
val create_owner : unit -> Nn_state.owner
val string_of_owner : Nn_state.owner -> string
class type shared_state_t =
object
method blockmap_get_e :
identity:string -> Nn_blockmap.blockmap_t Uq_engines.engine
method blockmap_serialized :
int64 list ->
(Unixqueue.event_system -> unit Uq_engines.engine) ->
unit Uq_engines.engine
method blockmaps : Nn_blockmap.blockmap_t list
method cauth : Pfs_auth.client_auth
method cur_rev_ident : string
method datastore_max_id : int option
method datastore_use_id : int -> unit
method disable_master : unit -> unit
method disable_slave : string -> unit
method enough_slaves : bool
method event_system : Unixqueue.event_system
method finish_transaction_serialized :
(Unixqueue.event_system -> bool Uq_engines.engine) ->
bool Uq_engines.engine
method forget_identity : string -> unit
method get_blockmap : string -> Nn_blockmap.blockmap_t
method inode_get_new_id_serialized :
(Unixqueue.event_system -> int64 Uq_engines.engine) ->
int64 Uq_engines.engine
method inode_max_id : int64 option
method inode_use_id : int64 -> unit
method is_slave_disabled : string -> bool
method lock_filename :
int64 * string ->
[ `Exists | `Link | `Unlink ] ->
Nn_state.owner -> (unit -> unit) option
method lock_inode : int64 -> Nn_state.owner -> (unit -> unit) option
method master : string
method master_enabled : bool
method minimum_slaves : int
method new_rev_ident : unit -> string
method node_config : Nn_config.nn_node_config
method set_rev_ident : string -> unit
method slaves : (string * Rpc_proxy.ManagedClient.mclient * bool) list
method unlock_filenames : Nn_state.owner -> unit
method unlock_inodes : Nn_state.owner -> unit
end
type sh_state_shm
type journal = Nn_db.modification Queue.t
class type view_t =
object
method post_commit : bool -> unit
method pre_commit : Nn_state.journal
method rollback : unit -> unit
end
class type ds_view_t =
object
method admin_table_put_e :
key:string -> contents:string -> unit Uq_engines.engine
method datastore_del_e : id:int -> unit Uq_engines.engine
method datastore_list_e :
unit -> Nn_datastores.datastore list Uq_engines.engine
method datastore_new_id_e : unit -> int Uq_engines.engine
method datastore_upd_e :
id:int ->
identity:string ->
size:int64 -> enabled:bool -> unit Uq_engines.engine
method post_commit : bool -> unit
method pre_commit : journal
method rollback : unit -> unit
end
class type bm_view_t =
object
method blockmap_alloc_e :
inode:int64 ->
rpolicy:Nn_alloc_types.rpolicy ->
index:int64 ->
number:int ->
pref:string list ->
Nn_alloc_types.transacted_datastores ->
Nn_blockmap.reserve_info -> Nn_blocklist.blocklist Uq_engines.engine
method blockmap_allocsize : int
method blockmap_dealloc_e :
inode:int64 ->
(string * int64 * int64) list -> unit Uq_engines.engine
method blockmap_get_e :
identity:string -> Nn_blockmap.blockmap_t Uq_engines.engine
method blockmap_load_e : unit -> unit Uq_engines.engine
method blockmap_pin :
inode:int64 -> (string * int64 * int64) list -> unit
method post_commit : bool -> unit
method pre_commit : journal
method release : unit -> unit
method rollback : unit -> unit
end
class type inode_view_t =
object
method allocinfo_get_e :
id:int64 -> Nn_db.allocinfo list Uq_engines.engine
method as_owner : Nn_state.owner
method delayed_inode_deletes : int64 list
method filename_count_e : inode:int64 -> int Uq_engines.engine
method filename_get_e :
dir_inode:int64 -> name:string -> int64 option Uq_engines.engine
method filename_link_e :
dir_inode:int64 ->
name:string -> inode:int64 -> unit Uq_engines.engine
method filename_list_e :
dir_inode:int64 -> (string * int64) list Uq_engines.engine
method filename_parent_dir_e :
inode:int64 -> int64 option Uq_engines.engine
method filename_rename_e :
from_dir_inode:int64 ->
from_name:string ->
to_dir_inode:int64 ->
to_name:string -> owner_restr:string option -> unit Uq_engines.engine
method filename_rev_get_dir_e :
inode:int64 -> (int64 * string * (unit -> unit)) Uq_engines.engine
method filename_rev_get_e :
inode:int64 -> (int64 * string) list Uq_engines.engine
method filename_unlink_e :
dir_inode:int64 ->
name:string -> owner_restr:string option -> unit Uq_engines.engine
method inode_alloc_e :
Pfs_rpcapi_aux.inodeinfo -> int64 Uq_engines.engine
method inode_dealloc_e : id:int64 -> unit Uq_engines.engine
method inode_get_blocks_e :
id:int64 ->
blkidx:int64 ->
len:int64 ->
pin_flag:bool ->
Nn_state.bm_view_t -> Nn_blocklist.blocklist Uq_engines.engine
method inode_get_e :
id:int64 -> Pfs_rpcapi_aux.inodeinfo option Uq_engines.engine
method inode_get_with_lock_e :
id:int64 -> Pfs_rpcapi_aux.inodeinfo option Uq_engines.engine
method inode_upd_blocks_e :
id:int64 ->
del:int64 * int64 ->
add:Nn_blocklist.blocklist ->
set_mtime:bool ->
set_blocklimit:int64 ->
permission:(Pfs_rpcapi_aux.inodeinfo -> Nn_state.errno option) ->
unit Uq_engines.engine
method inode_upd_e :
id:int64 ->
keep_blocklimit:bool ->
permission:(Pfs_rpcapi_aux.inodeinfo -> Nn_state.errno option) ->
Pfs_rpcapi_aux.inodeinfo -> unit Uq_engines.engine
method inode_upd_time :
id:int64 ->
mtime:Pfs_rpcapi_aux.time option ->
ctime:Pfs_rpcapi_aux.time option -> unit
method post_commit : bool -> unit
method pre_commit : journal
method rollback : unit -> unit
end
val sh_state_shm :
Netmcore.res_id -> int -> string -> Nn_state.sh_state_shm
class shared_state :
Unixqueue.event_system ->
Nn_config.nn_node_config ->
Pfs_auth.client_auth -> Nn_state.sh_state_shm -> shared_state_t
class ds_view : Nn_state.shared_state_t -> ds_view_t
class bm_view : Nn_state.shared_state_t -> bm_view_t
class inode_view : Nn_state.shared_state_t -> inode_view_t
val encap_time : float -> Pfs_rpcapi_aux.time
end