Deleted Added
full compact
geom_dev.c (105540) geom_dev.c (105551)
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

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

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
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

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

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * $FreeBSD: head/sys/geom/geom_dev.c 105540 2002-10-20 18:48:12Z phk $
35 * $FreeBSD: head/sys/geom/geom_dev.c 105551 2002-10-20 20:28:24Z phk $
36 */
37
38#include <sys/param.h>
39#include <sys/stdint.h>
40#include <sys/systm.h>
41#include <sys/malloc.h>
42#include <sys/kernel.h>
43#include <sys/conf.h>

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

240 gio = NULL;
241
242 error = 0;
243 DROP_GIANT();
244
245 i = IOCPARM_LEN(cmd);
246 switch (cmd) {
247 case DIOCGSECTORSIZE:
36 */
37
38#include <sys/param.h>
39#include <sys/stdint.h>
40#include <sys/systm.h>
41#include <sys/malloc.h>
42#include <sys/kernel.h>
43#include <sys/conf.h>

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

240 gio = NULL;
241
242 error = 0;
243 DROP_GIANT();
244
245 i = IOCPARM_LEN(cmd);
246 switch (cmd) {
247 case DIOCGSECTORSIZE:
248 error = g_io_getattr("GEOM::sectorsize", cp, &i, data);
249 if (error == 0 && *(u_int *)data == 0)
248 *(u_int *)data = cp->provider->sectorsize;
249 if (*(u_int *)data == 0)
250 error = ENOENT;
251 break;
252 case DIOCGMEDIASIZE:
250 error = ENOENT;
251 break;
252 case DIOCGMEDIASIZE:
253 error = g_io_getattr("GEOM::mediasize", cp, &i, data);
254 if (error == 0 && *(off_t *)data == 0)
253 *(off_t *)data = cp->provider->mediasize;
254 if (*(off_t *)data == 0)
255 error = ENOENT;
256 break;
257 case DIOCGFWSECTORS:
258 error = g_io_getattr("GEOM::fwsectors", cp, &i, data);
259 if (error == 0 && *(u_int *)data == 0)
260 error = ENOENT;
261 break;
262 case DIOCGFWHEADS:

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

324 }
325 return (error);
326}
327
328static int
329g_dev_psize(dev_t dev)
330{
331 struct g_consumer *cp;
255 error = ENOENT;
256 break;
257 case DIOCGFWSECTORS:
258 error = g_io_getattr("GEOM::fwsectors", cp, &i, data);
259 if (error == 0 && *(u_int *)data == 0)
260 error = ENOENT;
261 break;
262 case DIOCGFWHEADS:

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

324 }
325 return (error);
326}
327
328static int
329g_dev_psize(dev_t dev)
330{
331 struct g_consumer *cp;
332 int i, error;
333 off_t mediasize;
334
335 cp = dev->si_drv2;
336
332 off_t mediasize;
333
334 cp = dev->si_drv2;
335
337 i = sizeof mediasize;
338 error = g_io_getattr("GEOM::mediasize", cp, &i, &mediasize);
339 if (error)
340 return (-1);
336 mediasize = cp->provider->mediasize;
341 return (mediasize >> DEV_BSHIFT);
342}
343
344static void
345g_dev_done(struct bio *bp2)
346{
347 struct bio *bp;
348

--- 74 unchanged lines hidden ---
337 return (mediasize >> DEV_BSHIFT);
338}
339
340static void
341g_dev_done(struct bio *bp2)
342{
343 struct bio *bp;
344

--- 74 unchanged lines hidden ---