glib r7951 - trunk/gio



Author: alexl
Date: Tue Mar  3 14:40:44 2009
New Revision: 7951
URL: http://svn.gnome.org/viewvc/glib?rev=7951&view=rev

Log:
2009-03-03  Alexander Larsson  <alexl redhat com>

	* glocalfile.c (g_local_file_query_filesystem_info):
	Handle filesystems no supporting reporting how much is free.
	This fixes bug 573454 where the filesystem not supporting this
	is the gvfs smb backend over the fuse filesystem.




Modified:
   trunk/gio/ChangeLog
   trunk/gio/glocalfile.c

Modified: trunk/gio/glocalfile.c
==============================================================================
--- trunk/gio/glocalfile.c	(original)
+++ trunk/gio/glocalfile.c	Tue Mar  3 14:40:44 2009
@@ -957,14 +957,13 @@
 #endif
   block_size = statfs_buffer.f_bsize;
   
-#if defined(__linux__)
-  /* ncpfs does not know the amount of available and free space *
-   * assuming ncpfs is linux specific, if you are on a non-linux platform
-   * where ncpfs is available, please file a bug about it on bugzilla.gnome.org
+  /* Many backends can't report free size (for instance the gvfs fuse
+     backend for backend not supporting this), and set f_bfree to 0,
+     but it can be 0 for real too. We treat the availible == 0 and
+     free == 0 case as "both of these are invalid".
    */
-  if (statfs_buffer.f_bavail == 0 && statfs_buffer.f_bfree == 0 &&
-      /* linux/ncp_fs.h: NCP_SUPER_MAGIC == 0x564c */
-      statfs_buffer.f_type == 0x564c)
+#ifndef G_OS_WIN32
+  if (statfs_buffer.f_bavail == 0 && statfs_buffer.f_bfree == 0)
     no_size = TRUE;
 #endif
   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]