[Patch] dosmode: Compare block devices to detect reparse points

James Ashdown 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...
Name: 0001-dosmode-Compare-block-devices-to-detect-reparse-poin.patch
Type: text/x-patch
Size: 1737 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20181203/3ce644c9/0001-dosmode-Compare-block-devices-to-detect-reparse-poin.bin>

More information about the samba-technical mailing list