aoedev.c (6bb6285fdb948cedee586c6bebc9ebc5e32a5c35) aoedev.c (4f51dc5e9ae195d2e8c22e5f574e004c2f6518a4)
1/* Copyright (c) 2006 Coraid, Inc. See COPYING for GPL terms. */
2/*
3 * aoedev.c
4 * AoE device utility functions; maintains device list.
5 */
6
7#include <linux/hdreg.h>
8#include <linux/blkdev.h>

--- 107 unchanged lines hidden (view full) ---

116 if (f->tag == FREETAG || f->buf == NULL)
117 continue;
118 buf = f->buf;
119 bio = buf->bio;
120 if (--buf->nframesout == 0) {
121 mempool_free(buf, d->bufpool);
122 bio_endio(bio, bio->bi_size, -EIO);
123 }
1/* Copyright (c) 2006 Coraid, Inc. See COPYING for GPL terms. */
2/*
3 * aoedev.c
4 * AoE device utility functions; maintains device list.
5 */
6
7#include <linux/hdreg.h>
8#include <linux/blkdev.h>

--- 107 unchanged lines hidden (view full) ---

116 if (f->tag == FREETAG || f->buf == NULL)
117 continue;
118 buf = f->buf;
119 bio = buf->bio;
120 if (--buf->nframesout == 0) {
121 mempool_free(buf, d->bufpool);
122 bio_endio(bio, bio->bi_size, -EIO);
123 }
124 skb_shinfo(f->skb)->nr_frags = f->skb->data_len = 0;
124 }
125 d->inprocess = NULL;
126
127 while (!list_empty(&d->bufq)) {
128 buf = container_of(d->bufq.next, struct buf, bufs);
129 list_del(d->bufq.next);
130 bio = buf->bio;
131 mempool_free(buf, d->bufpool);

--- 88 unchanged lines hidden ---
125 }
126 d->inprocess = NULL;
127
128 while (!list_empty(&d->bufq)) {
129 buf = container_of(d->bufq.next, struct buf, bufs);
130 list_del(d->bufq.next);
131 bio = buf->bio;
132 mempool_free(buf, d->bufpool);

--- 88 unchanged lines hidden ---