I have figured out that files, which are smaller than one block, can be stored in an inode on some filesystems. I've experienced that on GPFS. This results in a block size of 0 (zero). Example: # echo "some bytes of text" > file.dat # stat file.dat File: `file.dat' Size: 19 Blocks: 0 In this case the smbd interprets an allocation size of zero. For clients this can mean, that a file is an empty sparse file and might not read any data. In particular we have seen Windows clients, which load their roaming profile, and create zero sized files (locally) instead of the expected small files (as on the server).
Created attachment 9835 [details] proposed patch for 4.1, cherry-picked from master
Created attachment 9836 [details] fix for 4.0, cherry-picked from master
Comment on attachment 9835 [details] proposed patch for 4.1, cherry-picked from master ACK. for 4.1
Comment on attachment 9836 [details] fix for 4.0, cherry-picked from master ACK for 4.0
Re-assigning to Karolin for inclusion in 4.0.next, 4.1.next. Jeremy.
(In reply to comment #5) > Re-assigning to Karolin for inclusion in 4.0.next, 4.1.next. > Jeremy. Jeremy, I this an official ACK for both patches?
Jeremy, this is waiting for a formal review+ from you (other than just assigning) to be pushed... Thanks - Michael
Comment on attachment 9835 [details] proposed patch for 4.1, cherry-picked from master LGTM.
Comment on attachment 9836 [details] fix for 4.0, cherry-picked from master LGTM
Re-assigning to Karolin for inclusion in 4.1.next, 4.0.next.
Pushed to autobuild-v4-[0|1]-test.
Pushed to both branches. Closing out bug report. Thanks!