the only other idea i've had since: use perl or python to implement #4
inline. but there's no perl or python on Android devices, and there's
no way that i know of to SEEK_HOLE/SEEK_DATA in awk. so that seems
like a non-starter.

On Thu, Sep 26, 2019 at 5:58 PM enh <[email protected]> wrote:
>
> I shot myself in the foot with my tar test that checks both st_size and 
> st_blocks (via stat(1)). You may remember that I had to add a "don't run 
> these tests on a system with SELinux xattrs" hack to the du tests. Basically, 
> any test of st_blocks will be broken because of SELinux.
>
> Unlike the du tests, I don't want to disable this tar sparse test unless I 
> have to. But I don't have any non-terrible options.
>
> 1. Disable the test for SELinux.
>
> 2. Use shell arithmetic to allow some fudge.
>
> 3. Use setxattr to try to ensure that we're always using extra space, but 
> then we need to work around failures on file systems without xattrs, and how 
> much is enough, and...
>
> 4. Invent a new tool that actually dumps a map of where the holes are in a 
> file. Unfortunately I'm not aware of any existing tool we could use, so then 
> the test relies on toybox already being installed.
>
> 5. Use find -printf %S but because that's just using st_blocks behind the 
> scenes, we'd need a fudge factor only now it would be a float instead of an 
> int, which doesn't seem like an improvement.
>
> I haven't been able to come up with anything else, and I don't like any of 
> those options, so ... anyone have a better idea?
>
> If not, 1 or 2 seem like the least awful. Let me know which you prefer, if 
> you don't have a good solution I haven't thought of...
_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to