Handle up to 63 partitions per drive

Revamp device parsing code.  Introducing support for more partitions
into the shilka-generated parser has the unfortunate side-effect of
raising the size of the DLL by almost 2 Megs.  Therefore we split out
the handling for /dev/sdXY devices into a tiny bit of hand-written
code.

While at it, remove some unused cruft from devices.* and generally
clean up the device class to provide access methods instead of direct
access to members.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen
2016-06-23 16:56:41 +02:00
parent bceb8ebebb
commit b2867a68b9
21 changed files with 5268 additions and 40170 deletions

View File

@ -687,7 +687,6 @@ path_conv::check (const char *src, unsigned opt,
path = NULL;
}
close_conv_handle ();
memset (&dev, 0, sizeof (dev));
fs.clear ();
if (posix_path)
{
@ -944,7 +943,7 @@ path_conv::check (const char *src, unsigned opt,
}
dev.parse (sym.major, sym.minor);
dev.setfs (1);
dev.mode = sym.mode;
dev.mode (sym.mode);
fileattr = sym.fileattr;
goto out;
}