cifs: zero-range does not require the file is sparse
Remove the conditional to fail zero-range if the file is not flagged as sparse. You can still zero out a range in SMB2 even for non-sparse files. Tested with stock windows16 server. Fixes 5 xfstests (033, 149, 155, 180, 349) Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
		
							parent
							
								
									0df7edd9dc
								
							
						
					
					
						commit
						c7fe388d76
					
				| @ -2679,18 +2679,6 @@ static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon, | ||||
| 			return rc; | ||||
| 		} | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Must check if file sparse since fallocate -z (zero range) assumes | ||||
| 	 * non-sparse allocation | ||||
| 	 */ | ||||
| 	if (!(cifsi->cifsAttrs & FILE_ATTRIBUTE_SPARSE_FILE)) { | ||||
| 		rc = -EOPNOTSUPP; | ||||
| 		trace_smb3_zero_err(xid, cfile->fid.persistent_fid, tcon->tid, | ||||
| 			      ses->Suid, offset, len, rc); | ||||
| 		free_xid(xid); | ||||
| 		return rc; | ||||
| 	} | ||||
| 
 | ||||
| 	cifs_dbg(FYI, "offset %lld len %lld", offset, len); | ||||
| 
 | ||||
| 	fsctl_buf.FileOffset = cpu_to_le64(offset); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user