Commit ec86f05f authored by gerd's avatar gerd

fixes


git-svn-id: https://gps.dynxs.de/private/svn/app-plasma/[email protected] 55289a75-7b90-4627-9e07-ffb4263930b2
parent 50f711c5
This diff is collapsed.
......@@ -233,7 +233,16 @@ val write : plasma_cluster -> inode -> int64 -> strmem -> int -> int ->
position after the last written position. However, this is first
done when the blocks are flushed in the background.
There is no good error reporting yet.
As writing happens in the background, some special attention has to be
paid for the way errors are reported. At the first error the write thread
stops, and an error code is set. This code is reported at the next
[write] or [flush]. After being reported, the code is cleared again.
Writing is not automatically resumed - only further [write] and
[flush] invocations will restart the writing thread. Also, the
data buffers are kept intact after errors - so everything will be
again tried to be written (which may run into the same error).
The function [drop_inode] can be invoked to drop all dirty buffers
of the inode in the near future.
*)
val flush_e : plasma_cluster -> inode -> int64 -> int64 -> unit Uq_engines.engine
......@@ -243,6 +252,11 @@ val flush : plasma_cluster -> inode -> int64 -> int64 -> unit
ensures that data is really written.
*)
val drop_inode : plasma_cluster -> inode -> unit
(** Drops all dirty buffers of this inode. This will prevent that they
are again tried to be written, and it will free up buffer space.
*)
val flush_all_e : plasma_cluster -> unit Uq_engines.engine
val flush_all: plasma_cluster -> unit
(** flushes all buffers *)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment