[Samba] (DeviceIoControl, FSCTL_SET_SPARSE)

noid at wolfdogg.org
Thu, 16 Feb 2017 09:38:50 -0000

Hi Again,

Doing some testing just now with `dd if=/dev/zero of=./sparser.img bs=1 count=0
seek=0` and `truncate -s 0 asparsefile` with no issues on the share, but not
across samba.  I was thinking, what If I mounted that to  /mnt using cifs, and
try to use the linux to use the same two methods above as a test.  Ill probably
will have done that by the next reply, however any thoughts on that are welcome.

Brian

-----Original Message-----
From: noid at wolfdogg.org [mailto:noid at wolfdogg.org]
Sent: Thursday, February 16, 2017 1:21 AM
To: 'samba at lists.samba.org' <samba at lists.samba.org>
Subject: RE: [Samba] (DeviceIoControl, FSCTL_SET_SPARSE)

Hi David,

Configured as you mention, and prior with the other tweaks I had in the first
place,  Im getting the same results, which is "FSUTIL utility requires a
Local NTFS Volume", and mapping it.

I then went to contig, `contig -n X:\share\sparesefile 0`, as well as a few
other size.  Maybe im using it wrong, but some testing on contig has only
"Access is denied" when I try to write to anything.

Oh one change, I put these settings only in Global (only, as opposed to also in
the pool definition), I just realized.  I believe global should be enough
shouldn’t it?

[global]
    # ZFS SPARSE
    #share:fake_fscaps = 0
    store dos attributes = yes
    strict allocate = yes

I hadn’t heard any mention of the importance of strict allocate, would that
setting be wise then?

What are some other tools I might try that with?  I can try straight on the
linux too, just as a test, if there is any tools recommended to test that with.
I will also look something up for that tomorrow as well.

Thanks for the info, much appreciated.
-Brian

-----Original Message-----
From: samba [mailto:samba-bounces at lists.samba.org] On Behalf Of David
Disseldorp via samba
Sent: Wednesday, February 15, 2017 5:23 AM
To: brian lamb via samba <samba at lists.samba.org>
Subject: Re: [Samba] (DeviceIoControl, FSCTL_SET_SPARSE)

On Tue, 14 Feb 2017 23:16:22 -0800, brian lamb via samba wrote:

> Thanks for your response.
>
> The Error message is for e.g.:
>
> Cannot write file attributes of "\\MYHOST\backup\sparse\My Family Tree
6.0.zip.ffs_tmp".
> Error Code 1: Incorrect function. (DeviceIoControl, FSCTL_SET_SPARSE)

Hmm, that seems to indicate that the initial fsctl request is failing.
Could you please try manually setting a file on the Samba share as sparse with
"fsutil sparse setflag <file_on_samba_share>":
https://technet.microsoft.com/en-us/library/cc788025(v=ws.11).aspx

Does it succeed when Samba is configured as per below?

> Samba Version:
> Samba version 4.4.4
> PID     Username     Group        Machine
Protocol Version  Encryption           Signing
>
----------------------------------------------------------------------------------------------------------------------------------------
> 21582   backupadmin sys1       myhost (ipv4:192.168.1.99:55068)
SMB2_10           -                    -
>
> I just tried the option   " store dos attributes = no"
> Im getting the same error as above still unfortunately, but im doing
> some more thorough testing on that.  WOud you happen to know if I want
> the other two options set, and to what, at all? (> strict allocate &
> share:fake_fscaps = 0)

Given that the application is complaining about FSCTL_SET_SPARSE failure, I
would guess that it requires sparse-file support. Please set "store dos
attributes = yes" and drop the fake_fscaps setting.