mirror of
https://https.git.savannah.gnu.org/git/coreutils.git
synced 2026-01-27 01:44:21 +00:00
df: use open(2), not stat, to trigger automounting
* src/df.c (main): When iterating over command-line arguments, attempting to ensure each backing file system is mounted, use open, not stat. stat is no longer sufficient to trigger automounting, in some cases. Based on a suggestion from Ian Kent. More details in http://bugzilla.redhat.com/497830
This commit is contained in:
parent
cb9fd93743
commit
dbd17157d7
1
THANKS
1
THANKS
@ -235,6 +235,7 @@ Hugh Daniel hugh@xanadu.com
|
||||
Ian Bruce ian.bruce@myrealbox.com
|
||||
Iain Calder ic56@rogers.com
|
||||
Ian Jackson ijackson@chiark.greenend.org.uk
|
||||
Ian Kent ikent@redhat.com
|
||||
Ian Lance Taylor ian@cygnus.com
|
||||
Ian Turner vectro@pipeline.com
|
||||
Iida Yosiaki iida@gnu.org
|
||||
|
||||
7
src/df.c
7
src/df.c
@ -1,5 +1,5 @@
|
||||
/* df - summarize free disk space
|
||||
Copyright (C) 91, 1995-2008 Free Software Foundation, Inc.
|
||||
Copyright (C) 91, 1995-2009 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -993,12 +993,15 @@ main (int argc, char **argv)
|
||||
stats = xnmalloc (argc - optind, sizeof *stats);
|
||||
for (i = optind; i < argc; ++i)
|
||||
{
|
||||
if (stat (argv[i], &stats[i - optind]))
|
||||
int fd = open (argv[i], O_RDONLY | O_NOCTTY);
|
||||
if (fd < 0 || fstat (fd, &stats[i - optind]))
|
||||
{
|
||||
error (0, errno, "%s", quote (argv[i]));
|
||||
exit_status = EXIT_FAILURE;
|
||||
argv[i] = NULL;
|
||||
}
|
||||
if (0 <= fd)
|
||||
close (fd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user