Commit 5937c67e authored by Jens Axboe's avatar Jens Axboe

[PATCH] jfs and xfs update

missed updating xfs and jfs to new bi_end_io handling
parent 392aaa18
...@@ -1969,13 +1969,16 @@ static int lbmIOWait(struct lbuf * bp, int flag) ...@@ -1969,13 +1969,16 @@ static int lbmIOWait(struct lbuf * bp, int flag)
* *
* executed at INTIODONE level * executed at INTIODONE level
*/ */
static void lbmIODone(struct bio *bio) static int lbmIODone(struct bio *bio, unsigned int bytes_done, int error)
{ {
struct lbuf *bp = bio->bi_private; struct lbuf *bp = bio->bi_private;
struct lbuf *nextbp, *tail; struct lbuf *nextbp, *tail;
struct jfs_log *log; struct jfs_log *log;
unsigned long flags; unsigned long flags;
if (bio->bi_size)
return 1;
/* /*
* get back jfs buffer bound to the i/o buffer * get back jfs buffer bound to the i/o buffer
*/ */
...@@ -2004,7 +2007,7 @@ static void lbmIODone(struct bio *bio) ...@@ -2004,7 +2007,7 @@ static void lbmIODone(struct bio *bio)
/* wakeup I/O initiator */ /* wakeup I/O initiator */
LCACHE_WAKEUP(&bp->l_ioevent); LCACHE_WAKEUP(&bp->l_ioevent);
return; return 0;
} }
/* /*
...@@ -2029,7 +2032,7 @@ static void lbmIODone(struct bio *bio) ...@@ -2029,7 +2032,7 @@ static void lbmIODone(struct bio *bio)
if (bp->l_flag & lbmDIRECT) { if (bp->l_flag & lbmDIRECT) {
LCACHE_WAKEUP(&bp->l_ioevent); LCACHE_WAKEUP(&bp->l_ioevent);
LCACHE_UNLOCK(flags); LCACHE_UNLOCK(flags);
return; return 0;
} }
tail = log->wqueue; tail = log->wqueue;
...@@ -2108,6 +2111,8 @@ static void lbmIODone(struct bio *bio) ...@@ -2108,6 +2111,8 @@ static void lbmIODone(struct bio *bio)
LCACHE_UNLOCK(flags); /* unlock+enable */ LCACHE_UNLOCK(flags); /* unlock+enable */
} }
return 0;
} }
int jfsIOWait(void *arg) int jfsIOWait(void *arg)
......
...@@ -1291,14 +1291,19 @@ pagebuf_iostart( /* start I/O on a buffer */ ...@@ -1291,14 +1291,19 @@ pagebuf_iostart( /* start I/O on a buffer */
/* /*
* Helper routine for pagebuf_iorequest * Helper routine for pagebuf_iorequest
*/ */
STATIC void STATIC int
bio_end_io_pagebuf( bio_end_io_pagebuf(
struct bio *bio) struct bio *bio,
unsigned int bytes_done,
int error)
{ {
page_buf_t *pb = (page_buf_t *)bio->bi_private; page_buf_t *pb = (page_buf_t *)bio->bi_private;
unsigned int i, blocksize = pb->pb_target->pbr_blocksize; unsigned int i, blocksize = pb->pb_target->pbr_blocksize;
struct bio_vec *bvec = bio->bi_io_vec; struct bio_vec *bvec = bio->bi_io_vec;
if (bio->bi_size)
return 1;
if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) if (!test_bit(BIO_UPTODATE, &bio->bi_flags))
pb->pb_error = EIO; pb->pb_error = EIO;
...@@ -1335,6 +1340,7 @@ bio_end_io_pagebuf( ...@@ -1335,6 +1340,7 @@ bio_end_io_pagebuf(
} }
bio_put(bio); bio_put(bio);
return 0;
} }
/* /*
......
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