smb: client: report correct st_size for SMB and NFS symlinks

We can't rely on FILE_STANDARD_INFORMATION::EndOfFile for reparse
points as they will be always zero. Set it to symlink target's length
as specified by POSIX.

This will make stat() family of syscalls return the correct st_size
for such files.

Cc: stable@vger.kernel.org
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>

authored by Paulo Alcantara and committed by Steve French 9d635095 ef22bb80

Changed files
+2
fs
smb
client
+2
fs/smb/client/inode.c
··· 865 865 866 866 out_reparse: 867 867 if (S_ISLNK(fattr->cf_mode)) { 868 + if (likely(data->symlink_target)) 869 + fattr->cf_eof = strnlen(data->symlink_target, PATH_MAX); 868 870 fattr->cf_symlink_target = data->symlink_target; 869 871 data->symlink_target = NULL; 870 872 }