Lines Matching +full:per +full:- +full:slice
1 .\" ----------------------------------------------------------------------------
2 .\" "THE BEER-WARE LICENSE" (Revision 42):
5 .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
6 .\" ----------------------------------------------------------------------------
13 - or -
17 Poul-Henning Kamp <phk@FreeBSD.org>
22 they they left the file-system layer were logical sub disk implementation
27 able to co-exist with other operating systems on the same disk.
37 This paper contains the road-map for a stackable "BIO" system in
44 of struct buf, it is a most enlightening case of not exactly bit-rot
45 but more appropriately design-rot.
93 If we step forward to the BSD 4.4-Lite-2 release, struct buf has grown
140 aspect, link buffers to the VM system, provide hacks for file-systems
198 This p_blkno is relevant, it has been added because the disklabel/slice
200 ask for b_blkno, the slice/label code translates this into b_pblkno
210 of code have emerged which need to do non-trivial translations of
211 the I/O request before it reaches the device drivers: CCD, slice/label
217 routine (p. 16-2) writes \fIThe code in this procedure incorporates
224 The 1:1 mapping of the slice/label code is rather trivial, and the
321 opposed to "hi-jacked" fields).
322 One field was found to have "dual-use": the b_flags field.
411 which means that certain pieces of code can be left un-converted with the
413 The ccd and vinum modules have been left un-converted like this for now.
415 This is basically where FreeBSD-current stands today.
439 Retaining the aliasing for the b_* and bio_* name-spaces this way
443 into the drivers to full-fill the I/O request and this provides us
444 with a single isolated location for performing non-trivial translations.
448 on-disk location of the data. b_blkno is a 32bit offset of B_DEVSIZE
450 of data. Using b_offset as a 64 bit byte-address would not only allow
452 possible to accommodate disks which use non-power-of-two sector-size,
453 Audio CD-ROMs for instance.
467 Another possible transition could be to not have a "built-in" struct bio
470 un-alias the fields and have DEV_STRATEGY() allocate a struct bio and populate
484 In traditional UNIX semantics a "disk" is a one-dimensional array of
486 …lemented with a sort of "don't ask-don't tell" policy where system administrator would specify a l…
492 \(bu What is the sector size. Sector-size these days may not be a power
500 devices where a wear-distribution software or hardware function uses
504 \(bu Is opening this device in a specific mode, (read-only or read-write)
505 allowed. The VM system and the file-systems generally assume that nobody
510 This is useful for staying compatible with badly designed on-disk formats
515 at any time. While some devices like CD-ROMs can lock the media in
521 Mirroring, RAID, striping, interleaving, disk-labels and sub-disks, all of
527 all hard to emulate so implementation-wise this is a non-issue.
536 SL0: box "slice/label"
539 SL1: box "slice/label"
542 SL2: box "slice/label"
545 SL3: box "slice/label"
546 DML: box dashed width 4i height .9i with .sw at SL0.sw + (-.2,-.2)
547 "Disk-mini-layer" with .n at DML.s + (0, .1)
628 The first thing we notice is that the disk mini-layer is gone, instead
643 A number of the geometry modules have registered as "auto-discovering"
681 on, but this is probably better implemented in a general "device-daemon"
682 in user-land.
685 accessed from user-land or kernel. The VM and file-systems generally
705 Next we mount a msdos filesystem on the other MBR slice. This is the
709 If we now try to open the other slice for writing, the one which has the
718 of intent to eject, a call-up from the driver can try to get devices synchronised
720 a unplugged parallel zip drive, a floppy disk or a PC-card, we have no
724 the two mounted file-systems which in turn unmounts forcefully, invalidates
766 file-systems mounted are not affected.
788 \(bu The disk-mini-layer has
790 majority of the disk-drivers, saving on average 100 lines of code per
812 The next step is to re-implement the monolithic disk-mini-layer so
815 the current and the new disk-mini-layer. The new implementation
824 BIO system: CCD can be re-implemented as a mirror module and a stripe
825 module. Vinum can be integrated either as one "macro-module" or
827 purposes can be added, sub-disk handling for Solaris, MacOS, etc