Re: [PATCH] mdadm: fix portability issues encountered while building against musl libc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 10 Feb 2013 00:15:51 +0100 John Spencer <maillist-mdadm@xxxxxxxxxxx>
wrote:

> >From 23114b8c77982717cc3ce3d437321c7fb0b1c918 Mon Sep 17 00:00:00 2001
> From: John Spencer <maillist-mdadm@xxxxxxxxxxx>
> Date: Sat, 2 Feb 2013 17:26:45 +0100
> Subject: [PATCH 1/3] platform-intel: canonicalize_file_name() is not portable
> 
> this is a GLIBC specific feature and should not be used.
> 
> according to its manpage:
> "The call canonicalize_file_name(path) is equivalent
> to the call realpath(path, NULL)."
> 
> thus, we use realpath so it works everywhere.
> 
> Signed-off-by: John Spencer <maillist-mdadm@xxxxxxxxxxx>
> ---
>  platform-intel.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/platform-intel.c b/platform-intel.c
> index 0dcf07c..d8d4942 100644
> --- a/platform-intel.c
> +++ b/platform-intel.c
> @@ -116,7 +116,7 @@ struct sys_dev *find_driver_devices(const char *bus, const char *driver)
>  
>  		list->dev_id = (__u16) dev_id;
>  		list->type = type;
> -		list->path = canonicalize_file_name(path);
> +		list->path = realpath(path, NULL);
>  		list->next = NULL;
>  		if ((list->pci_id = strrchr(list->path, '/')) != NULL)
>  			list->pci_id++;
> @@ -459,7 +459,7 @@ char *devt_to_devpath(dev_t dev)
>  	char device[46];
>  
>  	sprintf(device, "/sys/dev/block/%d:%d/device", major(dev), minor(dev));
> -	return canonicalize_file_name(device);
> +	return realpath(device, NULL);
>  }
>  
>  char *diskfd_to_devpath(int fd)


Hi,
 I've applied this one and the GCC #ifdef - thanks.

 I haven't applied the last one, but not because I don't appreciate being
 called insane :-)

 I like having -Werror as it encourages people to report any warnings they
 get, and it keeps me "honest".
 If it is a problem for you, you can easily
   make CWFLAGS=

 or set the C Warning FLAGS to whatever you like - they are deliberately kept
 separate from other CFLAGS.

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux