summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorMatthew Ahrens <Matthew.Ahrens@Sun.COM>2009-05-21 12:00:20 -0700
committerMatthew Ahrens <Matthew.Ahrens@Sun.COM>2009-05-21 12:00:20 -0700
commit777badbabf97ea50949b9e46951163ea9fdd10e8 (patch)
tree3ec09007cf92e6f52bf06110aa6cd532897034b0 /usr
parentb9e7fce4cfeb0565d1bc4e65fdadbe2cb783f494 (diff)
downloadillumos-gate-777badbabf97ea50949b9e46951163ea9fdd10e8.tar.gz
6841321 zfs userspace / zfs get userused@ doesn't work on mounted snapshot
6843069 zfs get userused@S-1-... doesn't work
Diffstat (limited to 'usr')
-rw-r--r--usr/src/lib/libzfs/common/libzfs_dataset.c2
-rw-r--r--usr/src/uts/common/fs/zfs/zfs_vfsops.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_dataset.c b/usr/src/lib/libzfs/common/libzfs_dataset.c
index 7e865725ad..ac91226055 100644
--- a/usr/src/lib/libzfs/common/libzfs_dataset.c
+++ b/usr/src/lib/libzfs/common/libzfs_dataset.c
@@ -2123,7 +2123,7 @@ userquota_propname_decode(const char *propname, boolean_t zoned,
errno = 0;
*ridp = strtoull(cp, &end, 10);
- if (errno == 0 || *end != '\0')
+ if (errno != 0 || *end != '\0')
return (EINVAL);
} else if (!isdigit(*cp)) {
/*
diff --git a/usr/src/uts/common/fs/zfs/zfs_vfsops.c b/usr/src/uts/common/fs/zfs/zfs_vfsops.c
index 698b09a166..1e6f8aae72 100644
--- a/usr/src/uts/common/fs/zfs/zfs_vfsops.c
+++ b/usr/src/uts/common/fs/zfs/zfs_vfsops.c
@@ -1136,6 +1136,10 @@ zfs_domount(vfs_t *vfsp, char *osname)
goto out;
xattr_changed_cb(zfsvfs, pval);
zfsvfs->z_issnap = B_TRUE;
+
+ mutex_enter(&zfsvfs->z_os->os->os_user_ptr_lock);
+ dmu_objset_set_user(zfsvfs->z_os, zfsvfs);
+ mutex_exit(&zfsvfs->z_os->os->os_user_ptr_lock);
} else {
error = zfsvfs_setup(zfsvfs, B_TRUE);
}