[Patch] dosmode: Compare block devices to detect reparse points
james at et.byu.edu
Mon Dec 3 20:11:38 UTC 2018
This patch addresses the problem reported in Bug 13122
<https://bugzilla.samba.org/show_bug.cgi?id=13122>, which describes
write problems when a file share contains a mountpoint or a wide link
that points to another volume.
Currently, the smbd response always returns 'free units' for the volume
containing the root of the share. If the root volume is full and the
write destination is on a different volume, the client refuses to write
because the FsFullSizeInfo states that the disk is full.
If the root volume has sufficient space and the write destination does
not, the write will proceed and truncate.
Flagging each volume crossing (mountpoints and wide links) as reparse
points enables correct quota reporting for the actual write destination.
The flag is set by checking whether each directory has a different
device ID (using smb_filename->st.st_ex_dev) than its parent directory.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1737 bytes
Desc: not available
More information about the samba-technical