mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-04-06 17:49:11 +03:00
Fixes to enable zvol symlink creation
This commit fixes issue on https://github.com/behlendorf/zfs/issues/#issue/172 Changes: - update BLKZNAME to use _IOR instead of _IO. Kernel 2.6.32 allows read parameters (copy_to_user) with _IO, while newer kernels (tested Archlinux's 2.6.37 kernel) enforces _IOR (which is correct) - fix return code and message on error Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
7a1cdc0775
commit
a5729f7b22
@ -40,7 +40,6 @@ int ioctl_get_msg(char *var, int fd)
|
|||||||
|
|
||||||
error = ioctl(fd, BLKZNAME, msg);
|
error = ioctl(fd, BLKZNAME, msg);
|
||||||
if (error < 0) {
|
if (error < 0) {
|
||||||
printf("ioctl_get_msg failed:%d\n", error);
|
|
||||||
return (error);
|
return (error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,7 +76,11 @@ int main(int argc, char **argv)
|
|||||||
return (errno);
|
return (errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
ioctl_get_msg(zvol_name, fd);
|
error = ioctl_get_msg(zvol_name, fd);
|
||||||
|
if (error < 0) {
|
||||||
|
printf("ioctl_get_msg failed:%s\n", strerror(errno));
|
||||||
|
return (errno);
|
||||||
|
}
|
||||||
if (dev_part > 0)
|
if (dev_part > 0)
|
||||||
snprintf(zvol_name_part, ZFS_MAXNAMELEN, "%s-part%d", zvol_name,
|
snprintf(zvol_name_part, ZFS_MAXNAMELEN, "%s-part%d", zvol_name,
|
||||||
dev_part);
|
dev_part);
|
||||||
|
@ -785,7 +785,7 @@ typedef enum zfs_ioc {
|
|||||||
/*
|
/*
|
||||||
* zvol ioctl to get dataset name
|
* zvol ioctl to get dataset name
|
||||||
*/
|
*/
|
||||||
#define BLKZNAME _IO(0x12,125)
|
#define BLKZNAME _IOR(0x12,125,char[ZFS_MAXNAMELEN])
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internal SPA load state. Used by FMA diagnosis engine.
|
* Internal SPA load state. Used by FMA diagnosis engine.
|
||||||
|
Loading…
Reference in New Issue
Block a user