module Nn_db:Namenode access routines to databasesig..end
class type ro_transaction =object..end
class type transaction =object..end
typeinodeinfo =Pfs_rpcapi_aux.inodeinfo
val init : Pfs_db.db_config -> Unixqueue.event_system -> unitval ro_esys : unit -> Unixqueue.event_systemval commit_all_prepared_transactions : unit -> unitval transact : Unixqueue.event_system -> transactionval ro_transact : unit -> ro_transaction Uq_engines.engineval with_ro_trans : (Pfs_db.ro_async_connection -> Unixqueue.event_system -> 'a Uq_engines.engine) ->
'a Uq_engines.enginewith_ro_trans f: Runs e = f conn esys for a shared read-only
transaction and returns eval datastore_list_e : Pfs_db.ro_async_connection ->
Unixqueue.event_system -> Nn_datastores.datastore list Uq_engines.engineval datastore_list_ro_e : unit -> Nn_datastores.datastore list Uq_engines.engineval datastore_find_e : identity:string ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> Nn_datastores.datastore option Uq_engines.engineval datastore_find_ro_e : identity:string -> Nn_datastores.datastore option Uq_engines.engineval datastore_upd_e : id:int ->
identity:string ->
size:int64 ->
enabled:bool ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineThe blockalloc table is updated, too: For new stores, the rows are added. If the size of the existing store is increased, further rows are added.
It is an error to decrease the size.
val datastore_del_e : id:int ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineval revision_get_e : Pfs_db.ro_async_connection ->
Unixqueue.event_system -> string Uq_engines.engineval revision_get_ro_e : unit -> string Uq_engines.engineval revision_upd_e : revstr:string ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineval blockalloc_list_e : datastore:int ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> (int64 * string) list Uq_engines.enginedatastore ID. Returns the table
as pairs (blkidx,blkmap)val blockalloc_list_ro_e : datastore:int -> (int64 * string) list Uq_engines.engineval blockalloc_upd_e : datastore:int ->
blkidx:int64 ->
blkmap:string ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineblockalloc tableval inode_listall_e : Pfs_db.ro_async_connection ->
Unixqueue.event_system -> int64 list Uq_engines.engineval inode_get_e : id:int64 ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> inodeinfo option Uq_engines.engineval inode_get_ro_e : id:int64 -> inodeinfo option Uq_engines.engineval inode_maxid_e : Pfs_db.ro_async_connection ->
Unixqueue.event_system -> int64 Uq_engines.engineval inode_maxid_ro_e : unit -> int64 Uq_engines.engineval inode_ins_e : id:int64 ->
inodeinfo ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineinodeval inode_upd_e : id:int64 ->
inodeinfo ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineinode. filetype cannot be updated, and changes are
silently ignored.val inode_upd_time_e : id:int64 ->
mtime:Pfs_rpcapi_aux.time option ->
ctime:Pfs_rpcapi_aux.time option ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineval inode_del_e : id:int64 ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineinodeval inodeblocks_get_e : inode:int64 ->
blkidx:int64 ->
len:int64 ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> Pfs_rpcapi_aux.blockinfo list Uq_engines.engineinode in the range from index
blkidx to blkidx+len-1.val inodeblocks_get_ro_e : inode:int64 ->
blkidx:int64 -> len:int64 -> Pfs_rpcapi_aux.blockinfo list Uq_engines.engineval inodeblocks_getall_e : inode:int64 ->
dsid:int ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> (int64 * int64) list Uq_engines.engine(blkidx,block) for this inode and this datastore
dsid (for fsck)val inodeblocks_del_e : inode:int64 ->
blkidx:int64 ->
len:int64 ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineinode in the range from index
blkidx to blkidx+len-1.val inodeblocks_ins_e : inode:int64 ->
Pfs_rpcapi_aux.blockinfo list ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineval names_get_e : name:string ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> int64 option Uq_engines.engineval names_get_ro_e : name:string -> int64 option Uq_engines.engineval names_rev_get_e : inode:int64 ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> string list Uq_engines.engineval names_rev_get_ro_e : inode:int64 -> string list Uq_engines.engineval names_count_e : inode:int64 ->
Pfs_db.ro_async_connection -> Unixqueue.event_system -> int Uq_engines.engineval names_count_ro_e : inode:int64 -> int Uq_engines.engineval names_list_e : name:string ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> (string * int64) list Uq_engines.enginep for all names n in the database
so that n = name ^ "/" ^ p ^ rest. The particle p does not
contain a slash and is non-empty. rest is either empty or starts
with a slash.
If name="/" the function behaves as if name="".
Now also returns for every particle the inode number.
val names_list_ro_e : name:string -> (string * int64) list Uq_engines.engineval names_ins_e : name:string ->
inode:int64 ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engineval names_del_e : name:string ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.enginetypemodification =[ `Blockalloc_upd of int * int64 * string
| `Datastore_del of int
| `Datastore_upd of int * string * int64 * bool
| `Inode_del of int64
| `Inode_ins of int64 * inodeinfo
| `Inode_upd of int64 * inodeinfo
| `Inode_upd_time of
int64 * Pfs_rpcapi_aux.time option * Pfs_rpcapi_aux.time option
| `Inodeblocks_del of int64 * int64 * int64
| `Inodeblocks_ins of int64 * Pfs_rpcapi_aux.blockinfo list
| `Names_del of string
| `Names_ins of string * int64
| `Revision_upd of string ]
Nn_db and Nn_slave.val exec_e : modification ->
Pfs_db.rw_async_connection ->
Unixqueue.event_system -> unit Uq_engines.engine