Does samba need to fetch the entire file to determine its size?
As far as I know du uses the stat call and retrieves file metadata to provide file size. It doesn't actually check file length, unless you use the -c
flag, then it actually counts bytes.
Therefore it shouldn't fetch the file.
ls
does the same stat call.
du --apparent-size
should transfer the whole file as it checks for sparse areas and such.
Such an operation will most certainly not read the file.
Both du
and ls
operate on file metadata retrieved by a variant of the stat() call only (in fact recent ls
uses lstat()
while du
uses fstatat()
). It doesn't matter what parameters you pass to du
or ls
. These tools will never handle the actual file-data.
I don't know any filesystem (there may be exceptions when it comes to esoteric filesystem implementations with fuse) that reads the actual file to retrieve this metadata.