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
feat: closedir(2)
[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..a189a4de8f70735273be3f15aeec889a1c184b7c 100644
(file)
--- a/
lunaix-os/includes/lunaix/blkio.h
+++ b/
lunaix-os/includes/lunaix/blkio.h
@@
-3,14
+3,18
@@
#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
+
+// Free on complete
#define BLKIO_FOC 0x10
#define BLKIO_SCHED_IDEL 0x1
#define BLKIO_FOC 0x10
#define BLKIO_SCHED_IDEL 0x1
@@
-24,8
+28,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
+98,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.