Re: [PATCH v1] fs/jfs: Switch to use new generic UUID API

From: Dave Kleikamp
Date: Mon Jan 21 2019 - 11:19:38 EST


On 1/21/19 2:49 AM, Christoph Hellwig wrote:
>> + buf->f_fsid.val[1] = (u32)crc32_le(0, (char *)&sbi->uuid + sizeof(sbi->uuid)/2,
>
> This adds an overly long line, and has weird operator spacing.
>
> In fact given how much deep magic it does it should probably be moved
> into a helper and properly documented when you touch it anyway.
>

I cleaned this up a bit when I pushed it to the jfs tree.

https://github.com/kleikamp/linux-shaggy/commit/2e3bc6125154c691e987e2554f2c99ec10f83b73

Here's the relevant part. It's still a bit ugly, but I got rid of an
unnecessary cast and kept the lines from exceeding 80 characters.

diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 65d8fc87ab11..c15ff56a8516 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -174,9 +174,11 @@ static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_files = maxinodes;
buf->f_ffree = maxinodes - (atomic_read(&imap->im_numinos) -
atomic_read(&imap->im_numfree));
- buf->f_fsid.val[0] = (u32)crc32_le(0, sbi->uuid, sizeof(sbi->uuid)/2);
- buf->f_fsid.val[1] = (u32)crc32_le(0, sbi->uuid + sizeof(sbi->uuid)/2,
- sizeof(sbi->uuid)/2);
+ buf->f_fsid.val[0] = crc32_le(0, (char *)&sbi->uuid,
+ sizeof(sbi->uuid)/2);
+ buf->f_fsid.val[1] = crc32_le(0,
+ (char *)&sbi->uuid + sizeof(sbi->uuid)/2,
+ sizeof(sbi->uuid)/2);

buf->f_namelen = JFS_NAME_MAX;
return 0;