public inbox for util-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mountpoint: symlinks are not mount points
@ 2014-08-21 18:03 Sami Kerola
  2014-08-21 19:28 ` Bernhard Voelker
  0 siblings, 1 reply; 4+ messages in thread
From: Sami Kerola @ 2014-08-21 18:03 UTC (permalink / raw)
  To: util-linux; +Cc: kerolasa

Hello,

Another small change on top of Daves earlier mountpoint(1) correction. 
Now when mount points are not restricted to directories it is reasonable
not to follow symlinks.  Notice that this is not a regression from Daves
change but something the command has always done.

--->8----
From: Sami Kerola <kerolasa@iki.fi>
Date: Thu, 21 Aug 2014 20:16:30 +0300
Subject: [PATCH] mountpoint: symlinks are not mount points

Earlier the mountpoint(1) followed symlinks, claiming they were mount
points when they only referred one.

$ ls -l /tmp/this-is-symlink
lrwxrwxrwx 1 kerolasa kerolasa 1 Aug 21 19:54 /tmp/this-is-symlink -> /
$ mountpoint /tmp/this-is-symlink
/tmp/this-is-symlink is a mountpoint

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
---
 sys-utils/mountpoint.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-utils/mountpoint.c b/sys-utils/mountpoint.c
index 3919ab7..11a611f 100644
--- a/sys-utils/mountpoint.c
+++ b/sys-utils/mountpoint.c
@@ -182,7 +182,7 @@ int main(int argc, char **argv)
 
 	spec = argv[optind++];
 
-	if (stat(spec, &st)) {
+	if (lstat(spec, &st)) {
 		if (!quiet)
 			err(EXIT_FAILURE, "%s", spec);
 		return EXIT_FAILURE;
@@ -192,7 +192,7 @@ int main(int argc, char **argv)
 	else {
 		dev_t src;
 
-		if ( dir_to_device(spec, &src)) {
+		if (dir_to_device(spec, &src) || S_ISLNK(st.st_mode)) {
 			if (!quiet)
 				printf(_("%s is not a mountpoint\n"), spec);
 			return EXIT_FAILURE;
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-22  6:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-21 18:03 [PATCH] mountpoint: symlinks are not mount points Sami Kerola
2014-08-21 19:28 ` Bernhard Voelker
2014-08-21 21:34   ` Sami Kerola
2014-08-22  6:34     ` Karel Zak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox