bug-coreutils
[Top][All Lists]
Advanced

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

bug#8208: Possible bug for df


From: Pádraig Brady
Subject: bug#8208: Possible bug for df
Date: Wed, 09 Mar 2011 16:20:54 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3

On 09/03/11 09:36, Jesse Molina wrote:
> 
> The "df" tool will mismatch mounted devices when a specific device
> parameter is specified.
> 
> Here's some console output from running df;
> 
> [/var/log]
> address@hidden>df -h /dev/md5
> Filesystem            Size  Used Avail Use% Mounted on
> /dev/md5              2.3T  1.7T  534G  76% /mnt/backup/bak5
> [/var/log]
> address@hidden>df -h /dev/md5
> Filesystem            Size  Used Avail Use% Mounted on
> udev                  881M  372K  880M   1% /dev
> 
> 
> 
> In the second invocation, the /dev/md5 device had been dismounted, but
> the /dev filesystem is now being matched, when it should not be.
> 
> Expected behavior is to get non-zero exit code and print nothing, and/or
> an error on stderr that the device is not found.
> 
> Note that this was to be used in a script.  I tried with the -P flag,
> and the behavior is the same, in that the wrong mount is matched.

This is expected behavior. If the passed file is not a mount point itself,
df will go and find it's mount point, and report for that device.

If you want to enforce that the passed device node is mounted
then I suggest you ensure that the file system is the same as passed, like:

dev=/dev/md5
df_dev=$(df -P $dev | sed -n '2s/\([^ ]*\).*/\1/p')
test "$dev" = "$df_dev" || { echo "$dev not mounted" >&2; exit 1; }

cheers,
Pádraig.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]