Merge pull request #2543 from ermshiperete/Xamarin-31021
authorAlex Rønne Petersen <alex@alexrp.com>
Tue, 15 Mar 2016 11:41:02 +0000 (12:41 +0100)
committerAlex Rønne Petersen <alex@alexrp.com>
Tue, 15 Mar 2016 11:41:02 +0000 (12:41 +0100)
Don't ignore drives with type "aufs" or "overlay" (Xamarin-31021)

mono/io-layer/io.c

index bac7e8749989225afd4371dc853b4ee6a64d3303..b751134d7045aa6a2cae4e3fc3ba186fedbd66c1 100644 (file)
@@ -3733,9 +3733,14 @@ add_drive_string (guint32 len, gunichar2 *buf, LinuxMountInfoParseState *state)
 
        if (state->fsname_index == 1 && state->fsname [0] == '/')
                ignore_entry = FALSE;
-       else if (state->fsname_index == 0 || memcmp ("none", state->fsname, state->fsname_index) == 0)
+       else if (memcmp ("overlay", state->fsname, state->fsname_index) == 0 ||
+               memcmp ("aufs", state->fstype, state->fstype_index) == 0) {
+               /* Don't ignore overlayfs and aufs - these might be used on Docker
+                * (https://bugzilla.xamarin.com/show_bug.cgi?id=31021) */
+               ignore_entry = FALSE;
+       } else if (state->fsname_index == 0 || memcmp ("none", state->fsname, state->fsname_index) == 0) {
                ignore_entry = TRUE;
-       else if (state->fstype_index >= 5 && memcmp ("fuse.", state->fstype, 5) == 0) {
+       else if (state->fstype_index >= 5 && memcmp ("fuse.", state->fstype, 5) == 0) {
                /* Ignore GNOME's gvfs */
                if (state->fstype_index == 21 && memcmp ("fuse.gvfs-fuse-daemon", state->fstype, state->fstype_index) == 0)
                        ignore_entry = TRUE;