Hello community,
here is the log from the commit of package psmisc for openSUSE:Factory checked in at 2018-11-19 23:28:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/psmisc (Old)
and /work/SRC/openSUSE:Factory/.psmisc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "psmisc"
Mon Nov 19 23:28:36 2018 rev:71 rq:649178 version:23.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/psmisc/psmisc.changes 2018-11-06 14:02:26.163605553 +0100
+++ /work/SRC/openSUSE:Factory/.psmisc.new/psmisc.changes 2018-11-19 23:28:41.299419038 +0100
@@ -1,0 +2,6 @@
+Wed Nov 14 07:44:55 UTC 2018 - Dr. Werner Fink
+
+- Modify patch 0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch
+ to handle sub volumes of the btrFS (bsc#1112780)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ 0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch ++++++
++++ 695 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/psmisc/0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch
++++ and /work/SRC/openSUSE:Factory/.psmisc.new/0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch
++++++ 0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch ++++++
--- /var/tmp/diff_new_pack.kRCM5X/_old 2018-11-19 23:28:41.743418527 +0100
+++ /var/tmp/diff_new_pack.kRCM5X/_new 2018-11-19 23:28:41.743418527 +0100
@@ -1,6 +1,6 @@
-From 7181b4125fc2a1057dffffaa643e6bcb549fd0eb Mon Sep 17 00:00:00 2001
+From d4b2099ffd77d1fdea380ac42326b11a5be35e72 Mon Sep 17 00:00:00 2001
From: Werner Fink
-Date: Fri, 2 Nov 2018 14:27:00 +0100
+Date: Thu, 15 Nov 2018 07:41:23 +0100
Subject: [PATCH] Use new statx(2) system call to avoid hangs on NFS
Signed-off-by: Werner Fink
@@ -12,7 +12,7 @@
src/statx.h | 66 +++++++++++
src/timeout.c | 372 ----------------------------------------------------------
src/timeout.h | 45 -------
- 7 files changed, 247 insertions(+), 511 deletions(-)
+ 7 files changed, 248 insertions(+), 510 deletions(-)
create mode 100644 src/statx.c
create mode 100644 src/statx.h
delete mode 100644 src/timeout.c
@@ -90,7 +90,7 @@
# Enable hardened compile and link flags
AC_ARG_ENABLE([harden_flags],
diff --git src/fuser.c src/fuser.c
-index 2681f74..c717e19 100644
+index 7ee9b49..3f512de 100644
--- src/fuser.c
+++ src/fuser.c
@@ -63,7 +63,7 @@
@@ -113,7 +113,7 @@
static char *expandpath(const char *path);
static struct unixsocket_list *unixsockets = NULL;
static struct names *names_head = NULL, *names_tail = NULL;
-@@ -468,7 +464,7 @@ int parse_file(struct names *this_name, struct inode_list **ino_list,
+@@ -506,7 +502,7 @@ int parse_file(struct names *this_name, struct inode_list **ino_list,
free(this_name->filename);
this_name->filename = strdup(new);
}
@@ -122,7 +122,7 @@
find_mountpoint(this_name->filename, &mountinfo) != 0) {
if (errno == ENOENT)
fprintf(stderr,
-@@ -1193,9 +1189,7 @@ int main(int argc, char *argv[])
+@@ -1250,9 +1246,7 @@ int main(int argc, char *argv[])
opts |= OPT_INTERACTIVE;
break;
case 'I':
@@ -132,21 +132,22 @@
break;
case 'k':
opts |= OPT_KILL;
-@@ -1261,10 +1255,9 @@ int main(int argc, char *argv[])
+@@ -1318,10 +1312,11 @@ int main(int argc, char *argv[])
continue;
}
-#if defined(WITH_MOUNTINFO_LIST)
- if ((opts & (OPT_MOUNTS|OPT_ALWAYSSTAT)) == OPT_MOUNTS)
- thestat = mntstat;
--#endif
++#if defined(HAVE_DECL_SYS_STATX) && HAVE_DECL_SYS_STATX == 1
+ if ((opts & OPT_ALWAYSSTAT))
+ stat_flags = 0; /* Triggers sync with e.g. remote NFS server even on autofs */
+ #endif
+
/* an option */
/* Not an option, must be a file specification */
if ((this_name = malloc(sizeof(struct names))) == NULL)
-@@ -1584,7 +1577,7 @@ static struct stat *get_pidstat(const pid_t pid, const char *filename, int *id)
+@@ -1641,7 +1636,7 @@ static struct stat *get_pidstat(const pid_t pid, const char *filename, int *id)
if ((st = (struct stat *)malloc(sizeof(struct stat))) == NULL)
return NULL;
snprintf(pathname, 256, "/proc/%d/%s", pid, filename);
@@ -155,7 +156,7 @@
free(st);
return NULL;
}
-@@ -1631,7 +1624,7 @@ check_dir(const pid_t pid, const char *dirname, struct device_list *dev_head,
+@@ -1688,7 +1683,7 @@ check_dir(const pid_t pid, const char *dirname, struct device_list *dev_head,
snprintf(filepath, sizeof filepath - 1, "/proc/%d/%s/%s",
pid, dirname, direntry->d_name);
@@ -164,7 +165,7 @@
if (errno != ENOENT && errno != ENOTDIR) {
fprintf(stderr, _("Cannot stat file %s: %s\n"),
filepath, strerror(errno));
-@@ -1673,7 +1666,7 @@ check_dir(const pid_t pid, const char *dirname, struct device_list *dev_head,
+@@ -1743,7 +1738,7 @@ check_dir(const pid_t pid, const char *dirname, struct device_list *dev_head,
if (thedev != ino_tmp->device)
continue;
if (!st.st_ino
@@ -173,7 +174,7 @@
fprintf(stderr,
_("Cannot stat file %s: %s\n"),
filepath, strerror(errno));
-@@ -1761,11 +1754,11 @@ static uid_t getpiduid(const pid_t pid)
+@@ -1841,11 +1836,11 @@ static uid_t getpiduid(const pid_t pid)
if (asprintf(&pathname, "/proc/%d", pid) < 0)
return 0;
@@ -189,7 +190,7 @@
return st.st_uid;
}
-@@ -1803,7 +1796,7 @@ void fill_unix_cache(struct unixsocket_list **unixsocket_head)
+@@ -1883,7 +1878,7 @@ void fill_unix_cache(struct unixsocket_list **unixsocket_head)
path = scanned_path;
if (*scanned_path == '@')
scanned_path++;
@@ -198,7 +199,7 @@
free(path);
continue;
}
-@@ -1938,7 +1931,7 @@ static dev_t find_net_dev(void)
+@@ -2018,7 +2013,7 @@ static dev_t find_net_dev(void)
fprintf(stderr, _("Cannot open a network socket.\n"));
return -1;
}
@@ -207,7 +208,7 @@
fprintf(stderr, _("Cannot find socket's device number.\n"));
close(skt);
return -1;
-@@ -1971,7 +1964,7 @@ scan_knfsd(struct names *names_head, struct inode_list *ino_head,
+@@ -2051,7 +2046,7 @@ scan_knfsd(struct names *names_head, struct inode_list *ino_head,
if ((find_space = strpbrk(line, " \t")) == NULL)
continue;
*find_space = '\0';
@@ -216,7 +217,7 @@
continue;
}
/* Scan the devices */
-@@ -2006,7 +1999,7 @@ scan_mounts(struct names *names_head, struct inode_list *ino_head,
+@@ -2086,7 +2081,7 @@ scan_mounts(struct names *names_head, struct inode_list *ino_head,
mntinfo_t *mnt = list_entry(ptr, mntinfo_t);
const char *find_mountp = mnt->mpoint;
@@ -225,7 +226,7 @@
continue;
/* Scan the devices */
-@@ -2053,7 +2046,7 @@ scan_swaps(struct names *names_head, struct inode_list *ino_head,
+@@ -2133,7 +2128,7 @@ scan_swaps(struct names *names_head, struct inode_list *ino_head,
if (*find_space == '\0')
continue;
}
@@ -234,7 +235,7 @@
continue;
}
/* Scan the devices */
-@@ -2209,7 +2202,7 @@ out:
+@@ -2296,7 +2291,7 @@ out:
struct stat lst;
snprintf(pathname, 256, "/proc/%d/fd/%s", pid, fd);
@@ -243,7 +244,7 @@
if (lst.st_mode & S_IWUSR)
info->flags |= O_WRONLY;
ret++;
-@@ -2352,49 +2345,6 @@ out:
+@@ -2439,49 +2434,6 @@ out:
return ret;
}
@@ -448,7 +449,7 @@
+}
diff --git src/statx.h src/statx.h
new file mode 100644
-index 0000000..548583d
+index 0000000..bc9eda7
--- /dev/null
+++ src/statx.h
@@ -0,0 +1,66 @@
@@ -488,19 +489,19 @@
+extern int lstatn(const char*, unsigned int, struct stat*);
+#else
+extern inline int
-+statn(const char *path, unsigned int mask __atribute__((unused)), struct stat *st)
++statn(const char *path, unsigned int mask __attribute__((unused)), struct stat *st)
+{
+ return stat(path, st);
+}
+extern inline int
-+fstatn(int fd, unsigned int mask __atribute__((unused)), struct stat *st)
++fstatn(int fd, unsigned int mask __attribute__((unused)), struct stat *st)
+{
+ return fstat(fd, st);
+}
+extern inline int
-+lstatn(const char *path, unsigned int mask __atribute__((unused)), struct stat *st)
++lstatn(const char *path, unsigned int mask __attribute__((unused)), struct stat *st)
+{
-+ lstat(path, st);
++ return lstat(path, st);
+}
+#define STATX_TYPE 0
+#define STATX_MODE 0