multiple of sector size I/O restriction

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Apr 23 14:40:40 UTC 2006


In message <20060423153134.63716562.jylefort at FreeBSD.org>, Jean-Yves Lefort wri
tes:

>In sys/geom/geom_io.c, g_io_check() I find this:
>
>		/* Reject I/O not on sector boundary */
>		if (bp->bio_offset % pp->sectorsize)
>			return (EINVAL);
>
>Which causes this:
>
>	# dd if=3D/dev/ad1 of=3Dtest bs=3D512 count=3D1
>	1+0 records in
>	1+0 records out
>	512 bytes transferred in 1.889527 secs (271 bytes/sec)
>
>	# dd if=3D/dev/ad1 of=3Dtest bs=3D513 count=3D1
>	dd: /dev/ad1: Invalid argument
>	0+0 records in
>	0+0 records out
>	0 bytes transferred in 0.000254 secs (0 bytes/sec)
>
>Why this restriction?

That is how disks work.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-geom mailing list