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 --- |