mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Only check directory xattr on ENOENT
When SA xattrs are enabled only fallback to checking the directory xattrs when the name is not found as a SA xattr. Otherwise, the SA error which should be returned to the caller is overwritten by the directory xattr errors. Positive return values indicating success will also be immediately returned. In the case of #1437 the ERANGE error was being correctly returned by zpl_xattr_get_sa() only to be overridden with ENOENT which was returned by the subsequent unnessisary call to zpl_xattr_get_dir(). Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1437
This commit is contained in:
		
							parent
							
								
									4f34b3bdf4
								
							
						
					
					
						commit
						0377189b88
					
				| @ -288,7 +288,7 @@ __zpl_xattr_get(struct inode *ip, const char *name, void *value, size_t size, | |||||||
| 
 | 
 | ||||||
| 	if (zsb->z_use_sa && zp->z_is_sa) { | 	if (zsb->z_use_sa && zp->z_is_sa) { | ||||||
| 		error = zpl_xattr_get_sa(ip, name, value, size); | 		error = zpl_xattr_get_sa(ip, name, value, size); | ||||||
| 		if (error >= 0) | 		if (error != -ENOENT) | ||||||
| 			goto out; | 			goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Brian Behlendorf
						Brian Behlendorf