Make zfsdev_getminor signature cross platform
Only pass the file descriptor to make zfsdev_get_miror() portable. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes #9466
This commit is contained in:
parent
0e939e434a
commit
08f530c699
|
@ -546,7 +546,7 @@ typedef struct zfsdev_state {
|
|||
} zfsdev_state_t;
|
||||
|
||||
extern void *zfsdev_get_state(minor_t minor, enum zfsdev_state_type which);
|
||||
extern int zfsdev_getminor(struct file *filp, minor_t *minorp);
|
||||
extern int zfsdev_getminor(int fd, minor_t *minorp);
|
||||
extern minor_t zfsdev_minor_alloc(void);
|
||||
|
||||
extern uint_t zfs_fsyncer_key;
|
||||
|
|
|
@ -175,14 +175,18 @@ zfsdev_ioctl(struct file *filp, unsigned cmd, unsigned long arg)
|
|||
}
|
||||
|
||||
int
|
||||
zfsdev_getminor(struct file *filp, minor_t *minorp)
|
||||
zfsdev_getminor(int fd, minor_t *minorp)
|
||||
{
|
||||
zfsdev_state_t *zs, *fpd;
|
||||
file_t *fp;
|
||||
|
||||
ASSERT(filp != NULL);
|
||||
ASSERT(!MUTEX_HELD(&zfsdev_state_lock));
|
||||
fp = getf(fd);
|
||||
|
||||
fpd = filp->private_data;
|
||||
if (fp == NULL)
|
||||
return (SET_ERROR(EBADF));
|
||||
|
||||
fpd = fp->f_file->private_data;
|
||||
if (fpd == NULL)
|
||||
return (SET_ERROR(EBADF));
|
||||
|
||||
|
|
|
@ -40,15 +40,10 @@
|
|||
int
|
||||
zfs_onexit_fd_hold(int fd, minor_t *minorp)
|
||||
{
|
||||
file_t *fp;
|
||||
zfs_onexit_t *zo = NULL;
|
||||
int error;
|
||||
|
||||
fp = getf(fd);
|
||||
if (fp == NULL)
|
||||
return (SET_ERROR(EBADF));
|
||||
|
||||
error = zfsdev_getminor(fp->f_file, minorp);
|
||||
error = zfsdev_getminor(fd, minorp);
|
||||
if (error) {
|
||||
zfs_onexit_fd_rele(fd);
|
||||
return (error);
|
||||
|
|
|
@ -582,14 +582,9 @@ zfs_zevent_minor_to_state(minor_t minor, zfs_zevent_t **ze)
|
|||
int
|
||||
zfs_zevent_fd_hold(int fd, minor_t *minorp, zfs_zevent_t **ze)
|
||||
{
|
||||
file_t *fp;
|
||||
int error;
|
||||
|
||||
fp = getf(fd);
|
||||
if (fp == NULL)
|
||||
return (SET_ERROR(EBADF));
|
||||
|
||||
error = zfsdev_getminor(fp->f_file, minorp);
|
||||
error = zfsdev_getminor(fd, minorp);
|
||||
if (error == 0)
|
||||
error = zfs_zevent_minor_to_state(*minorp, ze);
|
||||
|
||||
|
|
Loading…
Reference in New Issue