diff --git a/innobase/include/sync0rw.ic b/innobase/include/sync0rw.ic
index 2a02cfb6a539cdc2d5bda3378d2fa751f9cb2fe8..af5c4576da64fe7586915193610772e64e4ede01 100644
--- a/innobase/include/sync0rw.ic
+++ b/innobase/include/sync0rw.ic
@@ -356,7 +356,7 @@ rw_lock_s_unlock_func(
 
 	/* Reset the shared lock by decrementing the reader count */
 
-	ut_ad(lock->reader_count > 0);
+	ut_a(lock->reader_count > 0);
 	lock->reader_count--;
 
 	#ifdef UNIV_SYNC_DEBUG
diff --git a/innobase/include/ut0byte.ic b/innobase/include/ut0byte.ic
index b8170392c8f9f66db53e6d9d604b43ba304c1321..f0df9cc35a356932d2da0cc5ce68124c06fc55ff 100644
--- a/innobase/include/ut0byte.ic
+++ b/innobase/include/ut0byte.ic
@@ -51,6 +51,20 @@ ut_dulint_get_low(
 	return(d.low);
 }
 
+/***********************************************************
+Converts a dulint (a struct of 2 ulints) to ib_longlong, which is a 64-bit
+integer type. */
+UNIV_INLINE
+ib_longlong
+ut_conv_dulint_to_longlong(
+/*=======================*/
+			/* out: value in ib_longlong type */
+	dulint	d)	/* in: dulint */
+{
+	return((ib_longlong)d.low
+		+ (((ib_longlong)d.high) << 32));
+}
+
 /***********************************************************
 Tests if a dulint is zero. */
 UNIV_INLINE