On Fri, 24.09.10 12:22, Kay Sievers ([email protected]) wrote: > On Fri, Sep 24, 2010 at 12:06, <[email protected]> wrote: > > From: Harald Hoyer <[email protected]> > > > > btrfs returns a major(0) for its device, so try to find the mountpoint and > > real device. > > > + fp = fopen("/proc/self/mountinfo", "r"); > > + if (fp == NULL) > > + return NULL; > > + while (fscanf(fp, "%*s %*s %i:%i %*s %1024s %*s %*s %*s %1024s > > %*[^\n]", &maj, &min, mp, dev) > > Using device names from this file is not nice. I have just /dev/root > here. Shouldn't we just read the kernel commandline instead?
As long as it is just btrfs we probably could use some btrfs-specific ioctls to figure out whether something is ssd. However, for root on LVM we'd have the same problem and neither btrfs ioctls nor parsing /proc/self/mountinfo would help there. Maybe this is something the kernel people should fix? maybe a new FS_IOC_GETFLAGS flag that indicates "at least one rotating block device is part of this fs" or so? Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
