Does Linux keep blocks that are read from an LVM logical volume in the block cache as it does with blocks read from a "regular" block device or is the IO direct?
Also, do the usual buffering semantics apply for writing to a logical volume?
Does Linux keep blocks that are read from an LVM logical volume in the block cache as it does with blocks read from a "regular" block device or is the IO direct?
Also, do the usual buffering semantics apply for writing to a logical volume?
LV -> dm or md device -> sdX -> block layer
This is how an IO goes in case of LVM. If you run blktrace or systemtap, it should be clearer.