I have been doing some debugging of gnome-vfs with the kind support of
a fellow over on the gnome-vfs list (all of the details can be read in
the gnome-vfs mailing list).

The problem is that Nautilus was not showing the file details (type,
size, etc.) of files >2GB.  This turned out to be a gnome-vfs bug, not
a Nautilus bug.  Darin (the very helpful gnome-vfs fella) has updated
the CVS HEAD for Gnome 2's version of gnome-vfs but will not get to
backporting the patch to Gnome 1's version in cvs until maybe later
next week.

In the meantime, please find attached the patch that he and I have
come up with to fix this problem in gnome-vfs 1.0.4.  Could we have it
applied to Cooker/8.2 Beta while the official gnome-vfs update is
made?

Thanx,
b.

-- 
Brian J. Murrell
diff -ur gnome-vfs-1.0.4/libgnomevfs/Makefile.am 
gnome-vfs-1.0.4/libgnomevfs/Makefile.am
--- gnome-vfs-1.0.4/libgnomevfs/Makefile.am     Fri Nov  9 22:55:17 2001
+++ gnome-vfs-1.0.4/libgnomevfs/Makefile.am     Sat Feb  9 14:48:42 2002
@@ -16,7 +16,10 @@
        $(GCONF_CFLAGS)                         \
        $(VFS_CFLAGS) $(WERROR)                 \
         $(OPENSSL_CFLAGS)                       \
+       -D_FILE_OFFSET_BITS=64                  \
+       -D_BSD_SOURCE                           \
        -D_GNU_SOURCE                           \
+       -D_LARGEFILE64_SOURCE                   \
        -D_REENTRANT                            \
        -D_POSIX_PTHREAD_SEMANTICS              \
        -DLIBDIR=\"$(libdir)\"                  \
diff -ur gnome-vfs-1.0.4/libgnomevfs/Makefile.in 
gnome-vfs-1.0.4/libgnomevfs/Makefile.in
--- gnome-vfs-1.0.4/libgnomevfs/Makefile.in     Sun Jan 20 09:32:12 2002
+++ gnome-vfs-1.0.4/libgnomevfs/Makefile.in     Sat Feb  9 15:10:47 2002
@@ -188,7 +188,7 @@
 
 NULL = 
 
-INCLUDES =     -DGNOME_VFS_CONFDIR=\"$(sysconfdir)\"           
-DGNOME_VFS_DATADIR=\"$(datadir)\"              -DGNOME_VFS_PREFIX=\"$(prefix)\"       
         -I$(top_srcdir)                                 -I$(top_srcdir)/intl          
                  -I$(top_builddir)                               
-I$(top_builddir)/intl                          -I$(top_builddir)/libgnomevfs          
         $(GLIB_CFLAGS)                                  $(ORBIT_CFLAGS)               
                  $(OAF_CFLAGS)                                   $(XML_CFLAGS)        
                           $(GCONF_CFLAGS)                                 
$(VFS_CFLAGS) $(WERROR)                         $(OPENSSL_CFLAGS)                      
         -D_GNU_SOURCE                                   -D_REENTRANT                  
                  -D_POSIX_PTHREAD_SEMANTICS                      
-DLIBDIR=\"$(libdir)\"                          -DSYSCONFDIR=\"$(sysconfdir)\"         
         -DG_LOG_DOMAIN=\"GnomeVFS\"                     $(NULL)
+INCLUDES =     -DGNOME_VFS_CONFDIR=\"$(sysconfdir)\"           
+-DGNOME_VFS_DATADIR=\"$(datadir)\"              -DGNOME_VFS_PREFIX=\"$(prefix)\"      
+          -I$(top_srcdir)                                 -I$(top_srcdir)/intl        
+                    -I$(top_builddir)                               
+-I$(top_builddir)/intl                          -I$(top_builddir)/libgnomevfs         
+          $(GLIB_CFLAGS)                                  $(ORBIT_CFLAGS)             
+                    $(OAF_CFLAGS)                                   $(XML_CFLAGS)     
+                              $(GCONF_CFLAGS)                                 
+$(VFS_CFLAGS) $(WERROR)                         $(OPENSSL_CFLAGS)                     
+          -D_FILE_OFFSET_BITS=64                          -D_BSD_SOURCE               
+                    -D_GNU_SOURCE                                   
+-D_LARGEFILE64_SOURCE                           -D_REENTRANT                          
+          -D_POSIX_PTHREAD_SEMANTICS                      -DLIBDIR=\"$(libdir)\"      
+                    -DSYSCONFDIR=\"$(sysconfdir)\"                  
+-DG_LOG_DOMAIN=\"GnomeVFS\"                     $(NULL)
 
 
 lib_LTLIBRARIES = libgnomevfs.la
diff -ur gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.c 
gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.c
--- gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.c       Wed Jul 18 10:02:31 
2001
+++ gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.c       Sat Feb  9 14:57:16 
+2002
@@ -1,7 +1,4 @@
 #include <config.h>
 
-#define _LARGEFILE64_SOURCE
-#define _BSD_SOURCE /* so S_ISVTX and hence GNOME_VFS_PERM_STICKY will be defined */
-
 #include "gnome-vfs-module-shared.h"
 #include <dirent.h>
diff -ur gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.h 
gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.h
--- gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.h       Sat Jul  7 04:49:00 
2001
+++ gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-module-shared.h       Sat Feb  9 14:58:27 
+2002
@@ -25,6 +25,11 @@
 #ifndef GNOME_VFS_MODULE_SHARED_H
 #define GNOME_VFS_MODULE_SHARED_H
 
+/* This check is for Linux, but should be harmless on other platforms. */
+#if !defined (_LARGEFILE64_SOURCE) || _FILE_OFFSET_BITS+0 != 64
+#error configuration macros set inconsistently, gnome_vfs_stat_to_file_info will 
+malfunction
+#endif
+
 #include <libgnomevfs/gnome-vfs-file-info.h>
 
 const gchar *   gnome_vfs_mime_type_from_mode  (mode_t mode);
diff -ur gnome-vfs-1.0.4/modules/Makefile.am gnome-vfs-1.0.4/modules/Makefile.am
--- gnome-vfs-1.0.4/modules/Makefile.am Tue Jan 15 21:39:32 2002
+++ gnome-vfs-1.0.4/modules/Makefile.am Sat Feb  9 15:10:41 2002
@@ -13,7 +13,10 @@
        $(GCONF_CFLAGS)                         \
        $(VFS_GNOME_CFLAGS)                     \
        $(VFS_CFLAGS) $(WERROR)                 \
+       -D_FILE_OFFSET_BITS=64                  \
+       -D_BSD_SOURCE                           \
        -D_GNU_SOURCE                           \
+       -D_LARGEFILE64_SOURCE                   \
        -D_REENTRANT                            \
        -D_POSIX_PTHREAD_SEMANTICS              \
        -DSYSCONFDIR=\"$(sysconfdir)\"          \
diff -ur gnome-vfs-1.0.4/modules/Makefile.in gnome-vfs-1.0.4/modules/Makefile.in
--- gnome-vfs-1.0.4/modules/Makefile.in Sun Jan 20 09:32:18 2002
+++ gnome-vfs-1.0.4/modules/Makefile.in Sat Feb  9 15:10:48 2002
@@ -189,7 +189,7 @@
 NULL = 
 SUBDIRS = extfs
 
-INCLUDES =     -I$(top_srcdir)                                 
-I$(top_srcdir)/libgnomevfs                     -I$(top_builddir)/libgnomevfs          
         -I$(top_srcdir)/intl                            -I$(top_builddir)/intl        
                  $(GLIB_CFLAGS)                                  $(XML_CFLAGS)        
                           $(LIBEFS_CFLAGS)                                
$(GCONF_CFLAGS)                                 $(VFS_GNOME_CFLAGS)                    
         $(VFS_CFLAGS) $(WERROR)                         -D_GNU_SOURCE                 
                  -D_REENTRANT                                    
-D_POSIX_PTHREAD_SEMANTICS                      -DSYSCONFDIR=\"$(sysconfdir)\"         
         -DPREFIX=\"$(prefix)\"
+INCLUDES =     -I$(top_srcdir)                                 
+-I$(top_srcdir)/libgnomevfs                     -I$(top_builddir)/libgnomevfs         
+          -I$(top_srcdir)/intl                            -I$(top_builddir)/intl      
+                    $(GLIB_CFLAGS)                                  $(XML_CFLAGS)     
+                              $(LIBEFS_CFLAGS)                                
+$(GCONF_CFLAGS)                                 $(VFS_GNOME_CFLAGS)                   
+          $(VFS_CFLAGS) $(WERROR)                         -D_FILE_OFFSET_BITS=64      
+                    -D_BSD_SOURCE                                   -D_GNU_SOURCE     
+                              -D_LARGEFILE64_SOURCE                           
+-D_REENTRANT                                    -D_POSIX_PTHREAD_SEMANTICS            
+          -DSYSCONFDIR=\"$(sysconfdir)\"                  -DPREFIX=\"$(prefix)\"
 
 
 EXTRA_DIST =   default-modules.conf                            cdda-module.conf       
                         ssl-modules.conf                                
$(libnfs_la_SRCLIST)                            $(libssh_la_SRCLIST)
diff -ur gnome-vfs-1.0.4/modules/file-method.c gnome-vfs-1.0.4/modules/file-method.c
--- gnome-vfs-1.0.4/modules/file-method.c       Fri Nov  9 22:26:41 2001
+++ gnome-vfs-1.0.4/modules/file-method.c       Sat Feb  9 15:00:08 2002
@@ -28,8 +28,6 @@
 #include <config.h>
 #endif
 
-#define _LARGEFILE64_SOURCE
-
 #include <glib.h>
 #if GNOME_PLATFORM_VERSION < 1095000
 #include <libgnome/gnome-defs.h>
diff -ur gnome-vfs-1.0.4/modules/file-method.c gnome-vfs-1.0.4/modules/file-method.c
--- gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-file-info.h   Sun Feb 10 01:15:18 2002
+++ gnome-vfs-1.0.4/libgnomevfs/gnome-vfs-file-info.h   Sun Feb 10 01:15:11 2002
@@ -123,7 +123,7 @@
 
        /* This is only valid if `is_local' is TRUE (see below).  */
        dev_t device;
-       ino_t inode;
+       gulong inode;
 
        /* Link count.  */
        guint link_count;

Reply via email to