Deleted Added
full compact
md.c (53984) md.c (58345)
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
5 * can do whatever you want with this stuff. If we meet some day, and you think
6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
7 * ----------------------------------------------------------------------------
8 *
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
5 * can do whatever you want with this stuff. If we meet some day, and you think
6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
7 * ----------------------------------------------------------------------------
8 *
9 * $FreeBSD: head/sys/dev/md/md.c 53984 1999-12-01 10:20:21Z phk $
9 * $FreeBSD: head/sys/dev/md/md.c 58345 2000-03-20 10:44:49Z phk $
10 *
11 */
12
13#include "opt_mfs.h" /* We have adopted some tasks from MFS */
14#include "opt_md.h" /* We have adopted some tasks from MFS */
15
16#include <sys/param.h>
17#include <sys/systm.h>

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

186 if (bp)
187 bufq_remove(&sc->buf_queue, bp);
188 splx(s);
189 if (!bp)
190 break;
191
192 devstat_start_transaction(&sc->stats);
193
10 *
11 */
12
13#include "opt_mfs.h" /* We have adopted some tasks from MFS */
14#include "opt_md.h" /* We have adopted some tasks from MFS */
15
16#include <sys/param.h>
17#include <sys/systm.h>

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

186 if (bp)
187 bufq_remove(&sc->buf_queue, bp);
188 splx(s);
189 if (!bp)
190 break;
191
192 devstat_start_transaction(&sc->stats);
193
194 if (bp->b_flags & B_FREEBUF)
194 if (bp->b_iocmd == BIO_DELETE)
195 dop = DEVSTAT_NO_DATA;
195 dop = DEVSTAT_NO_DATA;
196 else if (bp->b_flags & B_READ)
196 else if (bp->b_iocmd == BIO_READ)
197 dop = DEVSTAT_READ;
198 else
199 dop = DEVSTAT_WRITE;
200
201 nsec = bp->b_bcount / DEV_BSIZE;
202 secno = bp->b_pblkno;
203 dst = bp->b_data;
204 while (nsec--) {

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

215 } else {
216 secpp = 0;
217 secp = 0;
218 secval = 0;
219 }
220 if (md_debug > 2)
221 printf("%lx %p %p %d\n", bp->b_flags, secpp, secp, secval);
222
197 dop = DEVSTAT_READ;
198 else
199 dop = DEVSTAT_WRITE;
200
201 nsec = bp->b_bcount / DEV_BSIZE;
202 secno = bp->b_pblkno;
203 dst = bp->b_data;
204 while (nsec--) {

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

215 } else {
216 secpp = 0;
217 secp = 0;
218 secval = 0;
219 }
220 if (md_debug > 2)
221 printf("%lx %p %p %d\n", bp->b_flags, secpp, secp, secval);
222
223 if (bp->b_flags & B_FREEBUF) {
223 if (bp->b_iocmd == BIO_DELETE) {
224 if (secpp) {
225 if (secp)
226 FREE(secp, M_MDSECT);
227 *secpp = 0;
228 }
224 if (secpp) {
225 if (secp)
226 FREE(secp, M_MDSECT);
227 *secpp = 0;
228 }
229 } else if (bp->b_flags & B_READ) {
229 } else if (bp->b_iocmd == BIO_READ) {
230 if (secp) {
231 bcopy(secp, dst, DEV_BSIZE);
232 } else if (secval) {
233 for (i = 0; i < DEV_BSIZE; i++)
234 dst[i] = secval;
235 } else {
236 bzero(dst, DEV_BSIZE);
237 }

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

311 if (bp)
312 bufq_remove(&sc->buf_queue, bp);
313 splx(s);
314 if (!bp)
315 break;
316
317 devstat_start_transaction(&sc->stats);
318
230 if (secp) {
231 bcopy(secp, dst, DEV_BSIZE);
232 } else if (secval) {
233 for (i = 0; i < DEV_BSIZE; i++)
234 dst[i] = secval;
235 } else {
236 bzero(dst, DEV_BSIZE);
237 }

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

311 if (bp)
312 bufq_remove(&sc->buf_queue, bp);
313 splx(s);
314 if (!bp)
315 break;
316
317 devstat_start_transaction(&sc->stats);
318
319 if (bp->b_flags & B_FREEBUF) {
319 if (bp->b_iocmd == BIO_DELETE) {
320 dop = DEVSTAT_NO_DATA;
320 dop = DEVSTAT_NO_DATA;
321 } else if (bp->b_flags & B_READ) {
321 } else if (bp->b_iocmd == BIO_READ) {
322 dop = DEVSTAT_READ;
323 bcopy(sc->pl_ptr + (bp->b_pblkno << DEV_BSHIFT), bp->b_data, bp->b_bcount);
324 } else {
325 dop = DEVSTAT_WRITE;
326 bcopy(bp->b_data, sc->pl_ptr + (bp->b_pblkno << DEV_BSHIFT), bp->b_bcount);
327 }
328 bp->b_resid = 0;
329 devstat_end_transaction_buf(&sc->stats, bp);

--- 100 unchanged lines hidden ---
322 dop = DEVSTAT_READ;
323 bcopy(sc->pl_ptr + (bp->b_pblkno << DEV_BSHIFT), bp->b_data, bp->b_bcount);
324 } else {
325 dop = DEVSTAT_WRITE;
326 bcopy(bp->b_data, sc->pl_ptr + (bp->b_pblkno << DEV_BSHIFT), bp->b_bcount);
327 }
328 bp->b_resid = 0;
329 devstat_end_transaction_buf(&sc->stats, bp);

--- 100 unchanged lines hidden ---