drivers: staging: lustre: Use mult if units not specified
authorChris Rorvick <chris@rorvick.com>
Wed, 17 Dec 2014 04:24:01 +0000 (22:24 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jan 2015 23:42:34 +0000 (15:42 -0800)
Units can be passed to lprocfs_write_frac_u64_helper() via a suffix
(e.g., "...K", "...M", etc.) tacked onto the value.  A comment states
that "specified units override the multiplier," though the multiplier is
overridden regardless.  Update the conditional logic so that it only
applies when units are specified.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c

index f78a241453290d69b33bfb7c450956c228d584b5..5aada17c64507baacad3f697bb8b092dedf3fc72 100644 (file)
@@ -1908,7 +1908,7 @@ int lprocfs_write_frac_u64_helper(const char *buffer, unsigned long count,
                units <<= 10;
        }
        /* Specified units override the multiplier */
-       if (units)
+       if (units > 1)
                mult = mult < 0 ? -units : units;
 
        frac *= mult;