Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix default lib for x86_64 Debian/Ubuntu #7101

Merged
merged 1 commit into from
Feb 6, 2018

Conversation

behlendorf
Copy link
Contributor

Description

The distribution provided architecture specific RPM macro files for x86_64 on Debian/Ubuntu specify the wrong default install location. When building x86_64 deb packages override _lib with the correct location.

Motivation and Context

Potential alternative to @albundy83's fix in #7094 for comment and review. Resolves #7083.

How Has This Been Tested?

Locally built packages, pending buildbot results. We may want to extend this override to additional architectures but initially this has been restricted to x86_64. We should also inquire with the upstream Debian rpm package maintainer and determine if this is a bug or for some reason intentional.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (a change to man pages or other documentation)

Checklist:

  • My code follows the ZFS on Linux code style requirements.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • All commit messages are properly formatted and contain Signed-off-by.
  • Change has been approved by a ZFS on Linux member.

@behlendorf behlendorf requested a review from loli10K January 30, 2018 23:52
@loli10K
Copy link
Contributor

loli10K commented Jan 31, 2018

I was reading both Debian and Ubuntu multiarch spec and implementation documents and it would seem this change is the most sensible in the long run, too bad the provided RPM macros do not seem to adhere to this design.

https://wiki.ubuntu.com/MultiarchSpec
https://wiki.debian.org/Multiarch/Implementation

I can do some testing on both distributions the upcoming weekend.

@behlendorf
Copy link
Contributor Author

@loli10K that'd be great. Thanks.

@loli10K
Copy link
Contributor

loli10K commented Feb 4, 2018

Apologies for delaying this: i tested the change on Debian8 x86_64/armhf and Ubuntu17 x86_64: libraries are correctly installed in /lib/<triplet> (only on x86_64) and loaded in spite of "native" (official distro packaging) libraries installed in /lib.

Tested with lintian with and without this patch, the only additional error we get from this change is "pkg-config-multi-arch-wrong-dir":

root@linux:/usr/src/zfs# lintian libzfs2_0.7.0-267_amd64.deb
warning: the authors of lintian do not recommend running it with root privileges!
E: libzfs2: unstripped-binary-or-object lib/x86_64-linux-gnu/libzfs.so.2.0.0
W: libzfs2: hardening-no-relro lib/x86_64-linux-gnu/libzfs.so.2.0.0
E: libzfs2: unstripped-binary-or-object lib/x86_64-linux-gnu/libzfs_core.so.1.0.0
W: libzfs2: hardening-no-relro lib/x86_64-linux-gnu/libzfs_core.so.1.0.0
E: libzfs2: debian-changelog-file-contains-invalid-email-address root@linux
W: libzfs2: copyright-without-copyright-notice
E: libzfs2: maintainer-address-is-root-user root <root@linux>
E: libzfs2: maintainer-address-malformed root <root@linux>
E: libzfs2: maintainer-address-is-root-user root <root@linux>
W: libzfs2: unknown-section alien
E: libzfs2: shlib-with-executable-bit lib/x86_64-linux-gnu/libzfs.so.2.0.0 0755
E: libzfs2: shlib-with-executable-bit lib/x86_64-linux-gnu/libzfs_core.so.1.0.0 0755
root@linux:/usr/src/zfs# lintian libzfs2-devel_0.7.0-267_amd64.deb
warning: the authors of lintian do not recommend running it with root privileges!
E: libzfs2-devel: debian-changelog-file-contains-invalid-email-address root@linux
W: libzfs2-devel: copyright-without-copyright-notice
E: libzfs2-devel: maintainer-address-is-root-user root <root@linux>
E: libzfs2-devel: maintainer-address-malformed root <root@linux>
E: libzfs2-devel: maintainer-address-is-root-user root <root@linux>
W: libzfs2-devel: unknown-section alien
E: libzfs2-devel: pkg-config-multi-arch-wrong-dir usr/share/pkgconfig/libzfs.pc full text contains architecture specific dir x86_64-linux-gnu
E: libzfs2-devel: pkg-config-multi-arch-wrong-dir usr/share/pkgconfig/libzfs_core.pc full text contains architecture specific dir x86_64-linux-gnu

Everything seems to work correctly though.

With one additional small modification we should be able to extend this change to every arch: instead of hardcoding "lib/x86_64-linux-gnu" only when "$target_cpu" = "x86_64" we could use "lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)". I tested this on Debian8 (armhf):

root@fix-libdir:/usr/src/zfs# dpkg -c libzfs2_0.7.0-267_armhf.deb
drwxr-xr-x root/root         0 2018-02-03 22:07 ./
drwxr-xr-x root/root         0 2018-02-03 22:07 ./lib/
drwxr-xr-x root/root         0 2018-02-03 22:07 ./lib/arm-linux-gnueabihf/
-rwxr-xr-x root/root   1388512 2018-02-03 22:03 ./lib/arm-linux-gnueabihf/libzfs.so.2.0.0
-rwxr-xr-x root/root     58668 2018-02-03 22:03 ./lib/arm-linux-gnueabihf/libzfs_core.so.1.0.0
drwxr-xr-x root/root         0 2018-02-03 22:07 ./usr/
drwxr-xr-x root/root         0 2018-02-03 22:07 ./usr/share/
drwxr-xr-x root/root         0 2018-02-03 22:07 ./usr/share/doc/
drwxr-xr-x root/root         0 2018-02-03 22:07 ./usr/share/doc/libzfs2/
-rw-r--r-- root/root       238 2018-02-03 22:07 ./usr/share/doc/libzfs2/changelog.Debian.gz
-rw-r--r-- root/root       703 2018-02-03 22:07 ./usr/share/doc/libzfs2/copyright
lrwxrwxrwx root/root         0 2018-02-03 22:07 ./lib/arm-linux-gnueabihf/libzfs.so.2 -> libzfs.so.2.0.0
lrwxrwxrwx root/root         0 2018-02-03 22:07 ./lib/arm-linux-gnueabihf/libzfs_core.so.1 -> libzfs_core.so.1.0.0
root@fix-libdir:/usr/src/zfs# 

dpkg-architecture -qDEB_HOST_MULTIARCH should be supported since Debian7 (wheezy) which is already the old old stable.

Totally unrelated question, probably caused by reading "libzfs_core.so" on the terminal so many times in the past hours: is there any plan to adopt pyzfs from ClusterHQ? I'm starting to rewrite some scripts from shell to python but unfortunately pyzfs seems to be lagging behind the current libzfs_core and it's missing several features, it would be nice if we could keep it up to date.

The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#7083
@behlendorf
Copy link
Contributor Author

dpkg-architecture -qDEB_HOST_MULTIARCH should be supported since Debian7

Good idea. I've updated the patch accordingly, can you verify this still works as expected on armhf. Thanks in advance!

is there any plan to adopt pyzfs from ClusterHQ?

I don't believe anyone is working on this currently, but it's certainly a good idea.

@codecov
Copy link

codecov bot commented Feb 5, 2018

Codecov Report

Merging #7101 into master will increase coverage by 0.05%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #7101      +/-   ##
==========================================
+ Coverage    75.5%   75.55%   +0.05%     
==========================================
  Files         296      296              
  Lines       95910    95910              
==========================================
+ Hits        72415    72469      +54     
+ Misses      23495    23441      -54
Flag Coverage Δ
#kernel 75.09% <ø> (+0.28%) ⬆️
#user 67.82% <ø> (+0.19%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0d23f5e...2288a6c. Read the comment docs.

@loli10K
Copy link
Contributor

loli10K commented Feb 5, 2018

Debian8/armhf builds and installs correctly

root@linux:/usr/src/zfs# dpkg -c libzfs2_0.7.0-278_armhf.deb 
drwxr-xr-x root/root         0 2018-02-05 15:36 ./
drwxr-xr-x root/root         0 2018-02-05 15:36 ./lib/
drwxr-xr-x root/root         0 2018-02-05 15:36 ./lib/arm-linux-gnueabihf/
-rwxr-xr-x root/root   1583016 2018-02-05 15:33 ./lib/arm-linux-gnueabihf/libzfs.so.2.0.0
-rwxr-xr-x root/root     73580 2018-02-05 15:33 ./lib/arm-linux-gnueabihf/libzfs_core.so.1.0.0
drwxr-xr-x root/root         0 2018-02-05 15:36 ./usr/
drwxr-xr-x root/root         0 2018-02-05 15:36 ./usr/share/
drwxr-xr-x root/root         0 2018-02-05 15:36 ./usr/share/doc/
drwxr-xr-x root/root         0 2018-02-05 15:36 ./usr/share/doc/libzfs2/
-rw-r--r-- root/root       235 2018-02-05 15:36 ./usr/share/doc/libzfs2/changelog.Debian.gz
-rw-r--r-- root/root       711 2018-02-05 15:36 ./usr/share/doc/libzfs2/copyright
lrwxrwxrwx root/root         0 2018-02-05 15:36 ./lib/arm-linux-gnueabihf/libzfs.so.2 -> libzfs.so.2.0.0
lrwxrwxrwx root/root         0 2018-02-05 15:36 ./lib/arm-linux-gnueabihf/libzfs_core.so.1 -> libzfs_core.so.1.0.0
root@linux:/usr/src/zfs# git whatchanged
commit 2288a6c88f587b50423e2aa9b19d0b8316bf9984 (HEAD -> fix-libdir, behlendorf/fix-libdir)
Author: Brian Behlendorf <behlendorf1@llnl.gov>
Date:   Tue Jan 30 15:48:30 2018 -0800

    Fix default libdir for Debian/Ubuntu
    
    The distribution provided architecture specific RPM macro files
    for x86_64 and other architectures on Debian/Ubuntu specify the
    wrong default libdir install location.  When building deb packages
    override _lib with the correct location.
    
    Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
    Issue #7083

:100644 100644 adc99edf5... 603dad36d... M	config/zfs-build.m4

but trying to run the ZTS panics the box. From the serial console:

[  212.824813] Internal error: Oops - bad mode: 0 [#1] SMP ARM
[  212.830596] Modules linked in: zfs(PO) zunicode(PO) zcommon(PO) znvpair(PO) zavl(PO) icp(PO) spl(O)
[  212.840009] CPU: 1 PID: 15 Comm: migration/1 Tainted: P           O    4.9.79-zee-system #1
[  212.848770] Hardware name: BCM2835
[  212.852282] task: b9d70ec0 task.stack: b9d6e000
[  212.856958] PC is at ftrace_ops_no_ops+0x84/0x1a8
[  212.862133] LR is at multi_cpu_stop+0xe4/0x170
[  212.866710] pc : [<801f262c>]    lr : [<801c9968>]    psr: 000d01d1
[  212.866710] sp : b9d6fe68  ip : b9d6feb0  fp : b9d6fed4
[  212.878507] r10: b56f5d04  r9 : 00000000  r8 : a00d0013
[  212.883882] r7 : 808a8498  r6 : 80117914  r5 : 81304d8c  r4 : b95aa800
[  212.890595] r3 : b952cec0  r2 : 00000000  r1 : 00000100  r0 : 80117914
[  212.897313] Flags: nzcv  IRQs off  FIQs off  Mode FIQ_32  ISA ARM  Segment kernel
[  212.905021] Control: 10c5383d  Table: 3574c06a  DAC: 00000055
[  212.910934] Process migration/1 (pid: 15, stack limit = 0xb9d6e210)
[  212.917384] Stack: (0xb9d6fe68 to 0xb9d70000)
[  212.921880] fe60:                   80117914 00000100 00000000 b952cec0 b95aa800 81304d8c
[  212.930306] fe80: 80117914 808a8498 a00d0013 00000000 b56f5d04 b9d6fed4 b9d6feb0 b9d6fe68
[  212.938731] fea0: 801c9968 801f262c 000d01d1 ffffffff ba36b8c4 b9d6e000 801c9884 b56f5d64
[  212.947156] fec0: ba36b8c8 ba36b8d0 b9d6ff14 b9d6fed8 801c9c70 801c9890 80cabd04 80206a70
[  212.955580] fee0: 80fbc2e8 813b979e b9d6ff14 b9d6e000 b9c8e400 00000000 00000001 8131c9bc
[  212.964005] ff00: 81304d8c ffffe000 b9d6ff54 b9d6ff18 8014be94 801c9ba4 b9d6ff3c 00000000
[  212.972429] ff20: 80ca70e0 0004094f b9d6ff58 00000000 b9c8e440 b9d6e000 b9c8e400 8014bd50
[  212.980854] ff40: 00000000 00000000 b9d6ffac b9d6ff58 801476b8 8014bd5c 00000001 00000001
[  212.989278] ff60: b9c8e400 00000000 00030003 b9d6ff6c b9d6ff6c 00000000 00000000 b9d6ff7c
[  212.997702] ff80: b9d6ff7c 0004094f b9d6ffac b9c8e440 801475a0 00000000 00000000 00000000
[  213.006127] ffa0: 00000000 b9d6ffb0 80108cd4 801475ac 00000000 00000000 00000000 00000000
[  213.014552] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  213.022975] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 55555555 55555555
[  213.031417] [<801f262c>] (ftrace_ops_no_ops) from [<801c9c70>] (cpu_stopper_thread+0xd8/0x14c)
[  213.040300] [<801c9c70>] (cpu_stopper_thread) from [<8014be94>] (smpboot_thread_fn+0x144/0x1d8)
[  213.049272] [<8014be94>] (smpboot_thread_fn) from [<801476b8>] (kthread+0x118/0x130)
[  213.057266] [<801476b8>] (kthread) from [<80108cd4>] (ret_from_fork+0x14/0x20)
[  213.064716] Code: 11a08001 03a01b01 01a08001 e592200c (e5923dfc) 
[  213.070997] ---[ end trace 4d89f7fae89ade04 ]---
[  213.075759] Kernel panic - not syncing: Fatal exception
[  213.081161] CPU0: stopping
[  213.083984] CPU: 0 PID: 0 Comm: swapper/0 Tainted: P      D    O    4.9.79-zee-system #1
[  213.092319] Hardware name: BCM2835
[  213.095859] [<80111264>] (unwind_backtrace) from [<8010d180>] (show_stack+0x20/0x24)
[  213.103856] [<8010d180>] (show_stack) from [<805a5ad4>] (dump_stack+0xc8/0x10c)
[  213.111406] [<805a5ad4>] (dump_stack) from [<8010f628>] (handle_IPI+0x29c/0x2bc)
[  213.119044] [<8010f628>] (handle_IPI) from [<8010156c>] (bcm2836_arm_irqchip_handle_irq+0x88/0xb8)
[  213.128288] [<8010156c>] (bcm2836_arm_irqchip_handle_irq) from [<80cabffc>] (__irq_svc+0x5c/0x7c)
[  213.137424] Exception stack(0x81301f10 to 0x81301f58)
[  213.142633] 1f00:                                     00000000 000464ce ba35c470 00000000
[  213.151063] 1f20: 81300000 81304db4 00000001 81304e20 813b9745 80fb6d74 00000001 81301f6c
[  213.159492] 1f40: 81301f60 81301f60 801097d4 801097d8 60000013 ffffffff
[  213.166318] [<80cabffc>] (__irq_svc) from [<801097d8>] (arch_cpu_idle+0x34/0x4c)
[  213.173957] [<801097d8>] (arch_cpu_idle) from [<80cab754>] (default_idle_call+0x34/0x48)
[  213.182312] [<80cab754>] (default_idle_call) from [<80171428>] (cpu_startup_entry+0xec/0x164)
[  213.191106] [<80171428>] (cpu_startup_entry) from [<80ca5a4c>] (rest_init+0x84/0x88)
[  213.199103] [<80ca5a4c>] (rest_init) from [<81200dd4>] (start_kernel+0x408/0x428)
[  213.206819] CPU2: stopping
[  213.209631] CPU: 2 PID: 0 Comm: swapper/2 Tainted: P      D    O    4.9.79-zee-system #1
[  213.217965] Hardware name: BCM2835
[  213.221499] [<80111264>] (unwind_backtrace) from [<8010d180>] (show_stack+0x20/0x24)
[  213.229493] [<8010d180>] (show_stack) from [<805a5ad4>] (dump_stack+0xc8/0x10c)
[  213.237045] [<805a5ad4>] (dump_stack) from [<8010f628>] (handle_IPI+0x29c/0x2bc)
[  213.244683] [<8010f628>] (handle_IPI) from [<8010156c>] (bcm2836_arm_irqchip_handle_irq+0x88/0xb8)
[  213.253924] [<8010156c>] (bcm2836_arm_irqchip_handle_irq) from [<80cabffc>] (__irq_svc+0x5c/0x7c)
[  213.263060] Exception stack(0xb9d65f58 to 0xb9d65fa0)
[  213.268268] 5f40:                                                       00000000 00001db4
[  213.276696] 5f60: ba378470 00000000 b9d64000 81304db4 00000004 81304e20 813b9745 80fb6d74
[  213.285125] 5f80: 00000001 b9d65fb4 b9d65fa8 b9d65fa8 801097d4 801097d8 60070013 ffffffff
[  213.293566] [<80cabffc>] (__irq_svc) from [<801097d8>] (arch_cpu_idle+0x34/0x4c)
[  213.301205] [<801097d8>] (arch_cpu_idle) from [<80cab754>] (default_idle_call+0x34/0x48)
[  213.309556] [<80cab754>] (default_idle_call) from [<80171428>] (cpu_startup_entry+0xec/0x164)
[  213.318351] [<80171428>] (cpu_startup_entry) from [<8010f0f0>] (secondary_start_kernel+0x164/0x18c)
[  213.327678] [<8010f0f0>] (secondary_start_kernel) from [<00101a0c>] (0x101a0c)
[  213.335126] CPU3: stopping
[  213.337939] CPU: 3 PID: 0 Comm: swapper/3 Tainted: P      D    O    4.9.79-zee-system #1
[  213.346272] Hardware name: BCM2835
[  213.349805] [<80111264>] (unwind_backtrace) from [<8010d180>] (show_stack+0x20/0x24)
[  213.357798] [<8010d180>] (show_stack) from [<805a5ad4>] (dump_stack+0xc8/0x10c)
[  213.365350] [<805a5ad4>] (dump_stack) from [<8010f628>] (handle_IPI+0x29c/0x2bc)
[  213.372988] [<8010f628>] (handle_IPI) from [<8010156c>] (bcm2836_arm_irqchip_handle_irq+0x88/0xb8)
[  213.382227] [<8010156c>] (bcm2836_arm_irqchip_handle_irq) from [<80cabffc>] (__irq_svc+0x5c/0x7c)
[  213.391363] Exception stack(0xb9d67f58 to 0xb9d67fa0)
[  213.396569] 7f40:                                                       00000000 00002578
[  213.404997] 7f60: ba386470 00000000 b9d66000 81304db4 00000008 81304e20 813b9745 80fb6d74
[  213.413426] 7f80: 00000001 b9d67fb4 b9d67fa8 b9d67fa8 801097d4 801097d8 60050013 ffffffff
[  213.421866] [<80cabffc>] (__irq_svc) from [<801097d8>] (arch_cpu_idle+0x34/0x4c)
[  213.429506] [<801097d8>] (arch_cpu_idle) from [<80cab754>] (default_idle_call+0x34/0x48)
[  213.437856] [<80cab754>] (default_idle_call) from [<80171428>] (cpu_startup_entry+0xec/0x164)
[  213.446652] [<80171428>] (cpu_startup_entry) from [<8010f0f0>] (secondary_start_kernel+0x164/0x18c)
[  213.455978] [<8010f0f0>] (secondary_start_kernel) from [<00101a0c>] (0x101a0c)
[  213.463452] Rebooting in 1 seconds..

This shouldn't be caused by this change, but i cannot test more than this until i figure out why it's crashing the kernel.

@behlendorf
Copy link
Contributor Author

@loli10K thanks for the verification. Then this is ready to merge. I can't see how this could have caused the panic either, but we should definitely run it down. I can do some testing on an arm system this evening to confirm the issue.

@behlendorf
Copy link
Contributor Author

@loli10K I was unable to reproduce the panic you saw on either aarch64 or arm-linux-gnueabihf by running the ZTS. I was also able to verify the lib path is correct for these two architectures. I'm going to go ahead and merge this and we'll have to bisect the unrelated issue you discovered.

@behlendorf behlendorf merged commit 3d25488 into openzfs:master Feb 6, 2018
@loli10K
Copy link
Contributor

loli10K commented Feb 6, 2018

@behlendorf the panic was caused by an issue in my Kconfig, rebuilding the kernel without FTRACE seems to fix it, so not a ZFS bug 👍

Nasf-Fan pushed a commit to Nasf-Fan/zfs that referenced this pull request Feb 13, 2018
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes openzfs#7083
Closes openzfs#7101
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 7, 2018
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes openzfs#7083
Closes openzfs#7101
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 7, 2018
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Linux 4.16 compat: get_disk_and_module() openzfs#7264
- Change checksum & IO delay ratelimit values openzfs#7252
- Increment zil_itx_needcopy_bytes properly openzfs#6988  openzfs#7176
- Fix some typos openzfs#7237
- Fix zpool(8) list example to match actual format openzfs#7244
- Add SMART self-test results to zpool status -c openzfs#7178
- Add scrub after resilver zed script openzfs#4662  openzfs#7086
- Fix free memory calculation on v3.14+ openzfs#7170
- Report duration and error in mmp_history entries openzfs#7190
- Do not initiate MMP writes while pool is suspended openzfs#7182
- Linux 4.16 compat: use correct *_dec_and_test() openzfs#7179  openzfs#7211
- Allow modprobe to fail when called within systemd openzfs#7174
- Add SMART attributes for SSD and NVMe openzfs#7183  openzfs#7193
- Correct count_uberblocks in mmp.kshlib openzfs#7191
- Fix config issues: frame size and headers openzfs#7169
- Clarify zinject(8) explanation of -e openzfs#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio openzfs#7168
- 'zfs receive' fails with "dataset is busy" openzfs#7129  openzfs#7154
- contrib/initramfs: add missing conf.d/zfs openzfs#7158
- mmp should use a fixed tag for spa_config locks openzfs#6530  openzfs#7155
- Handle zap_add() failures in mixed case mode openzfs#7011 openzfs#7054
- Fix zdb -ed on objset for exported pool openzfs#7099 openzfs#6464
- Fix zdb -E segfault openzfs#7099
- Fix zdb -R decompression openzfs#7099  openzfs#4984
- Fix racy assignment of zcb.zcb_haderrors openzfs#7099
- Fix zle_decompress out of bound access openzfs#7099
- Fix zdb -c traverse stop on damaged objset root openzfs#7099
- Linux 4.11 compat: avoid refcount_t name conflict openzfs#7148
- Linux 4.16 compat: inode_set_iversion() openzfs#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable openzfs#7141
- Remove deprecated zfs_arc_p_aggressive_disable openzfs#7135
- Fix default libdir for Debian/Ubuntu openzfs#7083  openzfs#7101
- Bug fix in qat_compress.c for vmalloc addr check openzfs#7125
- Fix systemd_ RPM macros usage on Debian-based distributions openzfs#7074
  openzfs#7100
- Emit an error message before MMP suspends pool openzfs#7048
- ZTS: Fix create-o_ashift test case openzfs#6924  openzfs#6977
- Fix --with-systemd on Debian-based distributions (openzfs#6963) openzfs#6591  openzfs#6963
- Remove vn_rename and vn_remove dependency openzfs/spl#648 openzfs#6753
- Add support for "--enable-code-coverage" option openzfs#6670
- Make "-fno-inline" compile option more accessible openzfs#6605
- Add configure option to enable gcov analysis openzfs#6642
- Implement --enable-debuginfo to force debuginfo openzfs#2734
- Make --enable-debug fail when given bogus args openzfs#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head
@tonyhutter tonyhutter mentioned this pull request Mar 7, 2018
13 tasks
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 12, 2018
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes openzfs#7083
Closes openzfs#7101
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools openzfs#7205 openzfs#7289
- Handle zio_resume and mmp => off openzfs#7286
- Fix zfs-kmod builds when using rpm >= 4.14 openzfs#7284
- zdb and inuse tests don't pass with real disks openzfs#6939 openzfs#7261
- Take user namespaces into account in policy checks openzfs#6800 openzfs#7270
- Detect long config lock acquisition in mmp openzfs#7212
- Linux 4.16 compat: get_disk_and_module() openzfs#7264
- Change checksum & IO delay ratelimit values openzfs#7252
- Increment zil_itx_needcopy_bytes properly openzfs#6988 openzfs#7176
- Fix some typos openzfs#7237
- Fix zpool(8) list example to match actual format openzfs#7244
- Add SMART self-test results to zpool status -c openzfs#7178
- Add scrub after resilver zed script openzfs#4662 openzfs#7086
- Fix free memory calculation on v3.14+ openzfs#7170
- Report duration and error in mmp_history entries openzfs#7190
- Do not initiate MMP writes while pool is suspended openzfs#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd openzfs#7174
- Add SMART attributes for SSD and NVMe openzfs#7183 openzfs#7193
- Correct count_uberblocks in mmp.kshlib openzfs#7191
- Fix config issues: frame size and headers openzfs#7169
- Clarify zinject(8) explanation of -e openzfs#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed parent zio openzfs#7168
- 'zfs receive' fails with "dataset is busy" openzfs#7129 openzfs#7154
- contrib/initramfs: add missing conf.d/zfs openzfs#7158
- mmp should use a fixed tag for spa_config locks openzfs#6530 openzfs#7155
- Handle zap_add() failures in mixed case mode openzfs#7011 openzfs#7054
- Fix zdb -ed on objset for exported pool openzfs#7099 openzfs#6464
- Fix zdb -E segfault openzfs#7099
- Fix zdb -R decompression openzfs#7099 openzfs#4984
- Fix racy assignment of zcb.zcb_haderrors openzfs#7099
- Fix zle_decompress out of bound access openzfs#7099
- Fix zdb -c traverse stop on damaged objset root openzfs#7099
- Linux 4.11 compat: avoid refcount_t name conflict openzfs#7148
- Linux 4.16 compat: inode_set_iversion() openzfs#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common contains a use after end of the lifetime of a local variable openzfs#7141
- Remove deprecated zfs_arc_p_aggressive_disable openzfs#7135
- Fix default libdir for Debian/Ubuntu openzfs#7083 openzfs#7101
- Bug fix in qat_compress.c for vmalloc addr check openzfs#7125
- Fix systemd_ RPM macros usage on Debian-based distributions openzfs#7074 openzfs#7100
- Emit an error message before MMP suspends pool openzfs#7048
- ZTS: Fix create-o_ashift test case openzfs#6924 openzfs#6977
- Fix --with-systemd on Debian-based distributions (openzfs#6963) openzfs#6591 openzfs#6963
- Remove vn_rename and vn_remove dependency openzfs/spl#648 openzfs#6753
- Add support for "--enable-code-coverage" option openzfs#6670
- Make "-fno-inline" compile option more accessible openzfs#6605
- Add configure option to enable gcov analysis openzfs#6642
- Implement --enable-debuginfo to force debuginfo openzfs#2734
- Make --enable-debug fail when given bogus args openzfs#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools openzfs#7205 openzfs#7289
- Handle zio_resume and mmp => off openzfs#7286
- Fix zfs-kmod builds when using rpm >= 4.14 openzfs#7284
- zdb and inuse tests don't pass with real disks openzfs#6939 openzfs#7261
- Take user namespaces into account in policy checks openzfs#6800 openzfs#7270
- Detect long config lock acquisition in mmp openzfs#7212
- Linux 4.16 compat: get_disk_and_module() openzfs#7264
- Change checksum & IO delay ratelimit values openzfs#7252
- Increment zil_itx_needcopy_bytes properly openzfs#6988 openzfs#7176
- Fix some typos openzfs#7237
- Fix zpool(8) list example to match actual format openzfs#7244
- Add SMART self-test results to zpool status -c openzfs#7178
- Add scrub after resilver zed script openzfs#4662 openzfs#7086
- Fix free memory calculation on v3.14+ openzfs#7170
- Report duration and error in mmp_history entries openzfs#7190
- Do not initiate MMP writes while pool is suspended openzfs#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd openzfs#7174
- Add SMART attributes for SSD and NVMe openzfs#7183 openzfs#7193
- Correct count_uberblocks in mmp.kshlib openzfs#7191
- Fix config issues: frame size and headers openzfs#7169
- Clarify zinject(8) explanation of -e openzfs#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio openzfs#7168
- 'zfs receive' fails with "dataset is busy" openzfs#7129 openzfs#7154
- contrib/initramfs: add missing conf.d/zfs openzfs#7158
- mmp should use a fixed tag for spa_config locks openzfs#6530 openzfs#7155
- Handle zap_add() failures in mixed case mode openzfs#7011 openzfs#7054
- Fix zdb -ed on objset for exported pool openzfs#7099 openzfs#6464
- Fix zdb -E segfault openzfs#7099
- Fix zdb -R decompression openzfs#7099 openzfs#4984
- Fix racy assignment of zcb.zcb_haderrors openzfs#7099
- Fix zle_decompress out of bound access openzfs#7099
- Fix zdb -c traverse stop on damaged objset root openzfs#7099
- Linux 4.11 compat: avoid refcount_t name conflict openzfs#7148
- Linux 4.16 compat: inode_set_iversion() openzfs#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable openzfs#7141
- Remove deprecated zfs_arc_p_aggressive_disable openzfs#7135
- Fix default libdir for Debian/Ubuntu openzfs#7083 openzfs#7101
- Bug fix in qat_compress.c for vmalloc addr check openzfs#7125
- Fix systemd_ RPM macros usage on Debian-based distributions openzfs#7074
  openzfs#7100
- Emit an error message before MMP suspends pool openzfs#7048
- ZTS: Fix create-o_ashift test case openzfs#6924 openzfs#6977
- Fix --with-systemd on Debian-based distributions (openzfs#6963) openzfs#6591 openzfs#6963
- Remove vn_rename and vn_remove dependency openzfs/spl#648 openzfs#6753
- Add support for "--enable-code-coverage" option openzfs#6670
- Make "-fno-inline" compile option more accessible openzfs#6605
- Add configure option to enable gcov analysis openzfs#6642
- Implement --enable-debuginfo to force debuginfo openzfs#2734
- Make --enable-debug fail when given bogus args openzfs#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes openzfs#7083
Closes openzfs#7101
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools openzfs#7205 openzfs#7289
- Handle zio_resume and mmp => off openzfs#7286
- Fix zfs-kmod builds when using rpm >= 4.14 openzfs#7284
- zdb and inuse tests don't pass with real disks openzfs#6939 openzfs#7261
- Take user namespaces into account in policy checks openzfs#6800 openzfs#7270
- Detect long config lock acquisition in mmp openzfs#7212
- Linux 4.16 compat: get_disk_and_module() openzfs#7264
- Change checksum & IO delay ratelimit values openzfs#7252
- Increment zil_itx_needcopy_bytes properly openzfs#6988 openzfs#7176
- Fix some typos openzfs#7237
- Fix zpool(8) list example to match actual format openzfs#7244
- Add SMART self-test results to zpool status -c openzfs#7178
- Add scrub after resilver zed script openzfs#4662 openzfs#7086
- Fix free memory calculation on v3.14+ openzfs#7170
- Report duration and error in mmp_history entries openzfs#7190
- Do not initiate MMP writes while pool is suspended openzfs#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd openzfs#7174
- Add SMART attributes for SSD and NVMe openzfs#7183 openzfs#7193
- Correct count_uberblocks in mmp.kshlib openzfs#7191
- Fix config issues: frame size and headers openzfs#7169
- Clarify zinject(8) explanation of -e openzfs#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio openzfs#7168
- 'zfs receive' fails with "dataset is busy" openzfs#7129 openzfs#7154
- contrib/initramfs: add missing conf.d/zfs openzfs#7158
- mmp should use a fixed tag for spa_config locks openzfs#6530 openzfs#7155
- Handle zap_add() failures in mixed case mode openzfs#7011 openzfs#7054
- Fix zdb -ed on objset for exported pool openzfs#7099 openzfs#6464
- Fix zdb -E segfault openzfs#7099
- Fix zdb -R decompression openzfs#7099 openzfs#4984
- Fix racy assignment of zcb.zcb_haderrors openzfs#7099
- Fix zle_decompress out of bound access openzfs#7099
- Fix zdb -c traverse stop on damaged objset root openzfs#7099
- Linux 4.11 compat: avoid refcount_t name conflict openzfs#7148
- Linux 4.16 compat: inode_set_iversion() openzfs#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable openzfs#7141
- Remove deprecated zfs_arc_p_aggressive_disable openzfs#7135
- Fix default libdir for Debian/Ubuntu openzfs#7083 openzfs#7101
- Bug fix in qat_compress.c for vmalloc addr check openzfs#7125
- Fix systemd_ RPM macros usage on Debian-based distributions openzfs#7074
  openzfs#7100
- Emit an error message before MMP suspends pool openzfs#7048
- ZTS: Fix create-o_ashift test case openzfs#6924 openzfs#6977
- Fix --with-systemd on Debian-based distributions (openzfs#6963) openzfs#6591 openzfs#6963
- Remove vn_rename and vn_remove dependency openzfs/spl#648 openzfs#6753
- Fix "--enable-code-coverage" debug build openzfs#6674
- Update codecov.yml openzfs#6669
- Add support for "--enable-code-coverage" option openzfs#6670
- Make "-fno-inline" compile option more accessible openzfs#6605
- Add configure option to enable gcov analysis openzfs#6642
- Implement --enable-debuginfo to force debuginfo openzfs#2734
- Make --enable-debug fail when given bogus args openzfs#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit that referenced this pull request Mar 19, 2018
The distribution provided architecture specific RPM macro files
for x86_64 and other architectures on Debian/Ubuntu specify the
wrong default libdir install location.  When building deb packages
override _lib with the correct location.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7083
Closes #7101
@behlendorf behlendorf deleted the fix-libdir branch April 19, 2021 19:30
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.

libdir configure seems not beeing respected
4 participants