<div dir="ltr">thanks. replied on the list, s/i/drosen/ :-)</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 7, 2017 at 6:55 PM, enh <span dir="ltr"><<a href="mailto:enh@google.com" target="_blank">enh@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>yeah, there was a stat bug that was fixed. some filesystems modify the block value before passing it back. drosen fixed sdcardfs to look at this in "ANDROID: sdcardfs: Get the blocksize from the lower fs":</div><span class=""><div><br></div><div>int f2fs_getattr(struct vfsmount *mnt,</div><div><span class="m_4877671013004357231gmail-Apple-tab-span" style="white-space:pre-wrap">                     </span> struct dentry *dentry, struct kstat *stat)</div><div>{</div><div><span class="m_4877671013004357231gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>struct inode *inode = dentry->d_inode;</div><div><span class="m_4877671013004357231gmail-Apple-tab-span" style="white-space:pre-wrap">    </span>generic_fillattr(inode, stat);</div><div><span class="m_4877671013004357231gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>stat->blocks <<= 3;</div><div><span class="m_4877671013004357231gmail-Apple-tab-span" style="white-space:pre-wrap"> </span>return 0;</div><div>}</div><div><br></div></span><div>so that's where the factor of 8 would come from.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Apr 7, 2017 at 11:31 AM, darken <span dir="ltr"><<a href="mailto:darken@darken.eu" target="_blank">darken@darken.eu</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div>Wrong train of thought, toybox stat doesn't do any blockcount calculation, but just gets the value from `st_blocks`.<br><br>We are getting bad values from `/storage/emulated/0` which is FUSE mounted from `/data/media/0` and the blockcount values from `/data/media/0` are sane.<br><br></div>So this seems to be FUSE related...<br><div><br><div><div><div><div class="gmail_extra">~Matthias<br></div><div><div class="m_4877671013004357231h5"><div class="gmail_extra"><br><div class="gmail_quote">2017-04-07 18:10 GMT+02:00 darken <span dir="ltr"><<a href="mailto:darken@darken.eu" target="_blank">darken@darken.eu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>I'm using stat to display filesize and allocated size in my Android app.<br><br></div>I calculate the allocated size by multiplying the block count (%b) with 512 Byte.<br><br></div><div>I found out in <a href="https://github.com/landley/toybox/issues/41" target="_blank">https://github.com/landley/toy<wbr>box/issues/41</a> that the blocksize for the blockcount calculation is hardcoded to 512. So this should work well (and has so far).<br></div><div><br></div>Now a user of my app noticed that on their F2FS filesystem the allocated size is suspiciously small:<br><a href="https://github.com/d4rken/sdmaid-public/issues/830" target="_blank">https://github.com/d4rken/sdma<wbr>id-public/issues/830</a><br><br></div><div>Specifically too small by a factor of 8, as if the blocksize used for blockcount calculation is 4096 (4096/512). <br><br>Could stat have a problem with calculating the blockcount on F2FS filesystems or am I overlooking something else?<br><br></div><div>~Matthias<br></div></div>
</blockquote></div><br></div></div></div></div></div></div></div></div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listi<wbr>nfo.cgi/toybox-landley.net</a><br>
<br></span></blockquote></div><span class=""><br><br clear="all"><div><br></div>-- <br><div class="m_4877671013004357231gmail_signature" data-smartmail="gmail_signature">Elliott Hughes - <a href="http://who/enh" target="_blank">http://who/enh</a> - <a href="http://jessies.org/~enh/" target="_blank">http://jessies.org/~enh/</a><br>Android native code/tools questions? Mail me/drop by/add me as a reviewer.</div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Elliott Hughes - <a href="http://who/enh" target="_blank">http://who/enh</a> - <a href="http://jessies.org/~enh/" target="_blank">http://jessies.org/~enh/</a><br>Android native code/tools questions? Mail me/drop by/add me as a reviewer.</div>
</div>