Skip to content

Upgrade liberasurecode 1.5.0 -> 1.6.1 - #14

Open
koba-e964 wants to merge 1 commit into
masterfrom
feature/upgrade-liberasurecode-to-1.6.1
Open

Upgrade liberasurecode 1.5.0 -> 1.6.1#14
koba-e964 wants to merge 1 commit into
masterfrom
feature/upgrade-liberasurecode-to-1.6.1

Conversation

@koba-e964

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

Copy link
Copy Markdown
Contributor

Resolves #13.

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

@koba-e964

Copy link
Copy Markdown
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

yoffy commented Jul 8, 2019

Copy link
Copy Markdown
Contributor

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

@yoffy yoffy left a comment

Copy link
Copy Markdown
Contributor

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
Copy Markdown
Contributor Author

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

@koba-e964

koba-e964 commented Jul 10, 2019

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
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

3 participants