NFS4: Cleanup FATTR4_WORD0_FS_LOCATIONS after decoding success
Commit 1ca843a2d2 "nfs: Fix GETATTR bitmap verification" has check
the bitmap after decoding success, but decode_attr_fs_locations forgets
cleanup the FATTR4_WORD0_FS_LOCATIONS bits.
decode_getfattr_attrs always return -EIO when meeting FS_LOCATIONS now.
ls: cannot access /mnt/referal: Input/output error
ls: cannot access /mnt/replicas: Input/output error
total 32
drwxr-xr-x. 7 root root 8192 Nov 16 20:36 pnfs
??????????? ? ?    ?       ?            ? referal
??????????? ? ?    ?       ?            ? replicas
v2: clear the bit earlier
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
			
			
This commit is contained in:
		
							parent
							
								
									291e1b9459
								
							
						
					
					
						commit
						f54423a1f8
					
				| @ -3615,6 +3615,7 @@ static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, st | ||||
| 	status = 0; | ||||
| 	if (unlikely(!(bitmap[0] & FATTR4_WORD0_FS_LOCATIONS))) | ||||
| 		goto out; | ||||
| 	bitmap[0] &= ~FATTR4_WORD0_FS_LOCATIONS; | ||||
| 	status = -EIO; | ||||
| 	/* Ignore borken servers that return unrequested attrs */ | ||||
| 	if (unlikely(res == NULL)) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user