"Things began with a quick recap of the action items from the
previous year. Some of these had been fairly well resolved over
that time; these include power management, support for object
storage devices, fibre channel over Ethernet, barriers on by
default in ext4, the fallocate() system call, and enabling relatime
by default. The record for some other objectives is not quite so
good; low-level error handling is still not what it could be, "too
much work" has been done with I/O bandwidth controllers while
nothing has made it upstream, the union filesystem problem has not
been solved, etc. As a whole, a lot has been done, but a lot
remains to do.
"Device discovery
"Joel Becker and Kay Sievers led a session on device discovery.
On a contemporary system, device numbers are not stable across
reboots, and neither are device names. So anything in the system
which must work with block devices and filesystems must somehow
find the relevant device first. Currently, that is being done by
scanning through all of the devices on the system. That works
reasonably well on a laptop, but it is a real problem on systems
with huge numbers of block devices. There are stories of large
systems taking hours to boot, with the bulk of that time being
spent scanning (repeatedly - once for every mount request) through
known devices.
"What comes out of the discussion, of course, is that user space
needs a better way to locate devices. A given program may be
searching for a specific filesystem label, UUID, or something else;
a good search API would support all of these modes and more. What
would be best would be to build some sort of database where each
new device is added at discovery time. As additional information
becomes available (when a filesystem label is found, for example),
it is added to the database. Then, when a specific search is done,
the information has already been gathered and a scan of the
system's devices is no longer necessary."