diff --git a/_service b/_service
index 4233d72..5cd64d6 100644
--- a/_service
+++ b/_service
@@ -7,10 +7,10 @@
To update to a new release, change "revision" to the desired
git commit hash and bump "version" if necessary
- 9.0.2
+ 9.0.5
-->
- 9.0.2+git.%h
- 14d2eead95f99a7de1c0b3e3f335a30b8d486bcb
+ 9.0.5+git.%h
+ 8d53d3e73f85f8d98f100a0127ccb574a97c5f64
diff --git a/compat-4.7-1dee3f59-align-nla-u64.patch b/compat-4.7-1dee3f59-align-nla-u64.patch
deleted file mode 100644
index 8804074..0000000
--- a/compat-4.7-1dee3f59-align-nla-u64.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Naur drbd-9.0.2+git.14d2eea.orig/drbd-headers/linux/genl_magic_struct.h drbd-9.0.2+git.14d2eea/drbd-headers/linux/genl_magic_struct.h
---- drbd-9.0.2+git.14d2eea.orig/drbd-headers/linux/genl_magic_struct.h 2016-06-09 08:08:48.682443819 +0800
-+++ drbd-9.0.2+git.14d2eea/drbd-headers/linux/genl_magic_struct.h 2016-06-09 21:58:38.138780397 +0800
-@@ -13,7 +13,7 @@
- # error "you need to define GENL_MAGIC_INCLUDE_FILE before inclusion"
- #endif
-
--#include
-+#include
- #include
- #include
- #include "compat.h"
-@@ -86,9 +86,21 @@
- __field(attr_nr, attr_flag, name, NLA_U32, __s32, \
- nla_get_u32, nla_put_u32, true)
- #endif
-+#ifdef COMPAT_HAVE_ALIGNED_NLA_U64_PAD
- #define __u64_field(attr_nr, attr_flag, name) \
- __field(attr_nr, attr_flag, name, NLA_U64, __u64, \
- nla_get_u64, nla_put_u64, false)
-+#else
-+
-+static inline int nla_put_u64_0pad(struct sk_buff *skb, int attrtype, u64 value)
-+{
-+ return nla_put_64bit(skb, attrtype, sizeof(u64), &value, 0);
-+}
-+
-+#define __u64_field(attr_nr, attr_flag, name) \
-+ __field(attr_nr, attr_flag, name, NLA_U64, __u64, \
-+ nla_get_u64, nla_put_u64_0pad, false)
-+#endif
- #define __str_field(attr_nr, attr_flag, name, maxlen) \
- __array(attr_nr, attr_flag, name, NLA_NUL_STRING, char, maxlen, \
- nla_strlcpy, nla_put, false)
diff --git a/compat-4.7-50225243-kill-nla_put_u64.patch b/compat-4.7-50225243-kill-nla_put_u64.patch
deleted file mode 100644
index 8281278..0000000
--- a/compat-4.7-50225243-kill-nla_put_u64.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -Naur drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/tests/have_aligned_nla_u64_pad.c drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/tests/have_aligned_nla_u64_pad.c
---- drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/tests/have_aligned_nla_u64_pad.c 1970-01-01 08:00:00.000000000 +0800
-+++ drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/tests/have_aligned_nla_u64_pad.c 2016-06-09 07:56:36.081322856 +0800
-@@ -0,0 +1,6 @@
-+#include
-+
-+void foo(void)
-+{
-+ nla_put_u64(NULL, 0, 0);
-+}
diff --git a/compat-4.7-9902af79-i_mutex.patch b/compat-4.7-9902af79-i_mutex.patch
deleted file mode 100644
index 0413ff0..0000000
--- a/compat-4.7-9902af79-i_mutex.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/drbd/drbd_debugfs.c b/drbd/drbd_debugfs.c
-index 91292c3..959a576 100644
---- a/drbd/drbd_debugfs.c
-+++ b/drbd/drbd_debugfs.c
-@@ -1074,7 +1074,7 @@ static int drbd_single_open_peer_device(struct file *file,
- parent = file->f_path.dentry->d_parent;
- if (!parent || !parent->d_inode)
- goto out;
-- mutex_lock(&parent->d_inode->i_mutex);
-+ inode_lock(d_inode(parent));
- if (!simple_positive(file->f_path.dentry))
- goto out_unlock;
-
-@@ -1083,7 +1083,7 @@ static int drbd_single_open_peer_device(struct file *file,
-
- if (got_connection && got_device) {
- int ret;
-- mutex_unlock(&parent->d_inode->i_mutex);
-+ inode_unlock(d_inode(parent));
- ret = single_open(file, show, peer_device);
- if (ret) {
- kref_put(&connection->kref, drbd_destroy_connection);
-@@ -1097,7 +1097,7 @@ static int drbd_single_open_peer_device(struct file *file,
- if (got_device)
- kref_put(&device->kref, drbd_destroy_device);
- out_unlock:
-- mutex_unlock(&parent->d_inode->i_mutex);
-+ inode_unlock(d_inode(parent));
- out:
- return -ESTALE;
- }
diff --git a/compat-4.7-fe8fb75e-blk_queue_write_cache.patch b/compat-4.7-fe8fb75e-blk_queue_write_cache.patch
deleted file mode 100644
index a8865ba..0000000
--- a/compat-4.7-fe8fb75e-blk_queue_write_cache.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/drbd_wrappers.h drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/drbd_wrappers.h
---- drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/drbd_wrappers.h 2016-06-08 17:52:23.920376490 +0800
-+++ drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/drbd_wrappers.h 2016-06-08 21:14:33.692708703 +0800
-@@ -677,6 +677,10 @@
- #define blk_queue_max_hw_sectors(q, max) blk_queue_max_sectors(q, max)
- #endif
-
-+#ifndef COMPAT_HAVE_BLK_QUEUE_FLUSH
-+#define blk_queue_flush(q, f) blk_queue_write_cache(q, true, true)
-+#endif
-+
- #ifndef COMPAT_HAVE_BLK_QUEUE_MAX_SEGMENTS
- static inline void blk_queue_max_segments(struct request_queue *q, unsigned short max_segments)
- {
-diff -Naur drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/tests/have_blk_queue_flush.c drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/tests/have_blk_queue_flush.c
---- drbd-9.0.2+git.14d2eea.orig/drbd/drbd-kernel-compat/tests/have_blk_queue_flush.c 1970-01-01 08:00:00.000000000 +0800
-+++ drbd-9.0.2+git.14d2eea/drbd/drbd-kernel-compat/tests/have_blk_queue_flush.c 2016-06-08 21:13:40.324918430 +0800
-@@ -0,0 +1,6 @@
-+#include
-+
-+void dummy(struct request_queue *q, unsigned int flush)
-+{
-+ blk_queue_flush(q, flush);
-+}
diff --git a/drbd-9.0.2+git.14d2eea.tar.bz2 b/drbd-9.0.2+git.14d2eea.tar.bz2
deleted file mode 100644
index caa04cf..0000000
--- a/drbd-9.0.2+git.14d2eea.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e6b1003e42a0541b5a589d4576a8e4271e17aafbf595df40fd4b91cf87432d6e
-size 288998
diff --git a/drbd-9.0.5+git.8d53d3e.tar.bz2 b/drbd-9.0.5+git.8d53d3e.tar.bz2
new file mode 100644
index 0000000..6be6f2c
--- /dev/null
+++ b/drbd-9.0.5+git.8d53d3e.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fff0223e279ed5f09c785bda8a8eb2cbf314a22267bd5e57c648171059b2759
+size 297575
diff --git a/drbd-buildcompare.patch b/drbd-buildcompare.patch
deleted file mode 100644
index 1b0af25..0000000
--- a/drbd-buildcompare.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -Naur drbd-9.0.1+git.86e4439.orig/drbd/Kbuild drbd-9.0.1+git.86e4439/drbd/Kbuild
---- drbd-9.0.1+git.86e4439.orig/drbd/Kbuild 2016-04-13 21:42:44.957501769 +0800
-+++ drbd-9.0.1+git.86e4439/drbd/Kbuild 2016-04-13 21:43:05.622500374 +0800
-@@ -133,5 +133,5 @@
- echo >&2 "Your DRBD source tree is broken. Unpack again."; \
- exit 1; \
- fi ; \
-- echo -e "\t\t\" build by $$USER@$$HOSTNAME, `date "+%F %T"`\";\n}"; \
-+ echo -e "\t\t\" build by $$USER\";\n}"; \
- mv -f $@.new $@
diff --git a/drbd.changes b/drbd.changes
index 5973f50..04e67cd 100644
--- a/drbd.changes
+++ b/drbd.changes
@@ -1,3 +1,20 @@
+-------------------------------------------------------------------
+Mon Oct 24 06:35:26 UTC 2016 - nwang@suse.com
+
+- bsc#1006176, compat with kernel 4.8 with 9.0.5
+
+-------------------------------------------------------------------
+Mon Oct 24 06:33:56 UTC 2016 - nwang@suse.com
+
+- Upgrade 9.0.2 to 9.0.5
+- Remove patch compat-4.7-9902af79-i_mutex.patch
+ Remove patch compat-4.7-fe8fb75e-blk_queue_write_cache.patch
+ Remove patch compat-4.7-50225243-kill-nla_put_u64.patch
+ Remove patch compat-4.7-1dee3f59-align-nla-u64.patch
+ Remove patch drbd-buildcompare.patch
+ Remove patch kernel-4.5-compat.patch
+ Remove patch temp.patch
+
-------------------------------------------------------------------
Wed Jun 8 06:03:05 UTC 2016 - nwang@suse.com
diff --git a/drbd.spec b/drbd.spec
index a249a4e..9085de4 100644
--- a/drbd.spec
+++ b/drbd.spec
@@ -23,7 +23,7 @@
%endif
Name: drbd
-Version: 9.0.2+git.14d2eea
+Version: 9.0.5+git.8d53d3e
Release: 0
Summary: DRBD driver for Linux
License: GPL-2.0
@@ -34,29 +34,19 @@ Source1: preamble
#In kernel is: kernel/drivers/block/drbd/drbd.ko
Source2: Module.supported
Source3: drbd_git_revision
-Patch0: drbd-buildcompare.patch
-Patch1: kernel-4.5-compat.patch
-Patch2: compat-4.7-9902af79-i_mutex.patch
-Patch3: compat-4.7-fe8fb75e-blk_queue_write_cache.patch
-#Patch4 should work together with Patch5
-Patch4: compat-4.7-50225243-kill-nla_put_u64.patch
-Patch5: compat-4.7-1dee3f59-align-nla-u64.patch
BuildRequires: kernel-source
BuildRequires: kernel-syms
BuildRequires: module-init-tools
-
-%if 0%{?buildrt} == 1
-BuildRequires: kernel-source-rt
-BuildRequires: kernel-syms-rt
-%endif
-
Requires: drbd-utils >= 8.9.6
Supplements: drbd-utils >= 8.9.6
Obsoletes: drbd-kmp < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExcludeArch: i586 s390
-
-%kernel_module_package -n drbd -p %_sourcedir/preamble
+%kernel_module_package -n drbd -p %{_sourcedir}/preamble
+%if 0%{?buildrt} == 1
+BuildRequires: kernel-source-rt
+BuildRequires: kernel-syms-rt
+%endif
%description
Drbd is a distributed replicated block device. It mirrors a block
@@ -66,20 +56,15 @@ raid 1. It is a building block for setting up clusters.
%package KMP
Summary: Kernel driver for DRBD
Group: Productivity/Clustering/HA
+Url: http://drbd.linbit.com/
%description KMP
-This module is the kernel-dependent driver for DRBD. This is split out so
+This module is the kernel-dependent driver for DRBD. This is split out so
that multiple kernel driver versions can be installed, one for each
installed kernel.
%prep
%setup -q -n drbd-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
mkdir source
cp -a drbd/. source/. || :
@@ -93,10 +78,10 @@ ln -s ../scripts obj/
export CONFIG_BLK_DEV_DRBD=m
export EXTRA_CFLAGS='-DVERSION=\"%{version}\"'
-for flavor in %flavors_to_build; do
+for flavor in %{flavors_to_build}; do
rm -rf $flavor
cp -r source $flavor
- cp %_sourcedir/Module.supported $flavor
+ cp %{_sourcedir}/Module.supported $flavor
export DRBDSRC="$PWD/obj/$flavor"
make -C %{kernel_source $flavor} modules M=$PWD/$flavor
done
diff --git a/drbd_git_revision b/drbd_git_revision
index 82a8db6..7661963 100644
--- a/drbd_git_revision
+++ b/drbd_git_revision
@@ -1 +1 @@
-GIT-hash: 14d2eead95f99a7de1c0b3e3f335a30b8d486bcb
+GIT-hash: c7888383cd94c74c84705d73b41fbfc41d4d6676
diff --git a/kernel-4.5-compat.patch b/kernel-4.5-compat.patch
deleted file mode 100644
index bc8f785..0000000
--- a/kernel-4.5-compat.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -Naur drbd-9.0.1+git.86e4439.orig/drbd/drbd-kernel-compat/drbd_wrappers.h drbd-9.0.1+git.86e4439/drbd/drbd-kernel-compat/drbd_wrappers.h
---- drbd-9.0.1+git.86e4439.orig/drbd/drbd-kernel-compat/drbd_wrappers.h 2016-04-08 21:56:02.872683041 +0800
-+++ drbd-9.0.1+git.86e4439/drbd/drbd-kernel-compat/drbd_wrappers.h 2016-04-08 22:03:05.732665258 +0800
-@@ -1529,31 +1529,6 @@
- }
- #endif
-
--#ifndef COMPAT_HAVE_IB_CQ_INIT_ATTR
--#include
--
--struct ib_cq_init_attr {
-- unsigned int cqe;
-- int comp_vector;
-- u32 flags;
--};
--
--static inline struct ib_cq *
--drbd_ib_create_cq(struct ib_device *device,
-- ib_comp_handler comp_handler,
-- void (*event_handler)(struct ib_event *, void *),
-- void *cq_context,
-- const struct ib_cq_init_attr *cq_attr)
--{
-- return ib_create_cq(device, comp_handler, event_handler, cq_context,
-- cq_attr->cqe, cq_attr->comp_vector);
--}
--
--#define ib_create_cq(DEV, COMP_H, EVENT_H, CTX, ATTR) \
-- drbd_ib_create_cq(DEV, COMP_H, EVENT_H, CTX, ATTR)
--#endif
--
--
- #ifndef COMPAT_RDMA_CREATE_ID_HAS_NET_NS
- /* Since linux v4.4 it has a network namespace as first argument */
- #define rdma_create_id(NS, H, C, P, T) rdma_create_id(H, C, P, T)