Changeset View
Changeset View
Standalone View
Standalone View
sys/contrib/openzfs/module/os/linux/zfs/zpl_xattr.c
Show First 20 Lines • Show All 300 Lines • ▼ Show 20 Lines | if (size < i_size_read(xip)) { | ||||
error = -ERANGE; | error = -ERANGE; | ||||
goto out; | goto out; | ||||
} | } | ||||
struct iovec iov; | struct iovec iov; | ||||
iov.iov_base = (void *)value; | iov.iov_base = (void *)value; | ||||
iov.iov_len = size; | iov.iov_len = size; | ||||
uio_t uio; | zfs_uio_t uio; | ||||
uio_iovec_init(&uio, &iov, 1, 0, UIO_SYSSPACE, size, 0); | zfs_uio_iovec_init(&uio, &iov, 1, 0, UIO_SYSSPACE, size, 0); | ||||
cookie = spl_fstrans_mark(); | cookie = spl_fstrans_mark(); | ||||
error = -zfs_read(ITOZ(xip), &uio, 0, cr); | error = -zfs_read(ITOZ(xip), &uio, 0, cr); | ||||
spl_fstrans_unmark(cookie); | spl_fstrans_unmark(cookie); | ||||
if (error == 0) | if (error == 0) | ||||
error = size - uio_resid(&uio); | error = size - zfs_uio_resid(&uio); | ||||
out: | out: | ||||
if (xzp) | if (xzp) | ||||
zrele(xzp); | zrele(xzp); | ||||
if (dxzp) | if (dxzp) | ||||
zrele(dxzp); | zrele(dxzp); | ||||
return (error); | return (error); | ||||
▲ Show 20 Lines • Show All 1,161 Lines • Show Last 20 Lines |