rpms/gvfs/F-12 gvfs-1.4.2-smb-queryfs-win-fix.patch, NONE, 1.1 gvfs.spec, 1.171, 1.172

Tomas Bzatek tbzatek at fedoraproject.org
Mon Nov 16 16:01:54 UTC 2009


Author: tbzatek

Update of /cvs/extras/rpms/gvfs/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13457

Modified Files:
	gvfs.spec 
Added Files:
	gvfs-1.4.2-smb-queryfs-win-fix.patch 
Log Message:
* Mon Nov 16 2009 Tomas Bzatek <tbzatek at redhat.com> - 1.4.1-7
- SMB: Fix free space calculation for Windows hosts


gvfs-1.4.2-smb-queryfs-win-fix.patch:
 gvfsbackendsmb.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- NEW FILE gvfs-1.4.2-smb-queryfs-win-fix.patch ---
>From c012df3f429cc7a55d94a2eb2710a271894db7ff Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek at redhat.com>
Date: Mon, 16 Nov 2009 16:43:24 +0100
Subject: [PATCH] [SMB] Fix free space calculation for Windows hosts

Needs more testing, it's just a workaround. Docs missing!
---
 daemon/gvfsbackendsmb.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index 1f8dc6b..37c6c20 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -1614,8 +1614,12 @@ do_query_fs_info (GVfsBackend *backend,
 
       if (res == 0)
         {
-          g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE, st.f_bsize * st.f_blocks);
-          g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_FREE, st.f_bsize * st.f_bavail);
+          /* FIXME: inconsistent return values (libsmbclient-3.4.2)
+           *       - for linux samba hosts, f_frsize is zero and f_bsize is a real block size
+           *       - for some Windows hosts (XP), f_frsize and f_bsize should be multiplied to get real block size
+           */
+          g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE, st.f_bsize * st.f_blocks * ((st.f_frsize == 0) ? 1 : st.f_frsize));
+          g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_FREE, st.f_bsize * st.f_bfree * ((st.f_frsize == 0) ? 1 : st.f_frsize));
           g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_FILESYSTEM_READONLY, st.f_flag & SMBC_VFS_FEATURE_RDONLY);
         }
     }
-- 
1.6.5.2



Index: gvfs.spec
===================================================================
RCS file: /cvs/extras/rpms/gvfs/F-12/gvfs.spec,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -p -r1.171 -r1.172
--- gvfs.spec	12 Nov 2009 17:10:07 -0000	1.171
+++ gvfs.spec	16 Nov 2009 16:01:53 -0000	1.172
@@ -1,7 +1,7 @@
 Summary: Backends for the gio framework in GLib
 Name: gvfs
 Version: 1.4.1
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
@@ -41,6 +41,7 @@ Patch1: 0001-Add-AFC-backend.patch
 Patch2: http-icons.patch
 # https://bugzilla.gnome.org/show_bug.cgi?id=565337
 Patch3: gvfs-1.4.2-smb-queryfs.patch
+Patch4: gvfs-1.4.2-smb-queryfs-win-fix.patch
 # from upstream
 Patch12: gvfs-1.4.1-http-suport-stream-query-info.patch
 Patch13: gvfs-1.4.1-http-soup-header-parsing.patch
@@ -145,6 +146,7 @@ and iPod Touches to applications using g
 %patch1 -p1 -b .afc
 %patch2 -p1 -b .http-icons
 %patch3 -p1 -b .smb-queryfs
+%patch4 -p1 -b .smb-queryfs-winxp
 %patch12 -p1 -b .http-query-info
 %patch13 -p1 -b .http-headers
 %patch14 -p1 -b .dead-code
@@ -314,6 +316,9 @@ killall -USR1 gvfsd >&/dev/null || :
 %{_datadir}/gvfs/remote-volume-monitors/afc.monitor
 
 %changelog
+* Mon Nov 16 2009 Tomas Bzatek <tbzatek at redhat.com> - 1.4.1-7
+- SMB: Fix free space calculation for Windows hosts
+
 * Thu Nov 12 2009 Matthias Clasen <mclasen at redhat.com> 1.4.1-6
 - Add obsoletes for gnome-mount
 




More information about the fedora-extras-commits mailing list