diff options
Diffstat (limited to 'source4/torture/torture_util.c')
-rw-r--r-- | source4/torture/torture_util.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/source4/torture/torture_util.c b/source4/torture/torture_util.c index 27c2892c47..8dbec60b12 100644 --- a/source4/torture/torture_util.c +++ b/source4/torture/torture_util.c @@ -331,12 +331,24 @@ BOOL torture_set_file_attribute(struct cli_tree *tree, const char *fname, uint16 */ NTSTATUS torture_set_sparse(struct cli_tree *tree, int fnum) { - struct smb_ntioctl nt; + union smb_ioctl nt; + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + mem_ctx = talloc_init("torture_set_sparse"); + if (!mem_ctx) { + return NT_STATUS_NO_MEMORY; + } - nt.in.function = 0x900c4; - nt.in.fnum = fnum; - nt.in.fsctl = True; - nt.in.filter = 0; + nt.ntioctl.level = RAW_IOCTL_NTIOCTL; + nt.ntioctl.in.function = 0x900c4; + nt.ntioctl.in.fnum = fnum; + nt.ntioctl.in.fsctl = True; + nt.ntioctl.in.filter = 0; + + status = smb_raw_ioctl(tree, mem_ctx, &nt); + + talloc_destroy(mem_ctx); - return smb_raw_ntioctl(tree, &nt); + return status; } |