diff options
author | Ronnie Sahlberg <lsahlber@redhat.com> | 2019-04-12 09:56:23 +1000 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2019-05-07 23:24:55 -0500 |
commit | c7fe388d76e900e6c49f8df51cfd21903832fdd5 (patch) | |
tree | 345051c987bae5c20c7d4382c3b91350f802c6d3 /fs | |
parent | 0df7edd9dca0c79817723f0e3895ec76351f08cc (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/smb2ops.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index 78bca7d46eac..9b7a2f448591 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -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); |