|
@@ -87,6 +87,7 @@
|
|
#include <linux/smp_lock.h>
|
|
#include <linux/smp_lock.h>
|
|
#include <linux/buffer_head.h>
|
|
#include <linux/buffer_head.h>
|
|
#include <linux/vfs.h>
|
|
#include <linux/vfs.h>
|
|
|
|
+#include <linux/log2.h>
|
|
|
|
|
|
#include "swab.h"
|
|
#include "swab.h"
|
|
#include "util.h"
|
|
#include "util.h"
|
|
@@ -854,7 +855,7 @@ magic_found:
|
|
uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask);
|
|
uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask);
|
|
uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift);
|
|
uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift);
|
|
|
|
|
|
- if (uspi->s_fsize & (uspi->s_fsize - 1)) {
|
|
|
|
|
|
+ if (!is_power_of_2(uspi->s_fsize)) {
|
|
printk(KERN_ERR "ufs_read_super: fragment size %u is not a power of 2\n",
|
|
printk(KERN_ERR "ufs_read_super: fragment size %u is not a power of 2\n",
|
|
uspi->s_fsize);
|
|
uspi->s_fsize);
|
|
goto failed;
|
|
goto failed;
|
|
@@ -869,7 +870,7 @@ magic_found:
|
|
uspi->s_fsize);
|
|
uspi->s_fsize);
|
|
goto failed;
|
|
goto failed;
|
|
}
|
|
}
|
|
- if (uspi->s_bsize & (uspi->s_bsize - 1)) {
|
|
|
|
|
|
+ if (!is_power_of_2(uspi->s_bsize)) {
|
|
printk(KERN_ERR "ufs_read_super: block size %u is not a power of 2\n",
|
|
printk(KERN_ERR "ufs_read_super: block size %u is not a power of 2\n",
|
|
uspi->s_bsize);
|
|
uspi->s_bsize);
|
|
goto failed;
|
|
goto failed;
|