[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19969: problem: wc -c doesn't read actual # of bytes in file
From: |
Eric Blake |
Subject: |
bug#19969: problem: wc -c doesn't read actual # of bytes in file |
Date: |
Mon, 02 Mar 2015 06:57:02 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 02/28/2015 01:59 AM, Linda Walsh wrote:
> (coreutils-8.21-7.7.7)
>
> wc -c(bytes) doesn't seem to reliably read the number
> of bytes in a file.
>
> I was wanting to find out what the largest data-source
> files in '/proc' and '/sys' (didn't get around to trying
> /sys, since all the files under /proc/sys return 0 bytes.
The Linux kernel is notoriously bad about advertising 0-length file size
for non-empty contents of files within sysfs and procfs. Any program
that trusts just stat() output will report 0; the only way to see
non-zero sizes on these special files is to open() and read() them (I'm
not even sure if lseek(SEEK_END) does the trick) - but fixing that is
something for the kernel folks to do, and not coreutils to work around,
because it is more than coreutils that is affected by the kernel's lies.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature