Fix 'zfs get {user|group}objused@' functionality
Fix a regression accidentally introduced in 1b81ab4
that prevents
'zfs get {user|group}objused@' from correctly reporting the requested
value.
Update "userspace_003_pos.ksh" and "groupspace_003_pos.ksh" to verify
this functionality.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #6908
This commit is contained in:
parent
e06711412b
commit
6db8f1a0d1
|
@ -740,7 +740,7 @@ zfs_userspace_one(zfsvfs_t *zfsvfs, zfs_userquota_prop_t type,
|
|||
return (0);
|
||||
|
||||
if (type == ZFS_PROP_USEROBJUSED || type == ZFS_PROP_GROUPOBJUSED) {
|
||||
strlcpy(buf, DMU_OBJACCT_PREFIX, DMU_OBJACCT_PREFIX_LEN);
|
||||
strlcpy(buf, DMU_OBJACCT_PREFIX, DMU_OBJACCT_PREFIX_LEN + 1);
|
||||
offset = DMU_OBJACCT_PREFIX_LEN;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#
|
||||
|
||||
. $STF_SUITE/include/libtest.shlib
|
||||
. $STF_SUITE/include/math.shlib
|
||||
. $STF_SUITE/tests/functional/userquota/userquota_common.kshlib
|
||||
|
||||
#
|
||||
|
@ -56,10 +57,15 @@ function cleanup
|
|||
function group_object_count
|
||||
{
|
||||
typeset fs=$1
|
||||
typeset user=$2
|
||||
typeset cnt=$(zfs groupspace -oname,objused $fs | grep $user |
|
||||
awk '{print $2}')
|
||||
echo $cnt
|
||||
typeset group=$2
|
||||
typeset -i groupspacecnt=$(zfs groupspace -oname,objused $fs |
|
||||
awk /$group/'{print $2}')
|
||||
typeset -i zfsgetcnt=$(zfs get -H -ovalue groupobjused@$group $fs)
|
||||
|
||||
# 'zfs groupspace' and 'zfs get groupobjused@' should be equal
|
||||
verify_eq "$groupspacecnt" "$zfsgetcnt" "groupobjused@$group"
|
||||
|
||||
echo $groupspacecnt
|
||||
}
|
||||
|
||||
log_onexit cleanup
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#
|
||||
|
||||
. $STF_SUITE/include/libtest.shlib
|
||||
. $STF_SUITE/include/math.shlib
|
||||
. $STF_SUITE/tests/functional/userquota/userquota_common.kshlib
|
||||
|
||||
#
|
||||
|
@ -58,9 +59,14 @@ function user_object_count
|
|||
{
|
||||
typeset fs=$1
|
||||
typeset user=$2
|
||||
typeset cnt=$(zfs userspace -oname,objused $fs |
|
||||
typeset -i userspacecnt=$(zfs userspace -oname,objused $fs |
|
||||
awk /$user/'{print $2}')
|
||||
echo $cnt
|
||||
typeset -i zfsgetcnt=$(zfs get -H -ovalue userobjused@$user $fs)
|
||||
|
||||
# 'zfs userspace' and 'zfs get userobjused@' should be equal
|
||||
verify_eq "$userspacecnt" "$zfsgetcnt" "userobjused@$user"
|
||||
|
||||
echo $userspacecnt
|
||||
}
|
||||
|
||||
log_onexit cleanup
|
||||
|
|
Loading…
Reference in New Issue