# Re: \[mdadm PATCH 1/1\] Fix some type comparison problems

- From: Jes Sorensen \<hidden\>
- Date: 2016-02-04 13:12:37 
- List: linux-raid
- Page: https://ratatoskr.run/linux-raid/2016/02/6631510
- Thread: https://ratatoskr.run/linux-raid/2016/02/6631510/t.md

```text
Xiao Ni [ref] writes:
> It complains when building on s390 and i686 platform.
>
> Signed-off-by : Xiao Ni [ref]

Hi Xiao,

The description needs to be a little clearer - something more like
"Change utime to unsigned int to be able to hold times until 2106."

> ---
>  Monitor.c | 2 +-
>  util.c    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Monitor.c b/Monitor.c
> index f19c2e5..9a6cf7e 100644
> --- a/Monitor.c
> +++ b/Monitor.c
> @@ -542,7 +542,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
>  		alert("NewArray", st->devname, NULL, ainfo);
>  	}
>  
> -	if (st->utime == array.utime &&
> +	if ((unsigned int)st->utime == array.utime &&
>  	    st->failed == array.failed_disks &&
>  	    st->working == array.working_disks &&
>  	    st->spare == array.spare_disks &&

Instead of the cast, please change the type in struct state.

> diff --git a/util.c b/util.c
> index 970d484..6e7d3fb 100644
> --- a/util.c
> +++ b/util.c
> @@ -1267,7 +1267,7 @@ struct supertype *guess_super_type(int fd, enum guess_types guess_type)
>  	 */
>  	struct superswitch  *ss;
>  	struct supertype *st;
> -	time_t besttime = 0;
> +	unsigned int besttime = 0;
>  	int bestsuper = -1;
>  	int i;

This one is fine.

Thanks,
Jes
```
