Re: [PATCH 8/9] e2scrub_all: refactor device probe loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 21, 2019 at 09:17:10PM +0100, Lukas Czerner wrote:
> 
> Right, I did mention it later in the reply. It can be filtered
> 
> grep -v '^/dev/'

Well, that assumes all device nodes are in /dev.  Which is not
necessarily always the case, especially in some of the more _whacky_
container setups which I've seen.   (Hmm, is whacky redundant here?)

I suppose can test whether or not the path is a block device or a
directory.....

> 
> For me this new function is the wors of all.
> 
> cold cache:
> real	0m2.115s
> user	0m0.040s
> sys	0m0.154s
> 
> second time:
> real	0m1.100s
> user	0m0.037s
> sys	0m0.122s
> 
> But that's because of blkid which is terribly slow for some reason.

I ran my test on a system with a NVMe SSD, and no HDD's attached.  I
just did an strace, and I see the util-linux folks have really done a
great job of pessimizing blkid.  :-(

My version used to just pull the information from the blkid cache file
and then verified the results, but it looks like the new, improved
util-linux version of blkid scans the /dev directory and opens and
reads from each device node, even when we're querying a single block
device.  <groan>

Even lsblk is *amazingly* inefficient in terms of the number of
useless file opens which it performs, although at least they are all
/sysfs files.

I'm half tempted to create and ship a binary which just calls
ext2fs_check_mount_point() and returns the value, since it's the most
efficient.  This command

sudo strace -o /tmp/st /build/e2fsprogs-maint/lib/ext2fs/tst_ismounted  /dev/lambda/tp

Opens /proc/mounts and does a trial mount of /dev/lambda/tp to make
sure it's actually busy, and that's it.

Sigh...

						- Ted



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux