commit btrfsprogs for openSUSE:Factory
Hello community,
here is the log from the commit of package btrfsprogs for openSUSE:Factory checked in at 2015-10-22 12:58:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old)
and /work/SRC/openSUSE:Factory/.btrfsprogs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "btrfsprogs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes 2015-09-24 07:18:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes 2015-10-22 12:58:13.000000000 +0200
@@ -1,0 +2,19 @@
+Mon Oct 19 00:00:00 CEST 2015 - dsterba@suse.cz
+
+- update to 4.2.3
+ - subvol sync: make it actually work again
+ - scanning: do not scan already discovered filesystems (minor optimization)
+ - convert: better error message in case the filesystem is not finalized
+ - restore: off-by-one symlink path check fix
+
+-------------------------------------------------------------------
+Mon Oct 5 00:00:00 CEST 2015 - dsterba@suse.cz
+
+- update to 4.2.2
+ - fi label: use fallback if the label ioctl is not available
+ - convert: check nodesize constraints against commandline features (-O)
+ - scrub: report status 'running' until all devices are finished
+ - device scanning might crash in some scenarios
+ - fi usage: print summary for non-root users
+
+-------------------------------------------------------------------
Old:
----
btrfs-progs-v4.2.1.tar.gz
New:
----
btrfs-progs-v4.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.1I0CJP/_old 2015-10-22 12:58:15.000000000 +0200
+++ /var/tmp/diff_new_pack.1I0CJP/_new 2015-10-22 12:58:15.000000000 +0200
@@ -17,7 +17,7 @@
Name: btrfsprogs
-Version: 4.2.1
+Version: 4.2.3
Release: 0
Summary: Utilities for the Btrfs filesystem
License: GPL-2.0
++++++ btrfs-progs-v4.2.1.tar.gz -> btrfs-progs-v4.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/btrfs-convert.c new/btrfs-progs-v4.2.3/btrfs-convert.c
--- old/btrfs-progs-v4.2.1/btrfs-convert.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/btrfs-convert.c 2015-10-19 11:29:01.000000000 +0200
@@ -2292,6 +2292,7 @@
{
int i, ret, blocks_per_node;
int fd = -1;
+ int is_btrfs = 0;
u32 blocksize;
u64 blocks[7];
u64 total_bytes;
@@ -2319,7 +2320,7 @@
fprintf(stderr, "filetype feature is missing\n");
goto fail;
}
- if (btrfs_check_nodesize(nodesize, blocksize))
+ if (btrfs_check_nodesize(nodesize, blocksize, features))
goto fail;
blocks_per_node = nodesize / blocksize;
ret = -blocks_per_node;
@@ -2459,6 +2460,7 @@
fprintf(stderr, "unable to migrate super block\n");
goto fail;
}
+ is_btrfs = 1;
root = open_ctree_fd(fd, devname, 0, OPEN_CTREE_WRITES);
if (!root) {
@@ -2479,7 +2481,11 @@
fail:
if (fd != -1)
close(fd);
- fprintf(stderr, "conversion aborted.\n");
+ if (is_btrfs)
+ fprintf(stderr,
+ "WARNING: an error occured during chunk mapping fixup, filesystem mountable but not finalized\n");
+ else
+ fprintf(stderr, "conversion aborted\n");
return -1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-check.c new/btrfs-progs-v4.2.3/cmds-check.c
--- old/btrfs-progs-v4.2.1/cmds-check.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-check.c 2015-10-19 11:29:01.000000000 +0200
@@ -2969,7 +2969,7 @@
}
backref = malloc(sizeof(*backref) + namelen + 1);
- memset(backref, 0, sizeof(*backref));
+ memset(backref, 0, sizeof(*backref) + namelen + 1);
backref->ref_root = ref_root;
backref->dir = dir;
backref->index = index;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-device.c new/btrfs-progs-v4.2.3/cmds-device.c
--- old/btrfs-progs-v4.2.1/cmds-device.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-device.c 2015-10-19 11:29:01.000000000 +0200
@@ -163,7 +163,7 @@
struct btrfs_ioctl_vol_args arg;
int res;
- if (!is_block_device(argv[i])) {
+ if (is_block_device(argv[i]) != 1) {
fprintf(stderr,
"ERROR: %s is not a block device\n", argv[i]);
ret++;
@@ -264,7 +264,7 @@
for( i = devstart ; i < argc ; i++ ){
char *path;
- if (!is_block_device(argv[i])) {
+ if (is_block_device(argv[i]) != 1) {
fprintf(stderr,
"ERROR: %s is not a block device\n", argv[i]);
ret = 1;
@@ -323,7 +323,7 @@
goto out;
}
- if (!is_block_device(path)) {
+ if (is_block_device(path) != 1) {
fprintf(stderr,
"ERROR: %s is not a block device\n", path);
ret = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-fi-usage.c new/btrfs-progs-v4.2.3/cmds-fi-usage.c
--- old/btrfs-progs-v4.2.1/cmds-fi-usage.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-fi-usage.c 2015-10-19 11:29:01.000000000 +0200
@@ -504,7 +504,7 @@
static int load_device_info(int fd, struct device_info **device_info_ptr,
int *device_info_count)
{
- int ret, i, ndevs, e;
+ int ret, i, ndevs;
struct btrfs_ioctl_fs_info_args fi_args;
struct btrfs_ioctl_dev_info_args dev_info;
struct device_info *info;
@@ -513,12 +513,11 @@
*device_info_ptr = 0;
ret = ioctl(fd, BTRFS_IOC_FS_INFO, &fi_args);
- e = errno;
- if (e == EPERM)
- return -e;
if (ret < 0) {
+ if (errno == EPERM)
+ return -errno;
fprintf(stderr, "ERROR: cannot get filesystem info - %s\n",
- strerror(e));
+ strerror(errno));
return 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-filesystem.c new/btrfs-progs-v4.2.3/cmds-filesystem.c
--- old/btrfs-progs-v4.2.1/cmds-filesystem.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-filesystem.c 2015-10-19 11:29:01.000000000 +0200
@@ -468,13 +468,24 @@
goto out;
}
- if (get_label_mounted(mnt->mnt_dir, label)) {
+ /* skip all fs already shown as mounted fs */
+ if (is_seen_fsid(fs_info_arg.fsid))
+ continue;
+
+ ret = get_label_mounted(mnt->mnt_dir, label);
+ /* provide backward kernel compatibility */
+ if (ret == -ENOTTY)
+ ret = get_label_unmounted(
+ (const char *)dev_info_arg->path, label);
+
+ if (ret) {
kfree(dev_info_arg);
goto out;
}
if (search && !match_search_item_kernel(fs_info_arg.fsid,
mnt->mnt_dir, label, search)) {
kfree(dev_info_arg);
+ dev_info_arg = NULL;
continue;
}
@@ -490,6 +501,7 @@
if (fd != -1)
close(fd);
kfree(dev_info_arg);
+ dev_info_arg = NULL;
}
out:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-restore.c new/btrfs-progs-v4.2.3/cmds-restore.c
--- old/btrfs-progs-v4.2.1/cmds-restore.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-restore.c 2015-10-19 11:29:01.000000000 +0200
@@ -863,7 +863,7 @@
len = btrfs_file_extent_inline_item_len(leaf,
btrfs_item_nr(path->slots[0]));
- if (len > PATH_MAX) {
+ if (len >= PATH_MAX) {
fprintf(stderr, "Symlink '%s' target length %d is longer than PATH_MAX\n",
fs_name, len);
ret = -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-scrub.c new/btrfs-progs-v4.2.3/cmds-scrub.c
--- old/btrfs-progs-v4.2.1/cmds-scrub.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-scrub.c 2015-10-19 11:29:01.000000000 +0200
@@ -254,17 +254,15 @@
hours = ss->duration / (60 * 60);
gmtime_r(&seconds, &tm);
strftime(t, sizeof(t), "%M:%S", &tm);
- if (ss->finished && !ss->canceled) {
- printf(" and finished after %02u:%s\n", hours, t);
- } else if (ss->canceled) {
+ if (ss->in_progress)
+ printf(", running for %02u:%s\n", hours, t);
+ else if (ss->canceled)
printf(" and was aborted after %02u:%s\n", hours, t);
- } else {
- if (ss->in_progress)
- printf(", running for %02u:%s\n", hours, t);
- else
- printf(", interrupted after %02u:%s, not running\n",
- hours, t);
- }
+ else if (ss->finished)
+ printf(" and finished after %02u:%s\n", hours, t);
+ else
+ printf(", interrupted after %02u:%s, not running\n",
+ hours, t);
}
static void print_scrub_dev(struct btrfs_ioctl_dev_info_args *di,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/cmds-subvolume.c new/btrfs-progs-v4.2.3/cmds-subvolume.c
--- old/btrfs-progs-v4.2.1/cmds-subvolume.c 2015-09-20 14:50:06.000000000 +0200
+++ new/btrfs-progs-v4.2.3/cmds-subvolume.c 2015-10-19 11:29:01.000000000 +0200
@@ -89,7 +89,7 @@
clean = 0;
}
}
- if (clean == 0)
+ if (clean)
break;
sleep(sleep_interval);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v4.2.1/configure new/btrfs-progs-v4.2.3/configure
--- old/btrfs-progs-v4.2.1/configure 2015-09-20 14:51:42.000000000 +0200
+++ new/btrfs-progs-v4.2.3/configure 2015-10-19 11:30:54.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for btrfs-progs v4.2.1.
+# Generated by GNU Autoconf 2.69 for btrfs-progs v4.2.3.
#
# Report bugs to
participants (1)
-
root@hilbert.suse.de