mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	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); | 		return (0); | ||||||
| 
 | 
 | ||||||
| 	if (type == ZFS_PROP_USEROBJUSED || type == ZFS_PROP_GROUPOBJUSED) { | 	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; | 		offset = DMU_OBJACCT_PREFIX_LEN; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -30,6 +30,7 @@ | |||||||
| # | # | ||||||
| 
 | 
 | ||||||
| . $STF_SUITE/include/libtest.shlib | . $STF_SUITE/include/libtest.shlib | ||||||
|  | . $STF_SUITE/include/math.shlib | ||||||
| . $STF_SUITE/tests/functional/userquota/userquota_common.kshlib | . $STF_SUITE/tests/functional/userquota/userquota_common.kshlib | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| @ -56,10 +57,15 @@ function cleanup | |||||||
| function group_object_count | function group_object_count | ||||||
| { | { | ||||||
| 	typeset fs=$1 | 	typeset fs=$1 | ||||||
| 	typeset user=$2 | 	typeset group=$2 | ||||||
| 	typeset cnt=$(zfs groupspace -oname,objused $fs | grep $user | | 	typeset -i groupspacecnt=$(zfs groupspace -oname,objused $fs | | ||||||
| 			awk '{print $2}') | 	    awk /$group/'{print $2}') | ||||||
| 	echo $cnt | 	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 | log_onexit cleanup | ||||||
|  | |||||||
| @ -30,6 +30,7 @@ | |||||||
| # | # | ||||||
| 
 | 
 | ||||||
| . $STF_SUITE/include/libtest.shlib | . $STF_SUITE/include/libtest.shlib | ||||||
|  | . $STF_SUITE/include/math.shlib | ||||||
| . $STF_SUITE/tests/functional/userquota/userquota_common.kshlib | . $STF_SUITE/tests/functional/userquota/userquota_common.kshlib | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| @ -58,9 +59,14 @@ function user_object_count | |||||||
| { | { | ||||||
| 	typeset fs=$1 | 	typeset fs=$1 | ||||||
| 	typeset user=$2 | 	typeset user=$2 | ||||||
| 	typeset cnt=$(zfs userspace -oname,objused $fs | | 	typeset -i userspacecnt=$(zfs userspace -oname,objused $fs | | ||||||
| 	    awk /$user/'{print $2}') | 	    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 | log_onexit cleanup | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 LOLi
						LOLi