Re: [PATCH 5/6] udf: Simplify calls to udf_disk_stamp_to_time
From: Deepa Dinamani
Date: Tue May 15 2018 - 13:48:16 EST
On Mon, May 14, 2018 at 6:57 AM, Jan Kara <jack@xxxxxxx> wrote:
> Hello,
>
> On Fri 11-05-18 21:59:20, Deepa Dinamani wrote:
>> Subsequent patches in the series convert inode timestamps
>> to use struct timespec64 instead of struct timespec as
>> part of solving the y2038 problem.
>>
>> commit fd3cfad374d4 ("udf: Convert udf_disk_stamp_to_time() to use mktime64()")
>> eliminated the NULL return condition from udf_disk_stamp_to_time().
>> udf_time_to_disk_time() is always called with a valid dest pointer and
>> the return value is ignored.
>> Further, caller can as well check the dest pointer being passed in rather
>> than return argument.
>> Make both the functions return void.
>>
>> This will make the inode timestamp conversion simpler.
>>
>> Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx>
>> Cc: jack@xxxxxxxx
>
> I'm fine with this. Just one bug below:
>
>> diff --git a/fs/udf/super.c b/fs/udf/super.c
>> index 0d27d41f5c6e..bd0ae64bc31c 100644
>> --- a/fs/udf/super.c
>> +++ b/fs/udf/super.c
>> @@ -862,6 +862,9 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
>> struct buffer_head *bh;
>> uint16_t ident;
>> int ret = -ENOMEM;
>> +#ifdef UDFFS_DEBUG
>> + struct timestamp *ts;
>> +#endif
>>
>> outstr = kmalloc(128, GFP_NOFS);
>> if (!outstr)
>> @@ -880,15 +883,14 @@ static int udf_load_pvoldesc(struct super_block *sb, sector_t block)
>>
>> pvoldesc = (struct primaryVolDesc *)bh->b_data;
>>
>> - if (udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
>> - pvoldesc->recordingDateAndTime)) {
>> + udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time,
>> + pvoldesc->recordingDateAndTime);
>> #ifdef UDFFS_DEBUG
>> - struct timestamp *ts = &pvoldesc->recordingDateAndTime;
>> - udf_debug("recording time %04u/%02u/%02u %02u:%02u (%x)\n",
>> - le16_to_cpu(ts->year), ts->month, ts->day, ts->hour,
>> - ts->minute, le16_to_cpu(ts->typeAndTimezone));
>> + *ts = &pvoldesc->recordingDateAndTime;
>
> This should be 'ts ='.
Thanks, I will fix this in v2.
> Do you prefer me taking this patch through my tree or will you carry it as
> a part of your series?
I can carry the patch as part of the series.
-Deepa