Re: [Samba] dfree command cannot report correct disk space
- Date: Mon, 6 May 2019 13:26:52 -0700
- From: Jeremy Allison via samba <samba@xxxxxxxxxxxxxxx>
- Subject: Re: [Samba] dfree command cannot report correct disk space
On Mon, May 06, 2019 at 03:40:15PM -0400, Manhong Dai via samba wrote:
> my filesystems is mounted like the below df output, /share is exported in
> Filesystem Size Used Avail Use% Mounted on
> /dev/sda1 50G 9.1G 41G 19% /share
> nfs1:/ 492T 433T 59T 89% /share/group1
> If a 100G file is copied to /share/group1, samba will report the storage
> doesn't have enough space.
> I tried to use 'dfree command' to report a correct disk space, the thing is
> dfree command always gets parameter $1 as '.', and its pwd is always
> '/share'. I have no way to know which directory the user is trying to copy
Yes, due to the symlink race issue we cd to the share directory
before invoking the script. $cwd will be accurate though.
> By the way, my Samba version is 4.10.2. /share/group1 is mounted as autofs.
> As there are many groups under /share mounted as NFS or other file systems,
> it is awkward to export each group as a samba share.
> How can I fix this? Any input is greatly appreciated!
Problem is you're maintaining a fiction for the clients that
all these mounts are one share. They're not. As the client
thinks it's one single share then the client *knows* that
doing a SMB_FS_SIZE_INFORMATION on the root of the share will
give the total free space on the share.
The clients don't expect that there are different dfree
values below a share - they're simply not coded that
way. The unit of granularity for a dfree is the share,
that's a client assumption, not a server one (the server
passes the path passed in by the client to the dfree
call, it's just that the path is always the share
To unsubscribe from this list go to the following URL and read the