Hello community,

here is the log from the commit of package sshfs for openSUSE:Factory checked 
in at 2019-11-06 14:06:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sshfs (Old)
 and      /work/SRC/openSUSE:Factory/.sshfs.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sshfs"

Wed Nov  6 14:06:01 2019 rev:33 rq:745401 version:3.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/sshfs/sshfs.changes      2019-04-18 
09:56:43.825352837 +0200
+++ /work/SRC/openSUSE:Factory/.sshfs.new.2990/sshfs.changes    2019-11-06 
14:06:04.712784309 +0100
@@ -1,0 +2,13 @@
+Sun Nov  3 09:56:36 UTC 2019 - Ismail Dönmez <[email protected]>
+
+- Update to version 3.6.0
+  * Added "-o direct_io" option.
+    This option disables the use of page cache in kernel.
+    This is useful for example if the file size is not known before reading it.
+    For example if you mount /proc dir from a remote host without the direct_io
+    option, the read always will return zero bytes instead of actual data.
+  * Added --verbose option.
+  * Fixed a number of compiler warnings.
+  * Improved performance under OS X.
+
+-------------------------------------------------------------------

Old:
----
  sshfs-3.5.2.tar.xz
  sshfs-3.5.2.tar.xz.asc

New:
----
  sshfs-3.6.0.tar.xz
  sshfs-3.6.0.tar.xz.asc

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

Other differences:
------------------
++++++ sshfs.spec ++++++
--- /var/tmp/diff_new_pack.hNIch6/_old  2019-11-06 14:06:05.804785452 +0100
+++ /var/tmp/diff_new_pack.hNIch6/_new  2019-11-06 14:06:05.808785456 +0100
@@ -12,12 +12,12 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           sshfs
-Version:        3.5.2
+Version:        3.6.0
 Release:        0
 Summary:        Filesystem client based on SSH file transfer protocol
 License:        GPL-2.0-or-later

++++++ sshfs-3.5.2.tar.xz -> sshfs-3.6.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/.github/ISSUE_TEMPLATE/issue-report.md 
new/sshfs-3.6.0/.github/ISSUE_TEMPLATE/issue-report.md
--- old/sshfs-3.5.2/.github/ISSUE_TEMPLATE/issue-report.md      1970-01-01 
01:00:00.000000000 +0100
+++ new/sshfs-3.6.0/.github/ISSUE_TEMPLATE/issue-report.md      2019-11-03 
10:34:29.000000000 +0100
@@ -0,0 +1,17 @@
+---
+name: Issue report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+PLEASE READ BEFORE REPORTING AN ISSUE
+
+SSHFS does not have any active, regular contributors or developers. The 
current maintainer continues to apply pull requests and tries to make regular 
releases, but unfortunately has no capacity to do any development beyond 
addressing high-impact issues. When reporting bugs, please understand that 
unless you are including a pull request or are reporting a critical issue, you 
will probably not get a response.
+
+To prevent the issue tracker from being flooded with issues that no-one is 
intending to work on, and to give more visibilty to critical issues that users 
should be aware of and that most urgently need attention, I will also close 
most bug reports once they've been inactive for a while.
+
+Please note that this isn't meant to imply that you haven't found a bug - you 
most likely have and I'm grateful that you took the time to report it. 
Unfortunately, SSHFS is a purely volunteer driven project,
+and at the moment there simply aren't any volunteers.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/AUTHORS new/sshfs-3.6.0/AUTHORS
--- old/sshfs-3.5.2/AUTHORS     2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/AUTHORS     2019-11-03 10:34:29.000000000 +0100
@@ -25,6 +25,7 @@
 Daniel Lublin <[email protected]>
 DrDaveD <[email protected]>
 gala <[email protected]>
+Galen Getsov <[email protected]>
 George Vlahavas <[email protected]>
 G.raud Meyer <[email protected]>
 harrim4n <[email protected]>
@@ -32,7 +33,10 @@
 Josh Triplett <[email protected]>
 Julio Merino <[email protected]>
 Julio Merino <[email protected]>
+kalvdans <[email protected]>
+Michael Forney <[email protected]>
 Mike Kelly <[email protected]>
+Mike Salvatore <[email protected]>
 Miklos Szeredi <[email protected]>
 Miklos Szeredi <[email protected]>
 mssalvatore <[email protected]>
@@ -46,7 +50,9 @@
 Samuel Murray <[email protected]>
 S. D. Cloudt <[email protected]>
 smheidrich <[email protected]>
+sunwire <[email protected]>
 Tim Harder <[email protected]>
 Timo Savola <[email protected]>
 tpoindessous <[email protected]>
+Viktor Szakats <[email protected]>
 Zoltan Kuscsik <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/ChangeLog.rst 
new/sshfs-3.6.0/ChangeLog.rst
--- old/sshfs-3.5.2/ChangeLog.rst       2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/ChangeLog.rst       2019-11-03 10:34:29.000000000 +0100
@@ -1,3 +1,16 @@
+Release 3.6.0 (2019-11-03)
+--------------------------
+
+* Added "-o direct_io" option.
+  This option disables the use of page cache in kernel.
+  This is useful for example if the file size is not known before reading it.
+  For example if you mount /proc dir from a remote host without the direct_io
+  option, the read always will return zero bytes instead of actual data.
+* Added --verbose option.
+* Fixed a number of compiler warnings.
+* Improved performance under OS X.
+
+
 Release 3.5.2 (2019-04-13)
 --------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/README.rst new/sshfs-3.6.0/README.rst
--- old/sshfs-3.5.2/README.rst  2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/README.rst  2019-11-03 10:34:29.000000000 +0100
@@ -10,6 +10,20 @@
 very simple to use - there's nothing to do on the server-side.
 
 
+Development Status
+------------------
+
+SSHFS is shipped by all major Linux distributions and has been in
+production use across a wide range of systems for many years. However,
+at present SSHFS does not have any active, regular contributors, and
+there are a number of known issues (see the bugtracker).  The current
+maintainer continues to apply pull requests and makes regular
+releases, but unfortunately has no capacity to do any development
+beyond addressing high-impact issues. When reporting bugs, please
+understand that unless you are including a pull request or are
+reporting a critical issue, you will probably not get a response.
+
+
 How to use
 ----------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/meson.build new/sshfs-3.6.0/meson.build
--- old/sshfs-3.5.2/meson.build 2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/meson.build 2019-11-03 10:34:29.000000000 +0100
@@ -1,4 +1,4 @@
-project('sshfs', 'c', version: '3.5.2',
+project('sshfs', 'c', version: '3.6.0',
         meson_version: '>= 0.40',
         default_options: [ 'buildtype=debugoptimized' ])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/sshfs.c new/sshfs-3.6.0/sshfs.c
--- old/sshfs-3.5.2/sshfs.c     2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/sshfs.c     2019-11-03 10:34:29.000000000 +0100
@@ -38,7 +38,7 @@
 #include <sys/socket.h>
 #include <sys/utsname.h>
 #include <sys/mman.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <netinet/in.h>
 #include <netinet/tcp.h>
 #include <glib.h>
@@ -244,7 +244,9 @@
        int sync_write;
        int sync_read;
        int sync_readdir;
+  int direct_io;
        int debug;
+       int verbose;
        int foreground;
        int reconnect;
        int delay_connect;
@@ -398,6 +400,7 @@
        SSHFS_OPT("no_readahead",      sync_read, 1),
        SSHFS_OPT("sync_readdir",      sync_readdir, 1),
        SSHFS_OPT("sshfs_debug",       debug, 1),
+       SSHFS_OPT("sshfs_verbose",     verbose, 1),
        SSHFS_OPT("reconnect",         reconnect, 1),
        SSHFS_OPT("transform_symlinks", transform_symlinks, 1),
        SSHFS_OPT("follow_symlinks",   follow_symlinks, 1),
@@ -408,6 +411,7 @@
        SSHFS_OPT("disable_hardlink",  disable_hardlink, 1),
        SSHFS_OPT("dir_cache=yes", dir_cache, 1),
        SSHFS_OPT("dir_cache=no",  dir_cache, 0),
+       SSHFS_OPT("direct_io",  direct_io, 1),
 
        SSHFS_OPT("-h",         show_help, 1),
        SSHFS_OPT("--help",     show_help, 1),
@@ -415,6 +419,8 @@
        SSHFS_OPT("--version",  show_version, 1),
        SSHFS_OPT("-d",         debug, 1),
        SSHFS_OPT("debug",      debug, 1),
+       SSHFS_OPT("-v",         verbose, 1),
+       SSHFS_OPT("verbose",    verbose, 1),
        SSHFS_OPT("-f",         foreground, 1),
        SSHFS_OPT("-s",         singlethread, 1),
 
@@ -1037,7 +1043,7 @@
                        perror("failed to redirect input/output");
                        _exit(1);
                }
-               if (!sshfs.foreground && devnull != -1)
+               if (!sshfs.verbose && !sshfs.foreground && devnull != -1)
                        dup2(devnull, 2);
 
                close(devnull);
@@ -1116,11 +1122,14 @@
        sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
        if (sock == -1) {
                perror("failed to create socket");
+               freeaddrinfo(ai);
                return -1;
        }
        err = connect(sock, ai->ai_addr, ai->ai_addrlen);
        if (err == -1) {
                perror("failed to connect");
+               freeaddrinfo(ai);
+               close(sock);
                return -1;
        }
        opt = 1;
@@ -1736,7 +1745,7 @@
                sshfs.sync_read = 1;
 
        // These workarounds require the "path" argument.
-        cfg->nullpath_ok = ~(sshfs.truncate_workaround || 
sshfs.fstat_workaround);
+        cfg->nullpath_ok = !(sshfs.truncate_workaround || 
sshfs.fstat_workaround);
 
         // Lookup of . and .. is supported
         conn->capable |= FUSE_CAP_EXPORT_SUPPORT;
@@ -2509,6 +2518,9 @@
        if (sshfs.dir_cache)
                wrctr = cache_get_write_ctr();
 
+  if (sshfs.direct_io)
+    fi->direct_io = 1;
+
        if ((fi->flags & O_ACCMODE) == O_RDONLY)
                pflags = SSH_FXF_READ;
        else if((fi->flags & O_ACCMODE) == O_WRONLY)
@@ -3357,6 +3369,7 @@
 "    -o no_readahead        synchronous reads (no speculative readahead)\n"
 "    -o sync_readdir        synchronous readdir\n"
 "    -d, --debug            print some debugging information (implies -f)\n"
+"    -v, --verbose          print ssh replies and messages\n"
 "    -o dir_cache=BOOL      enable caching of directory contents (names,\n"
 "                           attributes, symlink targets) {yes,no} (default: 
yes)\n"
 "    -o dcache_max_size=N   sets the maximum size of the directory cache 
(default: 10000)\n"
@@ -3369,6 +3382,7 @@
 "    -o dcache_min_clean_interval=N\n"
 "                           sets the interval for forced cleaning of the\n"
 "                           cache if full (default: 5)\n"
+"    -o direct_io           enable direct i/o\n"
 "    -o workaround=LIST     colon separated list of workarounds\n"
 "             none             no workarounds enabled\n"
 "             [no]rename       fix renaming to existing file (default: off)\n"
@@ -3480,7 +3494,7 @@
                                  * mountpoint to later be completely
                                  * unprivileged with libfuse >= 3.3.0.
                                  */
-                                sshfs.mountpoint = arg;
+                                sshfs.mountpoint = strdup(arg);
                         } else {
                                 sshfs.mountpoint = realpath(arg, NULL);
                         }
@@ -3915,7 +3929,11 @@
        }
 #endif /* __APPLE__ */
 
+#ifdef __APPLE__
+       sshfs.blksize = 0;
+#else
        sshfs.blksize = 4096;
+#endif
        /* SFTP spec says all servers should allow at least 32k I/O */
        sshfs.max_read = 32768;
        sshfs.max_write = 32768;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshfs-3.5.2/sshfs.rst new/sshfs-3.6.0/sshfs.rst
--- old/sshfs-3.5.2/sshfs.rst   2019-04-13 10:25:45.000000000 +0200
+++ new/sshfs-3.6.0/sshfs.rst   2019-11-03 10:34:29.000000000 +0100
@@ -202,6 +202,17 @@
    sets the interval for forced cleaning of the directory cache
    when full.
 
+-o direct_io
+   This option disables the use of page cache (file content cache) in 
+   the kernel for this filesystem.
+   This has several affects:
+   1. Each read() or write() system call will initiate one or more read or
+      write operations, data will not be cached in the kernel.
+   2. The return value of the read() and write() system calls will correspond 
+      to the return values of the read and write operations. This is useful 
+      for example if the file size is not known in advance (before reading it).
+      e.g. /proc filesystem 
+
 In addition, SSHFS accepts several options common to all FUSE file
 systems. These are described in the `mount.fuse` manpage (look
 for "general", "libfuse specific", and "high-level API" options).



Reply via email to