freebsd-nq/sys/geom
Kirk McKusick 037331ddbd When read requests are sent from a filesystem running above g_journal,
the g_journal level needs to check whether it is holding a newer
copy of the block than that which exists on the disk. If so, it
needs to return its copy. If not, it should pass the request down
to the disk to fulfill. It currently considers six queues:

0) delayed queue,
1) unsent (current queue),
2) in-flight to the journal (flush queue),
3) active journal (active queue),
4) inactive journal (inactive queue), and
5) inflight to the disk (copy queue).

Checking on two of these queues is unnecessary:

0) The delayed requests should not be used for reads because they
   have not yet been entered into the journal, so their value should
   reflect the disk contents, not the future contents that are not
   yet committed.

2) Because all the bio's in the flush queue are also found on the
   active queue, there is no need to inspect the flush queue for
   reads since they will be found when searching the active queue.

Submitted by: Dr. Andreas Longwitz <longwitz@incore.de>
Discussed with: kib
MFC after: 1 week
2017-08-13 18:09:22 +00:00
..
bde
cache
concat
eli
gate
journal When read requests are sent from a filesystem running above g_journal, 2017-08-13 18:09:22 +00:00
label
linux_lvm
mirror
mountver
multipath
nop
part Add alias support to gpart. 2017-08-07 21:12:33 +00:00
raid
raid3
sched
shsec
stripe
uzip
vinum
virstor
zero
geom_aes.c
geom_bsd_enc.c
geom_bsd.c Mark geom classes as deprecated. 2017-08-09 16:15:24 +00:00
geom_ccd.c
geom_ctl.c
geom_ctl.h
geom_dev.c Eliminate useless adjustments of aliased device. 2017-08-07 22:42:46 +00:00
geom_disk.c Expose API to allow disks to ask for alias names in devfs. 2017-08-07 21:12:38 +00:00
geom_disk.h Expose API to allow disks to ask for alias names in devfs. 2017-08-07 21:12:38 +00:00
geom_dump.c Add aliasing concept to geom. 2017-08-07 21:12:28 +00:00
geom_event.c
geom_flashmap.c
geom_fox.c Also provide a warning for geom_fox. 2017-08-09 16:37:37 +00:00
geom_int.h
geom_io.c
geom_kern.c
geom_map.c
geom_mbr_enc.c
geom_mbr.c Mark geom classes as deprecated. 2017-08-09 16:15:24 +00:00
geom_redboot.c
geom_slice.c
geom_slice.h
geom_subr.c Add aliasing concept to geom. 2017-08-07 21:12:28 +00:00
geom_sunlabel_enc.c
geom_sunlabel.c Mark geom classes as deprecated. 2017-08-09 16:15:24 +00:00
geom_vfs.c
geom_vfs.h
geom_vol_ffs.c Mark geom classes as deprecated. 2017-08-09 16:15:24 +00:00
geom.h Add aliasing concept to geom. 2017-08-07 21:12:28 +00:00
notes