Daniel Phillips: Kernel Logical Volume Management API

August 4, 2013

Participants: Daniel Phillips, NeilBrown, Jan Kara, James Bottomley, Alasdair G Kergon.

People tagged: Filesystems and block-layer folks.

Daniel Phillips argues that combining volume management and filesystems (as ZFS does) is not the only way. Instead, there should be kernel infrastructure and libraries that permit customized volume-management functionality using shared kernel infrastructure. Daniel also states that this is an area where Linux lags behind FreeBSD and Windows. Daniel proposes that this be discussed at both the kernel summit and at the next FS summit. [Ed: The summits will continue until functionality improves? ] NeilBrown agreed and provided a bit more detail, which was a bit reminiscent of object stores. Daniel seemed to look favorably upon Neil's suggestions, but asked for more detail.

Neil is bothered by block devices, which instantiate a trivial filesystem that uses the page cache, just as it does with most filesystems. In contrast, other filesystems have more direct access to the block layer. Neil also advocated that filesystems directly access a “store” instead of going through the block layer, and further advocated for more ornate block-addressing schemes. Neil questioned the value of changing the I/O completion path, and also questioned the need for “bumpless” changes in RAID configuration. This discussion continued in depth, with Daniel suggesting that, Jeff Bonwick notwithstanding, it should be possible to implement a variable-geometry RAID technique without re-implementing the entire volume manager within the filesystem.

Jan Kara expressed interest, and further opined that the fact that there are something like three or four volume managers in the kernel indicated that there was a need for some sort of change. James noted that this was discussed some time ago at LSF, but that while everyone agreed that it would be a Good Thing, no one has cared enough to actually complete the work. Daniel volunteered the Tux3 team for this task. Alasdair stated that some code consolidation was in fact in flight. Daniel argued that more profound changes are needed.