diff options
author | Matthew Ahrens <Matthew.Ahrens@Sun.COM> | 2009-05-21 12:00:20 -0700 |
---|---|---|
committer | Matthew Ahrens <Matthew.Ahrens@Sun.COM> | 2009-05-21 12:00:20 -0700 |
commit | 777badbabf97ea50949b9e46951163ea9fdd10e8 (patch) | |
tree | 3ec09007cf92e6f52bf06110aa6cd532897034b0 /usr | |
parent | b9e7fce4cfeb0565d1bc4e65fdadbe2cb783f494 (diff) | |
download | illumos-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.c | 2 | ||||
-rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_vfsops.c | 4 |
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); } |