2009-04-24 13:07:12

by Robert P. J. Day

[permalink] [raw]
Subject: [PATCH] EXT4: Use is_power_of_2() routine for clarity.


Signed-off-by: Robert P. J. Day <[email protected]>

---

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 2958f4e..479d5ef 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1479,7 +1479,7 @@ set_qf_format:
return 0;
if (option < 0 || option > (1 << 30))
return 0;
- if (option & (option - 1)) {
+ if (!is_power_of_2(option)) {
printk(KERN_ERR "EXT4-fs: inode_readahead_blks"
" must be a power of 2\n");
return 0;
@@ -2092,7 +2092,7 @@ static ssize_t inode_readahead_blks_store(struct ext4_attr *a,
return -EINVAL;

/* inode_readahead_blks must be a power of 2 */
- if (t & (t-1))
+ if (!is_power_of_2(t))
return -EINVAL;

sbi->s_inode_readahead_blks = t;

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Annoying Kernel Pedantry.

Web page: http://crashcourse.ca
Linked In: http://www.linkedin.com/in/rpjday
Twitter: http://twitter.com/rpjday
========================================================================


2009-04-24 15:04:42

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] EXT4: Use is_power_of_2() routine for clarity.

Robert P. J. Day wrote:
> Signed-off-by: Robert P. J. Day <[email protected]>

Looks fine, thanks.

Reviewed-by: Eric Sandeen <[email protected]>

> ---
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 2958f4e..479d5ef 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1479,7 +1479,7 @@ set_qf_format:
> return 0;
> if (option < 0 || option > (1 << 30))
> return 0;
> - if (option & (option - 1)) {
> + if (!is_power_of_2(option)) {
> printk(KERN_ERR "EXT4-fs: inode_readahead_blks"
> " must be a power of 2\n");
> return 0;
> @@ -2092,7 +2092,7 @@ static ssize_t inode_readahead_blks_store(struct ext4_attr *a,
> return -EINVAL;
>
> /* inode_readahead_blks must be a power of 2 */
> - if (t & (t-1))
> + if (!is_power_of_2(t))
> return -EINVAL;
>
> sbi->s_inode_readahead_blks = t;
>

2009-04-24 17:35:03

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] EXT4: Use is_power_of_2() routine for clarity.

On Fri, Apr 24, 2009 at 10:03:31AM -0500, Eric Sandeen wrote:
> > @@ -2092,7 +2092,7 @@ static ssize_t inode_readahead_blks_store(struct ext4_attr *a,
> > return -EINVAL;
> >
> > /* inode_readahead_blks must be a power of 2 */
> > - if (t & (t-1))
> > + if (!is_power_of_2(t))
> > return -EINVAL;

Might as well remove the comment; it's not needed if we're going to be
using is_power_of_2().

- Ted

2009-04-25 04:00:30

by Theodore Ts'o

[permalink] [raw]
Subject: [PATCH] ext4: Use is_power_of_2() for clarity

Signed-off-by: Robert P. J. Day <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
---
fs/ext4/super.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index f19d8b8..e20ff9c 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1482,7 +1482,7 @@ set_qf_format:
return 0;
if (option < 0 || option > (1 << 30))
return 0;
- if (option & (option - 1)) {
+ if (!is_power_of_2(option)) {
printk(KERN_ERR "EXT4-fs: inode_readahead_blks"
" must be a power of 2\n");
return 0;
@@ -2100,8 +2100,7 @@ static ssize_t inode_readahead_blks_store(struct ext4_attr *a,
if (parse_strtoul(buf, 0x40000000, &t))
return -EINVAL;

- /* inode_readahead_blks must be a power of 2 */
- if (t & (t-1))
+ if (!is_power_of_2(t))
return -EINVAL;

sbi->s_inode_readahead_blks = t;
--
1.5.6.3