Remove mon_gfp()
[akaros.git] / kern / include / blockdev.h
index 74a1ad2..19ca8d9 100644 (file)
@@ -4,13 +4,13 @@
  *
  * Block device interfaces and structures */
 
-#ifndef ROS_KERN_BLOCKDEV_H
-#define ROS_KERN_BLOCKDEV_H
+#pragma once
 
 #include <ros/common.h>
 #include <kref.h>
 #include <slab.h>
 #include <pagemap.h>
+#include <kthread.h>
 
 /* All block IO is done assuming a certain size sector, which is the smallest
  * possible unit of transfer between the kernel and the block layer.  This can
@@ -79,6 +79,7 @@ struct block_request {
        unsigned int                            flags;
        void                                            (*callback)(struct block_request *breq);
        void                                            *data;
+       struct semaphore                        sem;
        struct buffer_head                      **bhs;                          /* BHs describing the IOs */
        unsigned int                            nr_bhs;
        struct buffer_head                      *local_bhs[NR_INLINE_BH];
@@ -95,5 +96,3 @@ void free_bhs(struct page *page);
 int bdev_submit_request(struct block_device *bdev, struct block_request *breq);
 void generic_breq_done(struct block_request *breq);
 void sleep_on_breq(struct block_request *breq);
-
-#endif /* ROS_KERN_BLOCKDEV_H */