Hello community,
here is the log from the commit of package btrfsprogs for openSUSE:Factory checked in at 2014-10-06 22:04:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 2014-09-25 09:33:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes 2014-10-06 22:04:29.000000000 +0200
@@ -1,0 +2,9 @@
+Sat Oct 4 00:00:03 CEST 2014 - dsterba(a)suse.cz
+
+- version 3.16.2
+ - fsck: handle bad extent mapping
+ - image: make it work on a balanced fs
+ - btrfs-show-super: print flags in human readable way
+ - documentation updates
+
+-------------------------------------------------------------------
Old:
----
btrfs-progs-v3.16.1.tar.gz
New:
----
btrfs-progs-v3.16.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.YnfA3O/_old 2014-10-06 22:04:30.000000000 +0200
+++ /var/tmp/diff_new_pack.YnfA3O/_new 2014-10-06 22:04:30.000000000 +0200
@@ -16,9 +16,9 @@
#
-%define tar_version v3.16.1
+%define tar_version v3.16.2
Name: btrfsprogs
-Version: 3.16.1
+Version: 3.16.2
Release: 0
Summary: Utilities for the Btrfs filesystem
License: GPL-2.0
++++++ btrfs-progs-v3.16.1.tar.gz -> btrfs-progs-v3.16.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-balance.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-balance.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-balance.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-balance.txt 2014-10-01 18:07:59.000000000 +0200
@@ -117,7 +117,7 @@
EXIT STATUS
-----------
-*btrfs balance* returns a zero exist status if it succeeds. Non zero is
+*btrfs balance* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-check.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-check.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-check.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-check.txt 2014-10-01 18:07:59.000000000 +0200
@@ -35,7 +35,7 @@
EXIT STATUS
-----------
-*btrfs check* returns a zero exist status if it succeeds. Non zero is
+*btrfs check* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-device.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-device.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-device.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-device.txt 2014-10-01 18:07:59.000000000 +0200
@@ -100,7 +100,7 @@
EXIT STATUS
-----------
-*btrfs device* returns a zero exist status if it succeeds. Non zero is
+*btrfs device* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-filesystem.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-filesystem.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-filesystem.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-filesystem.txt 2014-10-01 18:07:59.000000000 +0200
@@ -102,7 +102,7 @@
EXIT STATUS
-----------
-*btrfs filesystem* returns a zero exist status if it succeeds. Non zero is
+*btrfs filesystem* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-inspect-internal.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-inspect-internal.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-inspect-internal.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-inspect-internal.txt 2014-10-01 18:07:59.000000000 +0200
@@ -52,7 +52,7 @@
EXIT STATUS
-----------
-*btrfs inspect-internal* returns a zero exist status if it succeeds. Non zero is
+*btrfs inspect-internal* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-property.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-property.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-property.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-property.txt 2014-10-01 18:07:59.000000000 +0200
@@ -51,7 +51,7 @@
EXIT STATUS
-----------
-*btrfs property* returns a zero exist status if it succeeds. Non zero is
+*btrfs property* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-qgroup.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-qgroup.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-qgroup.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-qgroup.txt 2014-10-01 18:07:59.000000000 +0200
@@ -92,7 +92,7 @@
EXIT STATUS
-----------
-*btrfs qgroup* returns a zero exist status if it succeeds. Non zero is
+*btrfs qgroup* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-quota.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-quota.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-quota.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-quota.txt 2014-10-01 18:07:59.000000000 +0200
@@ -41,7 +41,7 @@
EXIT STATUS
-----------
-*btrfs quota* returns a zero exist status if it succeeds. Non zero is
+*btrfs quota* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-receive.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-receive.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-receive.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-receive.txt 2014-10-01 18:07:59.000000000 +0200
@@ -44,7 +44,7 @@
EXIT STATUS
-----------
-*btrfs receive* returns a zero exist status if it succeeds. Non zero is
+*btrfs receive* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-replace.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-replace.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-replace.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-replace.txt 2014-10-01 18:07:59.000000000 +0200
@@ -66,7 +66,7 @@
EXIT STATUS
-----------
-*btrfs replace* returns a zero exist status if it succeeds. Non zero is
+*btrfs replace* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-rescue.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-rescue.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-rescue.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-rescue.txt 2014-10-01 18:07:59.000000000 +0200
@@ -42,7 +42,7 @@
EXIT STATUS
-----------
-*btrfs rescue* returns a zero exist status if it succeeds. Non zero is
+*btrfs rescue* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-restore.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-restore.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-restore.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-restore.txt 2014-10-01 18:07:59.000000000 +0200
@@ -68,7 +68,7 @@
EXIT STATUS
-----------
-*btrfs restore* returns a zero exist status if it succeeds. Non zero is
+*btrfs restore* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-scrub.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-scrub.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-scrub.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-scrub.txt 2014-10-01 18:07:59.000000000 +0200
@@ -82,7 +82,7 @@
EXIT STATUS
-----------
-*btrfs scrub* returns a zero exist status if it succeeds. Non zero is
+*btrfs scrub* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-send.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-send.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-send.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-send.txt 2014-10-01 18:07:59.000000000 +0200
@@ -43,7 +43,7 @@
EXIT STATUS
-----------
-*btrfs send* returns a zero exist status if it succeeds. Non zero is
+*btrfs send* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs-subvolume.txt new/btrfs-progs-v3.16.2/Documentation/btrfs-subvolume.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs-subvolume.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs-subvolume.txt 2014-10-01 18:07:59.000000000 +0200
@@ -99,7 +99,7 @@
-g::::
print the generation of the subvolume.
-o::::
-print only subvolumes bellow specified <path>.
+print only subvolumes below specified <path>.
-u::::
print the UUID of the subvolume.
-q::::
@@ -155,7 +155,7 @@
EXIT STATUS
-----------
-*btrfs subvolume* returns a zero exist status if it succeeds. Non zero is
+*btrfs subvolume* returns a zero exit status if it succeeds. Non zero is
returned in case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfs.txt new/btrfs-progs-v3.16.2/Documentation/btrfs.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfs.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfs.txt 2014-10-01 18:07:59.000000000 +0200
@@ -87,7 +87,7 @@
EXIT STATUS
-----------
-*btrfs* returns a zero exist status if it succeeds. Non zero is returned in
+*btrfs* returns a zero exit status if it succeeds. Non zero is returned in
case of failure.
AVAILABILITY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Documentation/btrfstune.txt new/btrfs-progs-v3.16.2/Documentation/btrfstune.txt
--- old/btrfs-progs-v3.16.1/Documentation/btrfstune.txt 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Documentation/btrfstune.txt 2014-10-01 18:07:59.000000000 +0200
@@ -24,7 +24,14 @@
Enable extended inode refs.
-x::
Enable skinny metadata extent refs.
+-f::
+Allow dangerous changes, e.g. clear the seeding flag
+When mounting the new device, btrfs will check whether the seeding flag is set
+when try to open seeding device. If the user clears the seeding flag of the
+seeding device, the new device will not be mountable. Even setting the seeding
+flag back will not fix this problem, because the generation will be changed at
+that time. Clear the seeding flag may damage the new filesystem.
EXIT STATUS
-----------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/Makefile new/btrfs-progs-v3.16.2/Makefile
--- old/btrfs-progs-v3.16.1/Makefile 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/Makefile 2014-10-01 18:07:59.000000000 +0200
@@ -5,7 +5,7 @@
LN = ln
AR = ar
AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64 -DBTRFS_FLAT_INCLUDES -fno-strict-aliasing -fPIC
-CFLAGS = -g -O1 -fno-strict-aliasing
+CFLAGS = -g -O1 -fno-strict-aliasing -rdynamic
objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
root-tree.o dir-item.o file-item.o inode-item.o inode-map.o \
extent-cache.o extent_io.o volumes.o utils.o repair.o \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/btrfs-convert.c new/btrfs-progs-v3.16.2/btrfs-convert.c
--- old/btrfs-progs-v3.16.1/btrfs-convert.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/btrfs-convert.c 2014-10-01 18:07:59.000000000 +0200
@@ -2441,7 +2441,7 @@
ext2_root = btrfs_read_fs_root(root->fs_info, &key);
if (!ext2_root || IS_ERR(ext2_root)) {
fprintf(stderr, "unable to open subvol %llu\n",
- key.objectid);
+ (unsigned long long)key.objectid);
goto fail;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/btrfs-show-super.c new/btrfs-progs-v3.16.2/btrfs-show-super.c
--- old/btrfs-progs-v3.16.1/btrfs-show-super.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/btrfs-show-super.c 2014-10-01 18:07:59.000000000 +0200
@@ -285,6 +285,58 @@
}
}
+struct readable_flag_entry {
+ u64 bit;
+ char *output;
+};
+
+#define DEF_INCOMPAT_FLAG_ENTRY(bit_name) \
+ {BTRFS_FEATURE_INCOMPAT_##bit_name, #bit_name}
+
+struct readable_flag_entry incompat_flags_array[] = {
+ DEF_INCOMPAT_FLAG_ENTRY(MIXED_BACKREF),
+ DEF_INCOMPAT_FLAG_ENTRY(DEFAULT_SUBVOL),
+ DEF_INCOMPAT_FLAG_ENTRY(MIXED_GROUPS),
+ DEF_INCOMPAT_FLAG_ENTRY(COMPRESS_LZO),
+ DEF_INCOMPAT_FLAG_ENTRY(COMPRESS_LZOv2),
+ DEF_INCOMPAT_FLAG_ENTRY(BIG_METADATA),
+ DEF_INCOMPAT_FLAG_ENTRY(EXTENDED_IREF),
+ DEF_INCOMPAT_FLAG_ENTRY(RAID56),
+ DEF_INCOMPAT_FLAG_ENTRY(SKINNY_METADATA),
+ DEF_INCOMPAT_FLAG_ENTRY(NO_HOLES)
+};
+static const int incompat_flags_num = sizeof(incompat_flags_array) /
+ sizeof(struct readable_flag_entry);
+
+static void print_readable_incompat_flag(u64 flag)
+{
+ int i;
+ int first = 1;
+ struct readable_flag_entry *entry;
+
+ if (!flag)
+ return;
+ printf("\t\t\t( ");
+ for (i = 0; i < incompat_flags_num; i++) {
+ entry = incompat_flags_array + i;
+ if (flag & entry->bit) {
+ if (first)
+ printf("%s ", entry->output);
+ else
+ printf("|\n\t\t\t %s ", entry->output);
+ }
+ first = 0;
+ }
+ flag &= ~BTRFS_FEATURE_INCOMPAT_SUPP;
+ if (flag) {
+ if (first)
+ printf("unknown flag: 0x%llx ", flag);
+ else
+ printf("|\n\t\t\t unknown flag: 0x%llx ", flag);
+ }
+ printf(")\n");
+}
+
static void dump_superblock(struct btrfs_super_block *sb, int full)
{
int i;
@@ -364,6 +416,7 @@
(unsigned long long)btrfs_super_compat_ro_flags(sb));
printf("incompat_flags\t\t0x%llx\n",
(unsigned long long)btrfs_super_incompat_flags(sb));
+ print_readable_incompat_flag(btrfs_super_incompat_flags(sb));
printf("csum_type\t\t%llu\n",
(unsigned long long)btrfs_super_csum_type(sb));
printf("csum_size\t\t%llu\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/cmds-check.c new/btrfs-progs-v3.16.2/cmds-check.c
--- old/btrfs-progs-v3.16.1/cmds-check.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/cmds-check.c 2014-10-01 18:07:59.000000000 +0200
@@ -243,6 +243,17 @@
static void reset_cached_block_groups(struct btrfs_fs_info *fs_info);
+static void record_root_in_trans(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root)
+{
+ if (root->last_trans != trans->transid) {
+ root->track_dirty = 1;
+ root->last_trans = trans->transid;
+ root->commit_root = root->node;
+ extent_buffer_get(root->node);
+ }
+}
+
static u8 imode_to_type(u32 imode)
{
#define S_SHIFT 12
@@ -2429,6 +2440,8 @@
if (IS_ERR(root))
return -EIO;
+ record_root_in_trans(trans, root);
+
path = btrfs_alloc_path();
if (!path)
return -EIO;
@@ -3854,6 +3867,10 @@
unsigned long leaf_offset;
root = root->fs_info->csum_root;
+ if (!extent_buffer_uptodate(root->node)) {
+ fprintf(stderr, "No valid csum tree found\n");
+ return -ENOENT;
+ }
key.objectid = BTRFS_EXTENT_CSUM_OBJECTID;
key.type = BTRFS_EXTENT_CSUM_KEY;
@@ -4667,12 +4684,7 @@
* Have to make sure that this root gets updated when we commit the
* transaction
*/
- root->track_dirty = 1;
- if (root->last_trans != trans->transid) {
- root->last_trans = trans->transid;
- root->commit_root = root->node;
- extent_buffer_get(root->node);
- }
+ record_root_in_trans(trans, root);
/*
* Ok we have the key of the file extent we want to fix, now we can cow
@@ -6352,12 +6364,7 @@
fprintf(stderr, "Error reading data reloc tree\n");
return PTR_ERR(root);
}
- root->track_dirty = 1;
- if (root->last_trans != trans->transid) {
- root->last_trans = trans->transid;
- root->commit_root = root->node;
- extent_buffer_get(root->node);
- }
+ record_root_in_trans(trans, root);
ret = btrfs_fsck_reinit_root(trans, root, 0);
if (ret)
goto out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/ctree.c new/btrfs-progs-v3.16.2/ctree.c
--- old/btrfs-progs-v3.16.1/ctree.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/ctree.c 2014-10-01 18:07:59.000000000 +0200
@@ -494,7 +494,7 @@
(unsigned long long)btrfs_header_bytenr(buf));
goto fail;
}
- for (i = 0; nritems > 1 && i < nritems - 2; i++) {
+ for (i = 0; nritems > 1 && i < nritems - 1; i++) {
btrfs_item_key(buf, &key, i);
btrfs_item_key_to_cpu(buf, &cpukey, i + 1);
if (btrfs_comp_keys(&key, &cpukey) >= 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/disk-io.c new/btrfs-progs-v3.16.2/disk-io.c
--- old/btrfs-progs-v3.16.1/disk-io.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/disk-io.c 2014-10-01 18:07:59.000000000 +0200
@@ -201,7 +201,8 @@
read_len = bytes_left;
device = NULL;
- if (!info->on_restoring) {
+ if (!info->on_restoring &&
+ eb->start != BTRFS_SUPER_INFO_OFFSET) {
ret = btrfs_map_block(&info->mapping_tree, READ,
eb->start + offset, &read_len, &multi,
mirror, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/kerncompat.h new/btrfs-progs-v3.16.2/kerncompat.h
--- old/btrfs-progs-v3.16.1/kerncompat.h 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/kerncompat.h 2014-10-01 18:07:59.000000000 +0200
@@ -29,6 +29,7 @@
#include <stddef.h>
#include <linux/types.h>
#include <stdint.h>
+#include <execinfo.h>
#define ptr_to_u64(x) ((u64)(uintptr_t)x)
#define u64_to_ptr(x) ((void *)(uintptr_t)x)
@@ -54,7 +55,33 @@
#define ULONG_MAX (~0UL)
#endif
-#define BUG() assert(0)
+#define MAX_BACKTRACE 16
+static inline void print_trace(void)
+{
+ void *array[MAX_BACKTRACE];
+ size_t size;
+
+ size = backtrace(array, MAX_BACKTRACE);
+ backtrace_symbols_fd(array, size, 2);
+}
+
+static inline void assert_trace(const char *assertion, const char *filename,
+ const char *func, unsigned line, int val)
+{
+ if (val)
+ return;
+ if (assertion)
+ fprintf(stderr, "%s:%d: %s: Assertion `%s` failed.\n",
+ filename, line, func, assertion);
+ else
+ fprintf(stderr, "%s:%d: %s: Assertion failed.\n", filename,
+ line, func);
+ print_trace();
+ exit(1);
+}
+
+#define BUG() assert_trace(NULL, __FILE__, __func__, __LINE__, 0)
+
#ifdef __CHECKER__
#define __force __attribute__((force))
#define __bitwise__ __attribute__((bitwise))
@@ -237,9 +264,10 @@
#define kstrdup(x, y) strdup(x)
#define kfree(x) free(x)
-#define BUG_ON(c) assert(!(c))
-#define WARN_ON(c) assert(!(c))
-#define ASSERT(c) assert(c)
+#define BUG_ON(c) assert_trace(#c, __FILE__, __func__, __LINE__, !(c))
+
+#define WARN_ON(c) BUG_ON(c)
+#define ASSERT(c) assert_trace(#c, __FILE__, __func__, __LINE__, (c))
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/version.sh new/btrfs-progs-v3.16.2/version.sh
--- old/btrfs-progs-v3.16.1/version.sh 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/version.sh 2014-10-01 18:07:59.000000000 +0200
@@ -6,7 +6,7 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
-v="v3.16.1"
+v="v3.16.2"
lib_major=0
lib_minor=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.16.1/volumes.c new/btrfs-progs-v3.16.2/volumes.c
--- old/btrfs-progs-v3.16.1/volumes.c 2014-09-15 15:18:00.000000000 +0200
+++ new/btrfs-progs-v3.16.2/volumes.c 2014-10-01 18:07:59.000000000 +0200
@@ -1136,8 +1136,20 @@
int ret;
ce = search_cache_extent(&map_tree->cache_tree, logical);
- BUG_ON(!ce);
- BUG_ON(ce->start > logical || ce->start + ce->size < logical);
+ if (!ce) {
+ fprintf(stderr, "No mapping for %llu-%llu\n",
+ (unsigned long long)logical,
+ (unsigned long long)logical+len);
+ return 1;
+ }
+ if (ce->start > logical || ce->start + ce->size < logical) {
+ fprintf(stderr, "Invalid mapping for %llu-%llu, got "
+ "%llu-%llu\n", (unsigned long long)logical,
+ (unsigned long long)logical+len,
+ (unsigned long long)ce->start,
+ (unsigned long long)ce->start + ce->size);
+ return 1;
+ }
map = container_of(ce, struct map_lookup, ce);
if (map->type & (BTRFS_BLOCK_GROUP_DUP | BTRFS_BLOCK_GROUP_RAID1))
++++++ local-version-override.patch ++++++
--- /var/tmp/diff_new_pack.YnfA3O/_old 2014-10-06 22:04:31.000000000 +0200
+++ /var/tmp/diff_new_pack.YnfA3O/_new 2014-10-06 22:04:31.000000000 +0200
@@ -6,8 +6,8 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
--v="v3.16.1"
-+v="v3.16.1+20140922"
+-v="v3.16.2"
++v="v3.16.2+20141003"
lib_major=0
lib_minor=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org