mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 15:33:39 +02:00
fileinfo: make UNIX_IS_MOUNTPOINT be TRUE for /
The previously implementation considered a file to be a mountpoint if its parent is on a different device. / is its own parent, so by this definition it is not a mountpoint. But / is (generally) listed in fstab, and fstab(5) defines the directories it contains to be mountpoints. This attribute should follow that definition (and reasonable expectation): the root directory is a mountpoint. So, add a special-case for the case where the file's parent has the same st_dev and st_ino as the file, which is true only at the root. Test this attribute at / (only on POSIX), /proc (but only on Linux), and at many files and directories created by the test suite (which cannot be mountpoints).
This commit is contained in:
@@ -644,7 +644,8 @@ typedef struct _GFileInfoClass GFileInfoClass;
|
||||
*
|
||||
* A key in the "unix" namespace for checking if the file represents a
|
||||
* UNIX mount point. This attribute is %TRUE if the file is a UNIX mount
|
||||
* point. This attribute is only available for UNIX file systems.
|
||||
* point. Since 2.58, `/` is considered to be a mount point.
|
||||
* This attribute is only available for UNIX file systems.
|
||||
* Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
|
||||
**/
|
||||
#define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */
|
||||
|
Reference in New Issue
Block a user