geom_disk.c (5721c9c76a4ab8ff2d7f9d6a9811d8f647b7d3b6) geom_disk.c (2221dbebceb2dfb9e1c0248e4e748f8a61ab5e55)
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

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

207 if ((dp = bp2->bio_to->geom->softc))
208 devstat_end_transaction_bio(dp->d_devstat, bp2);
209 g_io_deliver(bp2, bp2->bio_error);
210 }
211 mtx_unlock(&g_disk_done_mtx);
212}
213
214static int
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

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

207 if ((dp = bp2->bio_to->geom->softc))
208 devstat_end_transaction_bio(dp->d_devstat, bp2);
209 g_io_deliver(bp2, bp2->bio_error);
210 }
211 mtx_unlock(&g_disk_done_mtx);
212}
213
214static int
215g_disk_ioctl(struct g_provider *pp, u_long cmd, void * data, struct thread *td)
215g_disk_ioctl(struct g_provider *pp, u_long cmd, void * data, int fflag, struct thread *td)
216{
217 struct g_geom *gp;
218 struct disk *dp;
219 int error;
220
221 gp = pp->geom;
222 dp = gp->softc;
223
224 if (dp->d_ioctl == NULL)
225 return (ENOIOCTL);
226 g_disk_lock_giant(dp);
216{
217 struct g_geom *gp;
218 struct disk *dp;
219 int error;
220
221 gp = pp->geom;
222 dp = gp->softc;
223
224 if (dp->d_ioctl == NULL)
225 return (ENOIOCTL);
226 g_disk_lock_giant(dp);
227 error = dp->d_ioctl(dp, cmd, data, 0, td);
227 error = dp->d_ioctl(dp, cmd, data, fflag, td);
228 g_disk_unlock_giant(dp);
229 return(error);
230}
231
232static void
233g_disk_start(struct bio *bp)
234{
235 struct bio *bp2, *bp3;

--- 213 unchanged lines hidden ---
228 g_disk_unlock_giant(dp);
229 return(error);
230}
231
232static void
233g_disk_start(struct bio *bp)
234{
235 struct bio *bp2, *bp3;

--- 213 unchanged lines hidden ---