Re: Different behaviour running under strace?

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

 



On 05Mar2015 16:52, Tom Horsley <horsley1953@xxxxxxxxx> wrote:
On Fri, 6 Mar 2015 08:27:03 +1100
Cameron Simpson wrote:

  - _after_ a fast straced df, is un unstraced df slow again?
    (thinking about cached answers to call, caches in the OS, possibly quite
    briefly)

I was yesterday, but today the strace'ed version hung as well and I
was able to find and unmount some slow filesystems.

I don't know why "df -l" even stat()s an NFS mountpoint at all, it
could certainly look at /proc/mounts and find the local only
filesystems and utterly ignore the network systems, but
it apparently doesn't do that (because I certainly see the stat
calls when I strace it).

Interesting. The RHEL5 host I tested definitely did _not_ statfs() its NFS mounts when invoked with -l. Its df comes from coreutils-5.97.

NB: the RHEL5 one reads /etc/mtab (a regular file), not /proc/mounts.

Judging from the strace it gathers all the info first, then
formats it for output, so when it hangs, it prints nothing.

Charming. Sounds buggy to me.

[...] Ok, fetched coreutils 5.97 (RHEL5 version) and 8.23 (latest version). This diff in df.c is huge, so let's just look at the 8.23 version, which should be close to if not identical with Fedora.

The get_dev() call honours the -l flag, returning immediately without work if the -l is supplied. HOWEVER, the caller, filter_mount_list(), stat()s _every_ mount point regardless. That will be where your slowness is come from. There's even a comment near the top of filter_mount_list suggesting that they know it does excessive work.

So, yes, modern GNU df unconditionally stat()s all your mounted filesystems.

Suggestion: see if this:

 df /

stats only /. Repeat for other local filesystems as a test. Then write a tiny shell script for "df -l" that reads /etc/mtab and reports only non-NFS mounts.

Cheers,
Cameron Simpson <cs@xxxxxxxxxx>

Share your knowledge. It is a way to achieve immortality. - The Dalai Lama
--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org




[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux