Hello community,

here is the log from the commit of package gvfs for openSUSE:Factory checked in 
at 2018-06-13 15:13:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gvfs (Old)
 and      /work/SRC/openSUSE:Factory/.gvfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gvfs"

Wed Jun 13 15:13:40 2018 rev:151 rq:615196 version:1.36.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gvfs/gvfs.changes        2018-05-10 
15:46:26.555767080 +0200
+++ /work/SRC/openSUSE:Factory/.gvfs.new/gvfs.changes   2018-06-13 
15:13:42.645113722 +0200
@@ -1,0 +2,6 @@
+Fri Jun  8 09:38:55 UTC 2018 - [email protected]
+
+- Add gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch: Fix
+  failures copying files on smb mounts (bgo#795805 boo#1096476).
+
+-------------------------------------------------------------------

New:
----
  gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gvfs.spec ++++++
--- /var/tmp/diff_new_pack.ps1lmC/_old  2018-06-13 15:13:43.245091833 +0200
+++ /var/tmp/diff_new_pack.ps1lmC/_new  2018-06-13 15:13:43.245091833 +0200
@@ -27,6 +27,8 @@
 URL:            https://wiki.gnome.org/Projects/gvfs
 Source0:        
http://download.gnome.org/sources/gvfs/1.36/%{name}-%{version}.tar.xz
 Source99:       baselibs.conf
+# PATCH-FIX-UPSTREAM gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch 
bgo#795805 boo#1096476 [email protected] -- Fix failures copying files on smb 
mounts
+Patch1:         gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch
 ### NOTE: Please, keep SLE-only patches at bottom (starting on 1000).
 # PATCH-FEATURE-SLE gvfs-nds.patch [email protected] -- Provides NDS browsing 
for nautilus
 Patch1000:      gvfs-nds.patch
@@ -164,6 +166,7 @@
 %prep
 %setup -q
 translation-update-upstream
+%patch1 -p1
 %if !0%{?is_opensuse}
 %patch1000 -p1
 %patch1001 -p1

++++++ gvfs-smb-Use-O_RDWR-to-fix-fstat-when-writing.patch ++++++
>From 3f6f906c7c7b28dc30edb98200b6e13e1a513bb4 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <[email protected]>
Date: Wed, 9 May 2018 12:54:59 +0200
Subject: [PATCH] smb: Use O_RDWR to fix fstat when writing

fstat fails with EINVAL on Windows servers if O_WRONLY is used to open
(though it works properly on SAMBA servers). O_RDWR is needed to make
it work. This causes issues when copying files over gvfsd-fuse among
others.

https://bugzilla.gnome.org/show_bug.cgi?id=795805
---
 daemon/gvfsbackendsmb.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index d4944197..9571fa0d 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -808,7 +808,7 @@ do_create (GVfsBackend *backend,
   smbc_open = smbc_getFunctionOpen (op_backend->smb_context);
   errno = 0;
   file = smbc_open (op_backend->smb_context, uri,
-                   O_CREAT|O_WRONLY|O_EXCL, 0666);
+                    O_CREAT|O_RDWR|O_EXCL, 0666);
   g_free (uri);
 
   if (file == NULL)
@@ -850,7 +850,7 @@ do_append_to (GVfsBackend *backend,
   smbc_open = smbc_getFunctionOpen (op_backend->smb_context);
   errno = 0;
   file = smbc_open (op_backend->smb_context, uri,
-                                       O_CREAT|O_WRONLY|O_APPEND, 0666);
+                    O_CREAT|O_RDWR|O_APPEND, 0666);
   g_free (uri);
 
   if (file == NULL)
@@ -916,7 +916,7 @@ open_tmpfile (GVfsBackendSmb *backend,
     smbc_open = smbc_getFunctionOpen (backend->smb_context);
     errno = 0;
     file = smbc_open (backend->smb_context, tmp_uri,
-                     O_CREAT|O_WRONLY|O_EXCL, 0666);
+                      O_CREAT|O_RDWR|O_EXCL, 0666);
   } while (file == NULL && errno == EEXIST);
 
   g_free (dir_uri);
@@ -1040,7 +1040,7 @@ do_replace (GVfsBackend *backend,
   
   errno = 0;
   file = smbc_open (op_backend->smb_context, uri,
-                   O_CREAT|O_WRONLY|O_EXCL, 0);
+                    O_CREAT|O_RDWR|O_EXCL, 0);
   if (file == NULL && errno != EEXIST)
     {
       int errsv = fixup_open_errno (errno);
@@ -1110,7 +1110,7 @@ do_replace (GVfsBackend *backend,
          
          errno = 0;
          file = smbc_open (op_backend->smb_context, uri,
-                           O_CREAT|O_WRONLY|O_TRUNC, 0);
+                            O_CREAT|O_RDWR|O_TRUNC, 0);
          if (file == NULL)
            {
               int errsv = fixup_open_errno (errno);
-- 
2.13.7


Reply via email to