In FreeBSD,
- cv_timedwait() takes delta instead of absolute time, - we need ioctl() for mediasize. Reviewed by: pjd
This commit is contained in:
parent
b79aefd3e9
commit
01498c0b83
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=168722
@ -291,7 +291,7 @@ cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime)
|
|||||||
|
|
||||||
ASSERT(abstime > 0);
|
ASSERT(abstime > 0);
|
||||||
top:
|
top:
|
||||||
delta = abstime - lbolt;
|
delta = abstime;
|
||||||
if (delta <= 0)
|
if (delta <= 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
@ -413,7 +413,10 @@ vn_open(char *path, int x1, int flags, int mode, vnode_t **vpp, int x2, int x3)
|
|||||||
*vpp = vp = umem_zalloc(sizeof (vnode_t), UMEM_NOFAIL);
|
*vpp = vp = umem_zalloc(sizeof (vnode_t), UMEM_NOFAIL);
|
||||||
|
|
||||||
vp->v_fd = fd;
|
vp->v_fd = fd;
|
||||||
vp->v_size = st.st_size;
|
if (S_ISCHR(st.st_mode))
|
||||||
|
ioctl(fd, DIOCGMEDIASIZE, &vp->v_size);
|
||||||
|
else
|
||||||
|
vp->v_size = st.st_size;
|
||||||
vp->v_path = spa_strdup(path);
|
vp->v_path = spa_strdup(path);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -80,6 +80,7 @@ extern "C" {
|
|||||||
#include <sys/sdt.h>
|
#include <sys/sdt.h>
|
||||||
#include <sys/kstat.h>
|
#include <sys/kstat.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
|
#include <sys/disk.h>
|
||||||
#include <machine/atomic.h>
|
#include <machine/atomic.h>
|
||||||
|
|
||||||
#define ZFS_EXPORTS_PATH "/etc/zfs/exports"
|
#define ZFS_EXPORTS_PATH "/etc/zfs/exports"
|
||||||
|
@ -291,7 +291,7 @@ cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime)
|
|||||||
|
|
||||||
ASSERT(abstime > 0);
|
ASSERT(abstime > 0);
|
||||||
top:
|
top:
|
||||||
delta = abstime - lbolt;
|
delta = abstime;
|
||||||
if (delta <= 0)
|
if (delta <= 0)
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
@ -413,7 +413,10 @@ vn_open(char *path, int x1, int flags, int mode, vnode_t **vpp, int x2, int x3)
|
|||||||
*vpp = vp = umem_zalloc(sizeof (vnode_t), UMEM_NOFAIL);
|
*vpp = vp = umem_zalloc(sizeof (vnode_t), UMEM_NOFAIL);
|
||||||
|
|
||||||
vp->v_fd = fd;
|
vp->v_fd = fd;
|
||||||
vp->v_size = st.st_size;
|
if (S_ISCHR(st.st_mode))
|
||||||
|
ioctl(fd, DIOCGMEDIASIZE, &vp->v_size);
|
||||||
|
else
|
||||||
|
vp->v_size = st.st_size;
|
||||||
vp->v_path = spa_strdup(path);
|
vp->v_path = spa_strdup(path);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -80,6 +80,7 @@ extern "C" {
|
|||||||
#include <sys/sdt.h>
|
#include <sys/sdt.h>
|
||||||
#include <sys/kstat.h>
|
#include <sys/kstat.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
|
#include <sys/disk.h>
|
||||||
#include <machine/atomic.h>
|
#include <machine/atomic.h>
|
||||||
|
|
||||||
#define ZFS_EXPORTS_PATH "/etc/zfs/exports"
|
#define ZFS_EXPORTS_PATH "/etc/zfs/exports"
|
||||||
|
Loading…
Reference in New Issue
Block a user