git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: false positive when looking for room to host pmem_list
[lunaix-os.git]
/
lunaix-os
/
includes
/
lunaix
/
blkio.h
diff --git
a/lunaix-os/includes/lunaix/blkio.h
b/lunaix-os/includes/lunaix/blkio.h
index 3814917171a533568c307962c7364f052049756c..a869c8c2e1a0f759b52795b00246e60f6d428044 100644
(file)
--- a/
lunaix-os/includes/lunaix/blkio.h
+++ b/
lunaix-os/includes/lunaix/blkio.h
@@
-3,14
+3,19
@@
#include <lunaix/buffer.h>
#include <lunaix/ds/llist.h>
#include <lunaix/buffer.h>
#include <lunaix/ds/llist.h>
+#include <lunaix/ds/waitq.h>
#include <lunaix/types.h>
#define BLKIO_WRITE 0x1
#define BLKIO_ERROR 0x2
#include <lunaix/types.h>
#define BLKIO_WRITE 0x1
#define BLKIO_ERROR 0x2
-// Free on complete
#define BLKIO_BUSY 0x4
#define BLKIO_PENDING 0x8
#define BLKIO_BUSY 0x4
#define BLKIO_PENDING 0x8
+
+#define BLKIO_WAIT 0x1
+#define BLKIO_NOASYNC 0x2
+
+// Free on complete
#define BLKIO_FOC 0x10
#define BLKIO_SCHED_IDEL 0x1
#define BLKIO_FOC 0x10
#define BLKIO_SCHED_IDEL 0x1
@@
-24,8
+29,9
@@
struct blkio_req
{
struct llist_header reqs;
struct blkio_context* io_ctx;
{
struct llist_header reqs;
struct blkio_context* io_ctx;
- u32_t flags;
struct vecbuf* vbuf;
struct vecbuf* vbuf;
+ u32_t flags;
+ waitq_t wait;
u64_t blk_addr;
void* evt_args;
blkio_cb completed;
u64_t blk_addr;
void* evt_args;
blkio_cb completed;
@@
-93,7
+99,7
@@
blkio_free_req(struct blkio_req* req);
* @param req
*/
void
* @param req
*/
void
-blkio_commit(struct blkio_context* ctx, struct blkio_req* req);
+blkio_commit(struct blkio_context* ctx, struct blkio_req* req
, int options
);
/**
* @brief Schedule an IO request to be handled.
/**
* @brief Schedule an IO request to be handled.