Whamcloud - gitweb
LU-6974 util: set max_sectors_kb properly 16/16116/5
authorAndreas Dilger <andreas.dilger@intel.com>
Fri, 28 Aug 2015 19:48:28 +0000 (13:48 -0600)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 31 Aug 2015 18:27:51 +0000 (18:27 +0000)
Reduce max_sectors_kb to avoid crash on some special block devices.

Test-Parameters: alwaysuploadlogs envdefinitions=SLOW=yes,ENABLE_QUOTA=yes  mdtfilesystemtype=ldiskfs mdsfilesystemtype=ldiskfs  ostfilesystemtype=ldiskfs clientdistro=el7 ossdistro=el7  mdsdistro=el7 mdtcount=1 testlist=runtests
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: Ifc7efd169f0db0b54c3f727fc65716c203930e29
Reviewed-on: http://review.whamcloud.com/16116
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/utils/mount_utils_ldiskfs.c

index 584d6fd..6bc37a2 100644 (file)
@@ -1210,10 +1210,12 @@ set_params:
                if (newval == 0 || newval == ULLONG_MAX || end == buf)
                        goto subdevs;
 
-               /* Don't increase IO request size limit past 32MB.  It is about
-                * 2x PTLRPC_MAX_BRW_SIZE, but that isn't in a public header. */
-               if (newval > 32 * 1024) {
-                       newval = 32 * 1024;
+               /* Don't increase IO request size limit past 16MB.  It is about
+                * PTLRPC_MAX_BRW_SIZE, but that isn't in a public header.
+                * Note that even though the block layer allows larger values,
+                * setting max_sectors_kb = 32768 causes crashes (LU-6974). */
+               if (newval > 16 * 1024) {
+                       newval = 16 * 1024;
                        snprintf(buf, sizeof(buf), "%llu", newval);
                }