diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1d82027..ddd4ff5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+### Release 4.5 ###
+
+- kernel: cache - Fixed I/O handler bug for 4.8+ kernels
+- documentation: Cleaned up formatting and license disclaimers (thanks Boian!)
+
### Release 4.4 ###
- kernel: Update to 4.8 and 4.9 kernels.
diff --git a/module/Makefile b/module/Makefile
index 7d0a824..056ae33 100644
--- a/module/Makefile
+++ b/module/Makefile
@@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-VERSION = 4.4
+VERSION = 4.5
ifeq ($(KSRC),)
KSRC := /lib/modules/$(shell uname -r)/build
diff --git a/module/dkms.conf b/module/dkms.conf
index 2b508bd..d914db9 100644
--- a/module/dkms.conf
+++ b/module/dkms.conf
@@ -1,5 +1,5 @@
PACKAGE_NAME="rapiddisk"
-PACKAGE_VERSION="4.4"
+PACKAGE_VERSION="4.5"
BUILT_MODULE_NAME[0]="rapiddisk"
BUILT_MODULE_NAME[1]="rapiddisk-cache"
DEST_MODULE_LOCATION[0]="/kernel/rapiddisk/"
diff --git a/module/rapiddisk-cache.c b/module/rapiddisk-cache.c
index 0da3f39..f25e380 100644
--- a/module/rapiddisk-cache.c
+++ b/module/rapiddisk-cache.c
@@ -57,7 +57,7 @@
} \
} while (0)
-#define VERSION_STR "4.4"
+#define VERSION_STR "4.5"
#define DM_MSG_PREFIX "rapiddisk-cache"
#define READCACHE 1
@@ -179,6 +179,7 @@ int dm_io_async_bvec(unsigned int num_regions, struct dm_io_region *where,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)
iorq.bi_op = rw;
+ iorq.bi_op_flags = 0;
#else
iorq.bi_rw = rw;
#endif
@@ -1204,7 +1205,7 @@ cache_status(struct dm_target *ti, status_type_t type, unsigned status_flags,
static struct target_type cache_target = {
.name = "rapiddisk-cache",
- .version = {4, 4, 0},
+ .version = {4, 5, 0},
.module = THIS_MODULE,
.ctr = cache_ctr,
.dtr = cache_dtr,
diff --git a/module/rapiddisk.c b/module/rapiddisk.c
index 8d0f70c..dca46ed 100644
--- a/module/rapiddisk.c
+++ b/module/rapiddisk.c
@@ -39,7 +39,7 @@
#include
#include
-#define VERSION_STR "4.4"
+#define VERSION_STR "4.5"
#define PREFIX "rapiddisk"
#define BYTES_PER_SECTOR 512
#define MAX_RDSKS 128
diff --git a/pkg-mgmt/debian/changelog b/pkg-mgmt/debian/changelog
index eeeafbe..ca9f1aa 100644
--- a/pkg-mgmt/debian/changelog
+++ b/pkg-mgmt/debian/changelog
@@ -1,3 +1,8 @@
+rapiddisk (4.5-1) released; urgency=medium
+
+* kernel: cache - Fixed I/O handler bug for 4.8+ kernels
+* documentation: Cleaned up formatting and license disclaimers (thanks Boian!)
+
rapiddisk (4.4-1) released; urgency=medium
* kernel: Update to 4.8 and 4.9 kernels.
diff --git a/pkg-mgmt/debian/control b/pkg-mgmt/debian/control
index 0eda860..ddeaa31 100755
--- a/pkg-mgmt/debian/control
+++ b/pkg-mgmt/debian/control
@@ -1,5 +1,5 @@
Package: rapiddisk
-Version: 4.4-1
+Version: 4.5-1
Section: base
Priority: optional
Architecture: amd64
diff --git a/pkg-mgmt/debian/postinst b/pkg-mgmt/debian/postinst
index b4ce3d0..f583344 100755
--- a/pkg-mgmt/debian/postinst
+++ b/pkg-mgmt/debian/postinst
@@ -16,9 +16,9 @@ fi
case "$1" in
configure)
- dkms add -m rapiddisk -v 4.4
- dkms build -m rapiddisk -v 4.4
- dkms install -m rapiddisk -v 4.4
+ dkms add -m rapiddisk -v 4.5
+ dkms build -m rapiddisk -v 4.5
+ dkms install -m rapiddisk -v 4.5
echo "rapiddisk max_sectors=2048 nr_requests=1024" >> /etc/modules
echo "rapiddisk-cache" >> /etc/modules
echo "dm_mod" >> /etc/modules
diff --git a/pkg-mgmt/debian/prerm b/pkg-mgmt/debian/prerm
index bfdb0ab..c1a17a0 100755
--- a/pkg-mgmt/debian/prerm
+++ b/pkg-mgmt/debian/prerm
@@ -14,7 +14,7 @@ fi
case "$1" in
remove|upgrade|deconfigure)
- dkms remove -m rapiddisk -v 4.4 --all
+ dkms remove -m rapiddisk -v 4.5 --all
;;
failed-upgrade)
diff --git a/pkg-mgmt/spec/rapiddisk.spec.opensuse b/pkg-mgmt/spec/rapiddisk.spec.opensuse
index f32e93b..f1aa02b 100644
--- a/pkg-mgmt/spec/rapiddisk.spec.opensuse
+++ b/pkg-mgmt/spec/rapiddisk.spec.opensuse
@@ -1,6 +1,6 @@
Summary: The RapidDisk software defined advanced RAM drive and storage caching solution.
Name: rapiddisk
-Version: 4.4
+Version: 4.5
Release: 1
License: General Public License Version 2
Group: Applications/System
@@ -85,6 +85,9 @@ rm -rf %{buildroot}
%doc %attr(0444,root,root) /usr/share/man/man1/*
%changelog
+* Sat Nov 19 2016 Petros Koutoupis
+- kernel: cache - Fixed I/O handler bug for 4.8+ kernels
+- documentation: Cleaned up formatting and license disclaimers (thanks Boian!)
* Fri Oct 28 2016 Petros Koutoupis
- kernel: Update to 4.8 and 4.9 kernels.
- build: Cleaned up Makefiles (thanks Marcel!)
diff --git a/pkg-mgmt/spec/rapiddisk.spec.rhel b/pkg-mgmt/spec/rapiddisk.spec.rhel
index bf2c286..ddb39a3 100644
--- a/pkg-mgmt/spec/rapiddisk.spec.rhel
+++ b/pkg-mgmt/spec/rapiddisk.spec.rhel
@@ -1,6 +1,6 @@
Summary: The RapidDisk software defined advanced RAM drive and storage caching solution.
Name: rapiddisk
-Version: 4.4
+Version: 4.5
Release: 1
License: General Public License Version 2
Group: Applications/System
@@ -85,6 +85,9 @@ rm -rf %{buildroot}
%doc %attr(0444,root,root) /usr/share/man/man1/*
%changelog
+* Sat Nov 19 2016 Petros Koutoupis
+- kernel: cache - Fixed I/O handler bug for 4.8+ kernels
+- documentation: Cleaned up formatting and license disclaimers (thanks Boian!)
* Fri Oct 28 2016 Petros Koutoupis
- kernel: Update to 4.8 and 4.9 kernels.
- build: Cleaned up Makefiles (thanks Marcel!)
diff --git a/src/common.h b/src/common.h
index ace86d2..c029d12 100644
--- a/src/common.h
+++ b/src/common.h
@@ -41,7 +41,7 @@
#define UTIL "rapiddisk"
#define COPYRIGHT "Copyright 2011-2016 Petros Koutoupis"
-#define VERSION_NUM "4.4"
+#define VERSION_NUM "4.5"
#define SUCCESS 0x0
#define NAMELEN 0x100
#define BYTES_PER_SECTOR 0x200