[Pkg-sysvinit-devel] Bug#460898: mountpoint patch adding a comment

Justin Pryzby jpryzby+d at quoininc.com
Tue Jan 15 15:06:14 UTC 2008


tag 460898 patch
thanks

diff -u sysvinit-2.86.ds1/debian/changelog sysvinit-2.86.ds1/debian/changelog
--- sysvinit-2.86.ds1/debian/changelog
+++ sysvinit-2.86.ds1/debian/changelog
@@ -1,3 +1,10 @@
+sysvinit (2.86.ds1-38.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Add comment regarding mountpoint test algorithm logic.
+
+ -- Justin Pryzby <jpryzby+d at quoininc.com>  Tue, 15 Jan 2008 09:35:17 -0500
+
 sysvinit (2.86.ds1-38) unstable; urgency=medium
 
   * Medium urgency as it solve an RC bug in etch.
only in patch2:
unchanged:
--- sysvinit-2.86.ds1.orig/src/mountpoint.c
+++ sysvinit-2.86.ds1/src/mountpoint.c
@@ -107,8 +107,14 @@
 	if (dostat(buf, &st2, 0, quiet) < 0)
 		return 1;
 
-	r = (st.st_dev != st2.st_dev) ||
-	    (st.st_dev == st2.st_dev && st.st_ino == st2.st_ino);
+	/* There are two reasons which are sufficient to conclude that
+	 * a directory is a mountpoint.  The common case (when it is a
+	 * mountpoint) is that the device is different from the device
+	 * of the parent directory.  An uncommon case (when it is also
+	 * a mountpoint) is when the same device is mounted on one
+	 * directory, as well as a subdirectory, and they have the
+	 * same device *and* inode. */
+	r = (st.st_dev!=st2.st_dev || st.st_ino==st2.st_ino);
 
 	if (!quiet && !showdev)
 		printf("%s is %sa mountpoint\n", path, r ? "" : "not ");





More information about the Pkg-sysvinit-devel mailing list