File normalize_blocksize.diff of Package rpm

--- ./lib/transaction.c.orig	2016-04-21 12:21:53.649740302 +0000
+++ ./lib/transaction.c	2016-04-21 12:28:00.821356311 +0000
@@ -134,6 +134,13 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(c
     dsi->iavail = !(sfb.f_ffree == 0 && sfb.f_files == 0)
 	? sfb.f_ffree : -1;
 
+    /* normalize block size to 4096 bytes if it is too big. */
+    if (dsi->bsize > 4096) {
+	uint64_t old_size = dsi->bavail * dsi->bsize;
+	dsi->bsize = 4096; /* Assume 4k block size */
+	dsi->bavail = old_size / dsi->bsize;
+    }
+
     /* Find mount point belonging to this device number */
     resolved_path = realpath(dirName, mntPoint);
     if (!resolved_path) {
openSUSE Build Service is sponsored by