Accepting request 367644 from filesystems
- hide min/max macros clashing with gcc 6 (bnc#966257) (forwarded request 367641 from dsterba) OBS-URL: https://build.opensuse.org/request/show/367644 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/btrfsprogs?expand=0&rev=70
This commit is contained in:
parent
b3477bba52
commit
bd925a4e80
190
0001-btrfs-progs-libbtrfs-remove-max-min-macros-from-API.patch
Normal file
190
0001-btrfs-progs-libbtrfs-remove-max-min-macros-from-API.patch
Normal file
@ -0,0 +1,190 @@
|
||||
From 25f809780a330530c652a805dfce02008fabe3ea Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Kozina <okozina@redhat.com>
|
||||
Date: Fri, 4 Mar 2016 14:46:11 +0100
|
||||
Subject: [PATCH] btrfs-progs: libbtrfs: remove max/min macros from API
|
||||
|
||||
kerncompat.h header file is part of libbtrfs API. min/max macros cause
|
||||
conflict while building projects dependant on libbtrfs. Moving those
|
||||
macros to btrfs-progs internal header file fixes the conflict.
|
||||
|
||||
Signed-off-by: Ondrej Kozina <okozina@redhat.com>
|
||||
Signed-off-by: David Sterba <dsterba@suse.com>
|
||||
---
|
||||
backref.c | 1 +
|
||||
ctree.c | 1 +
|
||||
extent_io.c | 1 +
|
||||
file-item.c | 1 +
|
||||
free-space-cache.c | 1 +
|
||||
inode-map.c | 1 +
|
||||
internal.h | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
kerncompat.h | 20 --------------------
|
||||
utils.h | 1 +
|
||||
9 files changed, 49 insertions(+), 20 deletions(-)
|
||||
create mode 100644 internal.h
|
||||
|
||||
diff --git a/backref.c b/backref.c
|
||||
index 8f41f829503d..7578e928d0bf 100644
|
||||
--- a/backref.c
|
||||
+++ b/backref.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "backref.h"
|
||||
#include "ulist.h"
|
||||
#include "transaction.h"
|
||||
+#include "internal.h"
|
||||
|
||||
#define pr_debug(...) do { } while (0)
|
||||
|
||||
diff --git a/ctree.c b/ctree.c
|
||||
index 04cc476e9a8f..1f938d767142 100644
|
||||
--- a/ctree.c
|
||||
+++ b/ctree.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "transaction.h"
|
||||
#include "print-tree.h"
|
||||
#include "repair.h"
|
||||
+#include "internal.h"
|
||||
|
||||
static int split_node(struct btrfs_trans_handle *trans, struct btrfs_root
|
||||
*root, struct btrfs_path *path, int level);
|
||||
diff --git a/extent_io.c b/extent_io.c
|
||||
index 88e92736280e..bdaecc0f1a45 100644
|
||||
--- a/extent_io.c
|
||||
+++ b/extent_io.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "list.h"
|
||||
#include "ctree.h"
|
||||
#include "volumes.h"
|
||||
+#include "internal.h"
|
||||
|
||||
void extent_io_tree_init(struct extent_io_tree *tree)
|
||||
{
|
||||
diff --git a/file-item.c b/file-item.c
|
||||
index b46d7f107c98..7a3bbf35868b 100644
|
||||
--- a/file-item.c
|
||||
+++ b/file-item.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "transaction.h"
|
||||
#include "print-tree.h"
|
||||
#include "crc32c.h"
|
||||
+#include "internal.h"
|
||||
|
||||
#define MAX_CSUM_ITEMS(r,size) ((((BTRFS_LEAF_DATA_SIZE(r) - \
|
||||
sizeof(struct btrfs_item) * 2) / \
|
||||
diff --git a/free-space-cache.c b/free-space-cache.c
|
||||
index d10a5f517b10..357d69e7870e 100644
|
||||
--- a/free-space-cache.c
|
||||
+++ b/free-space-cache.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "extent_io.h"
|
||||
#include "crc32c.h"
|
||||
#include "bitops.h"
|
||||
+#include "internal.h"
|
||||
|
||||
/*
|
||||
* Kernel always uses PAGE_CACHE_SIZE for sectorsize, but we don't have
|
||||
diff --git a/inode-map.c b/inode-map.c
|
||||
index 346952b74144..9e4dcd3c3b0f 100644
|
||||
--- a/inode-map.c
|
||||
+++ b/inode-map.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "ctree.h"
|
||||
#include "disk-io.h"
|
||||
#include "transaction.h"
|
||||
+#include "internal.h"
|
||||
|
||||
/*
|
||||
* walks the btree of allocated inodes and find a hole.
|
||||
diff --git a/internal.h b/internal.h
|
||||
new file mode 100644
|
||||
index 000000000000..d5ea9986967e
|
||||
--- /dev/null
|
||||
+++ b/internal.h
|
||||
@@ -0,0 +1,42 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2007 Oracle. All rights reserved.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public
|
||||
+ * License v2 as published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public
|
||||
+ * License along with this program; if not, write to the
|
||||
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
+ * Boston, MA 021110-1307, USA.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __INTERNAL_H__
|
||||
+#define __INTERNAL_H__
|
||||
+
|
||||
+/*
|
||||
+ * max/min macro
|
||||
+ */
|
||||
+#define min(x,y) ({ \
|
||||
+ typeof(x) _x = (x); \
|
||||
+ typeof(y) _y = (y); \
|
||||
+ (void) (&_x == &_y); \
|
||||
+ _x < _y ? _x : _y; })
|
||||
+
|
||||
+#define max(x,y) ({ \
|
||||
+ typeof(x) _x = (x); \
|
||||
+ typeof(y) _y = (y); \
|
||||
+ (void) (&_x == &_y); \
|
||||
+ _x > _y ? _x : _y; })
|
||||
+
|
||||
+#define min_t(type,x,y) \
|
||||
+ ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
|
||||
+#define max_t(type,x,y) \
|
||||
+ ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
|
||||
+
|
||||
+#endif
|
||||
diff --git a/kerncompat.h b/kerncompat.h
|
||||
index 0f207b7fd5d5..ee65aa72ad6d 100644
|
||||
--- a/kerncompat.h
|
||||
+++ b/kerncompat.h
|
||||
@@ -241,26 +241,6 @@ static inline long IS_ERR(const void *ptr)
|
||||
}
|
||||
|
||||
/*
|
||||
- * max/min macro
|
||||
- */
|
||||
-#define min(x,y) ({ \
|
||||
- typeof(x) _x = (x); \
|
||||
- typeof(y) _y = (y); \
|
||||
- (void) (&_x == &_y); \
|
||||
- _x < _y ? _x : _y; })
|
||||
-
|
||||
-#define max(x,y) ({ \
|
||||
- typeof(x) _x = (x); \
|
||||
- typeof(y) _y = (y); \
|
||||
- (void) (&_x == &_y); \
|
||||
- _x > _y ? _x : _y; })
|
||||
-
|
||||
-#define min_t(type,x,y) \
|
||||
- ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
|
||||
-#define max_t(type,x,y) \
|
||||
- ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
|
||||
-
|
||||
-/*
|
||||
* This looks more complex than it should be. But we need to
|
||||
* get the type for the ~ right in round_down (it needs to be
|
||||
* as wide as the result!), and we want to evaluate the macro
|
||||
diff --git a/utils.h b/utils.h
|
||||
index d53357a277ee..a4e55bf58914 100644
|
||||
--- a/utils.h
|
||||
+++ b/utils.h
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "ctree.h"
|
||||
#include <dirent.h>
|
||||
#include <stdarg.h>
|
||||
+#include "internal.h"
|
||||
|
||||
#define BTRFS_MKFS_SYSTEM_GROUP_SIZE (4 * 1024 * 1024)
|
||||
#define BTRFS_MKFS_SMALL_VOLUME_SIZE (1024 * 1024 * 1024)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 7 00:00:00 CET 2016 - dsterba@suse.cz
|
||||
|
||||
- hide min/max macros clashing with gcc 6 (bnc#966257)
|
||||
(0001-btrfs-progs-libbtrfs-remove-max-min-macros-from-API.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 29 00:00:00 CET 2016 - dsterba@suse.cz
|
||||
|
||||
|
@ -37,6 +37,8 @@ Source: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs
|
||||
Source1: boot-btrfs.sh
|
||||
Source4: setup-btrfs.sh
|
||||
|
||||
Patch1: 0001-btrfs-progs-libbtrfs-remove-max-min-macros-from-API.patch
|
||||
|
||||
Patch163: 0163-btrfs-progs-fsck-fix-segfault.patch
|
||||
Patch167: 0167-Btrfs-progs-make-find_and_setup_root-return-an-error.patch
|
||||
Patch168: 0168-Btrfs-progs-don-t-bug-out-if-we-can-t-find-the-last-.patch
|
||||
@ -109,6 +111,7 @@ build applications to interface with btrfs.
|
||||
|
||||
%prep
|
||||
%setup -q -n btrfs-progs-v%{version}
|
||||
%patch1 -p1
|
||||
%patch163 -p1
|
||||
%patch167 -p1
|
||||
%patch168 -p1
|
||||
|
@ -7,7 +7,7 @@ Index: btrfs-progs-v4.1/version.sh
|
||||
# Released under the GNU GPLv2
|
||||
|
||||
-v="v4.4.1"
|
||||
+v="v4.4.1+20160229"
|
||||
+v="v4.4.1+20160307"
|
||||
|
||||
opt=$1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user