Skip to content

Conversation

@koba-e964
Copy link
Contributor

@koba-e964 koba-e964 commented Jul 8, 2019

Resolves #13.

Probably this PR needs to wait until #12 is merged.

@koba-e964
Copy link
Contributor Author

Build cache images are too old. I'll delete them and re-run.

@koba-e964 koba-e964 force-pushed the feature/upgrade-liberasurecode-to-1.6.1 branch 2 times, most recently from 018cc07 to 52bee40 Compare July 8, 2019 08:27
@koba-e964 koba-e964 force-pushed the feature/upgrade-liberasurecode-to-1.6.1 branch from 52bee40 to 116f713 Compare July 8, 2019 08:31
@yoffy
Copy link
Contributor

yoffy commented Jul 8, 2019

note:
crc32 が zlib のものに変更されており、内部的には互換性が無くなっている。
検査に失敗したら古い crc32 を呼ぶようになっており、外見上は互換性を維持している。
https://github.com/openstack/liberasurecode/compare/1.5.0..1.6.1#diff-0124ae530ee97ecd71667291b748a527R1089

こちらも参照
https://bugs.launchpad.net/liberasurecode/+bug/1666320

Copy link
Contributor

@yoffy yoffy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@koba-e964
Copy link
Contributor Author

Note: we need to check if frugalos built with this change works correctly.

@koba-e964
Copy link
Contributor Author

koba-e964 commented Jul 10, 2019

On MacOS High Sierra (10.13.6):

$ otool -L target/debug/frugalos
target/debug/frugalos:
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
        /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 58286.70.14)
        /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
$ rustc --version
rustc 1.35.0 (3c235d560 2019-05-20)
$ cargo --version
cargo 1.35.0 (6f3e9c367 2019-04-04)

On Linux (CentOS 7):

[vagrant@localhost frugalos]$ ldd target/release/frugalos
	linux-vdso.so.1 =>  (0x00007ffeb7df1000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc6c21bc000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fc6c1fb8000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fc6c1db0000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc6c1b9a000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fc6c17cd000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc6c3972000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fc6c14cb000)
[vagrant@localhost frugalos]$ rustc --version
rustc 1.35.0 (3c235d560 2019-05-20)
[vagrant@localhost frugalos]$ cargo --version
cargo 1.35.0 (6f3e9c367 2019-04-04)

Seems ok 😁

@koba-e964
Copy link
Contributor Author

Note: fragments made in the old version and in the new version differ, because crc32's implementation changed.
However, fragments made in the old version can still be readable from the new version, because openstack/liberasurecode handles this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update liberasurecode 1.5.0 -> 1.6.1

4 participants