freebsd-nq/sys/geom
Poul-Henning Kamp 7253da9c05 Implement DIOCBSDBB ioctl which overwrites first BBSIZE bytes of BSD
labeled disk.

This is complicated by the fact that BBSIZE is greater than the
PAGE_SIZE limit ioctl inflicts on arguments which are automatically
copied in.

As long as we don't need access to userland memory (copyin/out) we
can deal with the ioctl using g_callme() which executes it from the
GEOM event thread.

Once we need copyin/out, we need to return the bio with EDIRIOCTL
in order to make geom_dev call us back in the original process context
where copyin will work.

Unfortunately, that results in us getting called with Giant, so
we have to DROP_GIANT/PICKUP_GIANT around the code where we diddle
GEOMs internals.

Sometimes you just can't win...

... But it does make geom_bsd.c an almost complete example of the
GEOM beastiarium.
2003-01-26 21:54:36 +00:00
..
bde Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_aes.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_bsd.c Implement DIOCBSDBB ioctl which overwrites first BBSIZE bytes of BSD 2003-01-26 21:54:36 +00:00
geom_ccd.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_ctl.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_dev.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_disk.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_dump.c Constification and some s/int/u_int/ changes. 2002-12-16 22:33:27 +00:00
geom_enc.c Constification ? Yes, out that door, row on the left, one patch each. 2002-10-15 18:21:53 +00:00
geom_event.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_gpt.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_int.h Add the remaning part of the new libdisk interaction. 2002-10-28 22:43:54 +00:00
geom_io.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_kern.c Remove the "ascii" attribute from the sysctls so that "sysctl -a" will 2002-12-27 07:58:59 +00:00
geom_mbr.c Don't restrict MBR sectorsize to 512 bytes. 2003-01-11 12:30:51 +00:00
geom_mirror.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_pc98.c In userland case include <errno.h>, not <err.h>. This is needed to make 2003-01-06 20:05:45 +00:00
geom_slice.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_slice.h Get rid of g_slice_addslice() and use g_slice_config() instead. 2002-12-16 23:08:48 +00:00
geom_subr.c Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. 2003-01-21 08:56:16 +00:00
geom_sunlabel.c Get rid of g_slice_addslice() and use g_slice_config() instead. 2002-12-16 23:08:48 +00:00
geom.h Remove g_silence(). It does not do anything anymore. 2003-01-13 08:46:32 +00:00