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.

Tags:

Samba

Cifs