patch-2.1.63 linux/include/linux/fs.h
Next file: linux/include/linux/ipx.h
Previous file: linux/include/linux/dcache.h
Back to the patch index
Back to the overall index
- Lines: 35
- Date:
Sat Nov 8 11:39:13 1997
- Orig file:
v2.1.62/linux/include/linux/fs.h
- Orig date:
Sat Oct 25 02:44:18 1997
diff -u --recursive --new-file v2.1.62/linux/include/linux/fs.h linux/include/linux/fs.h
@@ -164,7 +164,6 @@
#define BH_Touched 4 /* 1 if the buffer has been touched (aging) */
#define BH_Has_aged 5 /* 1 if the buffer has been aged (aging) */
#define BH_Protected 6 /* 1 if the buffer is protected */
-#define BH_FreeOnIO 7 /* 1 to discard the buffer_head after IO */
/*
* Try to keep the most commonly used fields in single cache lines (16
@@ -202,8 +201,18 @@
struct buffer_head ** b_pprev; /* doubly linked list of hash-queue */
struct buffer_head * b_prev_free; /* doubly linked list of buffers */
struct buffer_head * b_reqnext; /* request queue */
+
+ /*
+ * I/O completion
+ */
+ void (*b_end_io)(struct buffer_head *bh, int uptodate);
+ void *b_dev_id;
};
+typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate);
+void init_buffer(struct buffer_head *bh, kdev_t dev, int block,
+ bh_end_io_t *handler, void *dev_id);
+
static inline int buffer_uptodate(struct buffer_head * bh)
{
return test_bit(BH_Uptodate, &bh->b_state);
@@ -756,6 +765,7 @@
extern int close_fp(struct file *);
extern struct buffer_head * get_hash_table(kdev_t, int, int);
extern struct buffer_head * getblk(kdev_t, int, int);
+extern struct buffer_head *efind_buffer(kdev_t dev, int block, int size);
extern void ll_rw_block(int, int, struct buffer_head * bh[]);
extern void ll_rw_page(int, kdev_t, unsigned long, char *);
extern void ll_rw_swap_file(int, kdev_t, unsigned int *, int, char *);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov