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

Dave Kleikamp <[email protected]> Mon, 21 Jan 2019 11:46:03 -0600
Newsgroups gmane.comp.file-systems.jfs.general,gmane.linux.kernel
Message-ID <[email protected]>
On 1/21/19 10:23 AM, Christoph Hellwig wrote:
> On Mon, Jan 21, 2019 at 10:19:15AM -0600, Dave Kleikamp wrote:
>> 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);
> 
> I'd really love to see a little helper to calculate the fsid, and
> a comment on that function documenting the design decision behind it.

I can do that. It was a long time ago, but I'm sure the design decision
was that I took the idea from another filesystem, possibly reiserfs, but
I'll make a better case than that. :-)

Shaggy