> On Oct. 26, 2016, 2:48 p.m., Andreas Hartmetz wrote:
> > If a workaround was really necessary I'd agree with Jonathan. But it looks 
> > like a workaround to fix up st_size is not necessary, because both Krusader 
> > and ls (just two examples I could easily find) work without changing 
> > st_size. Note that they use a different way to check whether the current 
> > file is a symlink, not sure if that makes the difference though.
> > https://quickgit.kde.org/?p=krusader.git&a=blob&h=932340774d439b1ea770204903c1f8c431dc86db&hb=f1660b241d195a31a904a1706fb8022b99e4c709&f=krusader%2FVFS%2Fnormal_vfs.cpp
> > http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
> 
> Jonathan Doman wrote:
>     Actually, take a look at the readlink implementation that ls calls: 
> http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/areadlink-with-size.c;hb=HEAD
>     
>     It does almost exactly what is proposed by this review, for the same 
> reasons ("Some buggy file systems report garbage in st_size").
> 
> Andreas Hartmetz wrote:
>     Great find, thanks! Whatever ls does should be fine, because everybody 
> who writes a file system is going to notice when it doesn't work in ls.

@Jonathan @Andreas
Thanks for your advice.
Exemplified codes are very helpful.


- taro


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129259/#review100304
-----------------------------------------------------------


On Oct. 25, 2016, 2:51 p.m., taro yamada wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129259/
> -----------------------------------------------------------
> 
> (Updated Oct. 25, 2016, 2:51 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 369275
>     https://bugs.kde.org/show_bug.cgi?id=369275
> 
> 
> Repository: kio
> 
> 
> Description
> -------
> 
> Currently, KIO uses lstat to get the buffersize for readlink.
> But in certain situations, it returns inappropriate value.
> 
> For example, "/proc/self" or "/sys/bus/cpu/devices/*" returns its size is 0 , 
> and then readlink fails with EINVAL.(so link won't be shown in kde 
> application.)
> TMSU seems it returns its target's actual filesize insted of the link's 
> filesize itself.
> 
> This patch changes the buffersize to 1024 bytes if it is 0.
> And later truncate it to actual size.
> 
> 
> Diffs
> -----
> 
>   src/ioslaves/file/file.cpp 8b17d31 
> 
> Diff: https://git.reviewboard.kde.org/r/129259/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> taro yamada
> 
>

Reply via email to