2014-06-15 06:40:41

by Fabian Frédérick

[permalink] [raw]
Subject: [PATCH V2] fs/omfs/inode.c: use ULLONG_MAX instead of ~0ULL

Use more explicit kernel.h definition

Cc: Bob Copeland <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Fabian Frederick <[email protected]>
---
V2:
Fix Cc list

fs/omfs/inode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/omfs/inode.c b/fs/omfs/inode.c
index ec58c76..40c0707 100644
--- a/fs/omfs/inode.c
+++ b/fs/omfs/inode.c
@@ -317,7 +317,7 @@ static int omfs_get_imap(struct super_block *sb)
bitmap_size = DIV_ROUND_UP(sbi->s_num_blocks, 8);
array_size = DIV_ROUND_UP(bitmap_size, sb->s_blocksize);

- if (sbi->s_bitmap_ino == ~0ULL)
+ if (sbi->s_bitmap_ino == ULLONG_MAX)
goto out;

sbi->s_imap_size = array_size;
@@ -516,7 +516,7 @@ static int omfs_fill_super(struct super_block *sb, void *data, int silent)
goto out_brelse_bh2;
}

- if (sbi->s_bitmap_ino != ~0ULL &&
+ if (sbi->s_bitmap_ino != ULLONG_MAX &&
sbi->s_bitmap_ino > sbi->s_num_blocks) {
printk(KERN_ERR "omfs: free space bitmap location is corrupt "
"(%llx, total blocks %llx)\n",
--
1.8.4.5


2014-06-15 16:11:56

by Bob Copeland

[permalink] [raw]
Subject: Re: [PATCH V2] fs/omfs/inode.c: use ULLONG_MAX instead of ~0ULL

On Sun, Jun 15, 2014 at 08:39:20AM +0200, Fabian Frederick wrote:
> Use more explicit kernel.h definition
> array_size = DIV_ROUND_UP(bitmap_size, sb->s_blocksize);
>
> - if (sbi->s_bitmap_ino == ~0ULL)
> + if (sbi->s_bitmap_ino == ULLONG_MAX)
> goto out;

So I agree they are the same, but is there a good reason for the
change?

Semantically, I think of ~0ULL as "all ones" whereas ULLONG_MAX
as a maximum of a magnitude comparison, which this is not really.

--
Bob Copeland %% http://www.bobcopeland.com

2014-06-16 19:00:36

by Fabian Frédérick

[permalink] [raw]
Subject: Re: [PATCH V2] fs/omfs/inode.c: use ULLONG_MAX instead of ~0ULL

On Sun, 15 Jun 2014 12:11:42 -0400
Bob Copeland <[email protected]> wrote:

> On Sun, Jun 15, 2014 at 08:39:20AM +0200, Fabian Frederick wrote:
> > Use more explicit kernel.h definition
> > array_size = DIV_ROUND_UP(bitmap_size, sb->s_blocksize);
> >
> > - if (sbi->s_bitmap_ino == ~0ULL)
> > + if (sbi->s_bitmap_ino == ULLONG_MAX)
> > goto out;
>
> So I agree they are the same, but is there a good reason for the
> change?
>
> Semantically, I think of ~0ULL as "all ones" whereas ULLONG_MAX
> as a maximum of a magnitude comparison, which this is not really.

Well it was meant to clarify code but in this case it doesn't indeed :)

Thanks,
Fabian

>
> --
> Bob Copeland %% http://www.bobcopeland.com