This is a trimmed down version of a patch that Aurelien sent earlier (which doesn't add the new reparse point creation code, but does cleanup and refactor the sfu and the cifs specific unix extensions code as he suggested). Note that SFU works fine with SMB3 to Windows (although note that we haven't changed the defaults, mount option 'sfu' is not enabled by default). I tested with this updated version of the patch. This cleanup removes cifs specific code from SMB2/SMB3 code paths which is cleaner and easier to maintain as the code to handle special files is improved. Below is an example creating special files using 'sfu' mount option over SMB3 to Windows (with this patch) (Note that to Samba server, support for saving dos attributes has to be enabled for the SFU mount option to work). In the future this will also make implementation of creating special files as reparse points easier (as Windows NFS server does for example). root@smf-Thinkpad-P51:~# stat -c "%F" /mnt2/char character special file root@smf-Thinkpad-P51:~# stat -c "%F" /mnt2/block block special file -- Thanks, Steve