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

Bug#987561: marked as done ([pre-approval] unblock: fuse3/3.10.3-1)



Your message dated Thu, 13 May 2021 11:43:02 +0200
with message-id <YJz0pj4fHEuA7Buw@ramacher.at>
and subject line Re: Bug#987561: [pre-approval] unblock: fuse3/3.10.3-1
has caused the Debian Bug report #987561,
regarding [pre-approval] unblock: fuse3/3.10.3-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
987561: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987561
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

[ Reason ]
While it's a new upstream release, it only contains a bugfix [1] and
correcting spelling mistakes.
The actual change is in lib/fuse.c and very small [2]. Other changes
are for the example and tests to keep those in sync.

[ Impact ]
Would provide a fixed and consistent working of fuse3.

[ Tests ]
Rebuilt all reverse dependencies and those are fine.

[ Risks ]
Contains an udeb and currently I don't know how to test it.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

Thanks for considering,
Laszlo/GCS
[1] https://github.com/libfuse/libfuse/commit/bdd2d4110fbc6d2059eb699efad2cca4a7eacccb
[2] https://github.com/libfuse/libfuse/commit/bdd2d4110fbc6d2059eb699efad2cca4a7eacccb#diff-0a915c0d19eddb55a580a696b995dab0574ae0f7f04f9136c60d2f3c8a90ac39
diff -Nru --exclude html fuse3-3.10.2/AUTHORS fuse3-3.10.3/AUTHORS
--- fuse3-3.10.2/AUTHORS	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/AUTHORS	2021-04-12 12:18:08.000000000 +0200
@@ -82,6 +82,7 @@
 HazelFZ <xfzfygz@gmail.com>
 Heiko Becker <heirecka@exherbo.org>
 Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+Hookey <Hookey@users.noreply.github.com>
 human <human@neet.fi>
 Ikey Doherty <michael.i.doherty@intel.com>
 itsdeepak <deepak.sn@samsung.com>
@@ -163,6 +164,7 @@
 Tej Chajed <tchajed@mit.edu>
 tenzap <46226844+tenzap@users.noreply.github.com>
 therealneworld@gmail.com <therealneworld@gmail.com>
+Tobias Nießen <tniessen@users.noreply.github.com>
 Tomasz Kulasek <34129113+tkulasek@users.noreply.github.com>
 Tom Callaway <spot@fedoraproject.org>
 Tom Callaway <spotrh@gmail.com>
diff -Nru --exclude html fuse3-3.10.2/ChangeLog.rst fuse3-3.10.3/ChangeLog.rst
--- fuse3-3.10.2/ChangeLog.rst	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/ChangeLog.rst	2021-04-12 12:18:08.000000000 +0200
@@ -1,3 +1,8 @@
+libfuse 3.10.3 (2021-04-12)
+===========================
+
+* Fix returning d_ino and d_type from readdir(3) in non-plus mode
+  
 libfuse 3.10.2 (2021-02-05)
 ===========================
 
diff -Nru --exclude html fuse3-3.10.2/debian/changelog fuse3-3.10.3/debian/changelog
--- fuse3-3.10.2/debian/changelog	2021-02-24 23:28:30.000000000 +0100
+++ fuse3-3.10.3/debian/changelog	2021-04-21 14:34:39.000000000 +0200
@@ -1,3 +1,12 @@
+fuse3 (3.10.3-1) unstable; urgency=medium
+
+  * New upstream release:
+    - fix returning d_ino and d_type by readdir(3) in non-plus mode,
+    - remove unused fuse_worker bufsize,
+    - fix typos.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Wed, 21 Apr 2021 14:34:39 +0200
+
 fuse3 (3.10.2-2) unstable; urgency=medium
 
   * Mark libfuse3-dev as Multi-Arch same.
diff -Nru --exclude html fuse3-3.10.2/example/passthrough.c fuse3-3.10.3/example/passthrough.c
--- fuse3-3.10.2/example/passthrough.c	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/example/passthrough.c	2021-04-12 12:18:08.000000000 +0200
@@ -55,6 +55,8 @@
 
 #include "passthrough_helpers.h"
 
+static int fill_dir_plus = 0;
+
 static void *xmp_init(struct fuse_conn_info *conn,
 		      struct fuse_config *cfg)
 {
@@ -132,7 +134,7 @@
 		memset(&st, 0, sizeof(st));
 		st.st_ino = de->d_ino;
 		st.st_mode = de->d_type << 12;
-		if (filler(buf, de->d_name, &st, 0, FUSE_FILL_DIR_PLUS))
+		if (filler(buf, de->d_name, &st, 0, fill_dir_plus))
 			break;
 	}
 
@@ -551,6 +553,18 @@
 
 int main(int argc, char *argv[])
 {
+	enum { MAX_ARGS = 10 };
+	int i,new_argc;
+	char *new_argv[MAX_ARGS];
+
 	umask(0);
-	return fuse_main(argc, argv, &xmp_oper, NULL);
+			/* Process the "--plus" option apart */
+	for (i=0, new_argc=0; (i<argc) && (new_argc<MAX_ARGS); i++) {
+		if (!strcmp(argv[i], "--plus")) {
+			fill_dir_plus = FUSE_FILL_DIR_PLUS;
+		} else {
+			new_argv[new_argc++] = argv[i];
+		}
+	}
+	return fuse_main(new_argc, new_argv, &xmp_oper, NULL);
 }
diff -Nru --exclude html fuse3-3.10.2/include/fuse.h fuse3-3.10.3/include/fuse.h
--- fuse3-3.10.2/include/fuse.h	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/include/fuse.h	2021-04-12 12:18:08.000000000 +0200
@@ -361,14 +361,14 @@
 
 	/** Change the permission bits of a file
 	 *
-	 * `fi` will always be NULL if the file is not currenlty open, but
+	 * `fi` will always be NULL if the file is not currently open, but
 	 * may also be NULL if the file is open.
 	 */
 	int (*chmod) (const char *, mode_t, struct fuse_file_info *fi);
 
 	/** Change the owner and group of a file
 	 *
-	 * `fi` will always be NULL if the file is not currenlty open, but
+	 * `fi` will always be NULL if the file is not currently open, but
 	 * may also be NULL if the file is open.
 	 *
 	 * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is
@@ -378,7 +378,7 @@
 
 	/** Change the size of a file
 	 *
-	 * `fi` will always be NULL if the file is not currenlty open, but
+	 * `fi` will always be NULL if the file is not currently open, but
 	 * may also be NULL if the file is open.
 	 *
 	 * Unless FUSE_CAP_HANDLE_KILLPRIV is disabled, this method is
@@ -648,7 +648,7 @@
 	 * This supersedes the old utime() interface.  New applications
 	 * should use this.
 	 *
-	 * `fi` will always be NULL if the file is not currenlty open, but
+	 * `fi` will always be NULL if the file is not currently open, but
 	 * may also be NULL if the file is open.
 	 *
 	 * See the utimensat(2) man page for details.
@@ -856,7 +856,7 @@
  *   4: Mounting failed
  *   5: Failed to daemonize (detach from session)
  *   6: Failed to set up signal handlers
- *   7: An error occured during the life of the file system
+ *   7: An error occurred during the life of the file system
  *
  * @param argc the argument counter passed to the main() function
  * @param argv the argument vector passed to the main() function
diff -Nru --exclude html fuse3-3.10.2/include/fuse_lowlevel.h fuse3-3.10.3/include/fuse_lowlevel.h
--- fuse3-3.10.2/include/fuse_lowlevel.h	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/include/fuse_lowlevel.h	2021-04-12 12:18:08.000000000 +0200
@@ -1253,7 +1253,7 @@
  * Possible requests:
  *   all except forget
  *
- * Whereever possible, error codes should be chosen from the list of
+ * Wherever possible, error codes should be chosen from the list of
  * documented error conditions in the corresponding system calls
  * manpage.
  *
diff -Nru --exclude html fuse3-3.10.2/lib/fuse.c fuse3-3.10.3/lib/fuse.c
--- fuse3-3.10.2/lib/fuse.c	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/lib/fuse.c	2021-04-12 12:18:08.000000000 +0200
@@ -3578,6 +3578,11 @@
 		}
 	} else {
 		e.attr.st_ino = FUSE_UNKNOWN_INO;
+		if (statp) {
+			e.attr.st_mode = statp->st_mode;
+			if (f->conf.use_ino)
+				e.attr.st_ino = statp->st_ino;
+		}
 		if (!f->conf.use_ino && f->conf.readdir_ino) {
 			e.attr.st_ino = (ino_t)
 				lookup_nodeid(f, dh->nodeid, name);
diff -Nru --exclude html fuse3-3.10.2/lib/fuse_loop_mt.c fuse3-3.10.3/lib/fuse_loop_mt.c
--- fuse3-3.10.2/lib/fuse_loop_mt.c	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/lib/fuse_loop_mt.c	2021-04-12 12:18:08.000000000 +0200
@@ -32,7 +32,6 @@
 	struct fuse_worker *prev;
 	struct fuse_worker *next;
 	pthread_t thread_id;
-	size_t bufsize;
 
 	// We need to include fuse_buf so that we can properly free
 	// it when a thread is terminated by pthread_cancel().
diff -Nru --exclude html fuse3-3.10.2/meson.build fuse3-3.10.3/meson.build
--- fuse3-3.10.2/meson.build	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/meson.build	2021-04-12 12:18:08.000000000 +0200
@@ -1,4 +1,4 @@
-project('libfuse3', ['c'], version: '3.10.2',
+project('libfuse3', ['c'], version: '3.10.3',
         meson_version: '>= 0.42',
         default_options: [ 'buildtype=debugoptimized' ])
 
diff -Nru --exclude html fuse3-3.10.2/test/readdir_inode.c fuse3-3.10.3/test/readdir_inode.c
--- fuse3-3.10.2/test/readdir_inode.c	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/test/readdir_inode.c	2021-04-12 12:18:08.000000000 +0200
@@ -1,7 +1,8 @@
 /*
- * Prints each directory entry and its inode as returned by 'readdir'.
+ * Prints each directory entry, its inode and d_type as returned by 'readdir'.
  * Skips '.' and '..' because readdir is not required to return them and
- * some of our examples don't.
+ * some of our examples don't. However if they are returned, their d_type
+ * should be valid.
  */
 
 #include <stdio.h>
@@ -30,7 +31,18 @@
     dent = readdir(dirp);
     while (dent != NULL) {
         if (strcmp(dent->d_name, ".") != 0 && strcmp(dent->d_name, "..") != 0) {
-            printf("%llu %s\n", (unsigned long long)dent->d_ino, dent->d_name);
+            printf("%llu %d %s\n", (unsigned long long)dent->d_ino,
+			(int)dent->d_type, dent->d_name);
+            if ((long long)dent->d_ino < 0)
+               fprintf(stderr,"%s : bad d_ino %llu\n",
+                        dent->d_name, (unsigned long long)dent->d_ino);
+            if ((dent->d_type < 1) || (dent->d_type > 15))
+               fprintf(stderr,"%s : bad d_type %d\n",
+                        dent->d_name, (int)dent->d_type);
+        } else {
+            if (dent->d_type != DT_DIR)
+               fprintf(stderr,"%s : bad d_type %d\n",
+                        dent->d_name, (int)dent->d_type);
         }
         dent = readdir(dirp);
     }
diff -Nru --exclude html fuse3-3.10.2/test/test_examples.py fuse3-3.10.3/test/test_examples.py
--- fuse3-3.10.2/test/test_examples.py	2021-02-05 10:07:28.000000000 +0100
+++ fuse3-3.10.3/test/test_examples.py	2021-04-12 12:18:08.000000000 +0200
@@ -109,7 +109,8 @@
         umount(mount_process, mnt_dir)
 
 @pytest.mark.parametrize("writeback", (False, True))
-@pytest.mark.parametrize("name", ('passthrough', 'passthrough_fh', 'passthrough_ll'))
+@pytest.mark.parametrize("name", ('passthrough', 'passthrough_plus',
+                           'passthrough_fh', 'passthrough_ll'))
 @pytest.mark.parametrize("debug", (False, True))
 def test_passthrough(short_tmpdir, name, debug, output_checker, writeback):
     # Avoid false positives from libfuse debug messages
@@ -124,9 +125,14 @@
     mnt_dir = str(short_tmpdir.mkdir('mnt'))
     src_dir = str(short_tmpdir.mkdir('src'))
 
-    cmdline = base_cmdline + \
-              [ pjoin(basename, 'example', name),
-                '-f', mnt_dir ]
+    if name == 'passthrough_plus':
+        cmdline = base_cmdline + \
+                  [ pjoin(basename, 'example', 'passthrough'),
+                    '--plus', '-f', mnt_dir ]
+    else:
+        cmdline = base_cmdline + \
+                  [ pjoin(basename, 'example', name),
+                    '-f', mnt_dir ]
     if debug:
         cmdline.append('-d')
 

--- End Message ---
--- Begin Message ---
On 2021-05-08 08:17:52 +0200, László Böszörményi wrote:
> Control: tags -1 -moreinfo
> 
> On Thu, Apr 29, 2021 at 9:40 PM Paul Gevers <elbrus@debian.org> wrote:
> > On 25-04-2021 18:34, László Böszörményi (GCS) wrote:
> > > While it's a new upstream release, it only contains a bugfix [1] and
> > > correcting spelling mistakes.
> > > The actual change is in lib/fuse.c and very small [2]. Other changes
> > > are for the example and tests to keep those in sync.
> >
> > Please go ahead and remove the moreinfo tag once the package is in the
> > archive.
>  Package is uploaded, built on all architectures. Piuparts and autopkg
> tests are OK.

… and it migrated. Closing.

Cheers
-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply to: