Plasma GitLab Archive
Projects Blog Knowledge

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
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml