Hello Andreas, or anyone else affected,

Accepted zfs-linux into eoan-proposed. The package will build now and be
available at https://launchpad.net/ubuntu/+source/zfs-
linux/0.8.1-1ubuntu14.1 in a few hours, and then in the -proposed
repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-eoan to verification-done-eoan. If it does not fix
the bug for you, please add a comment stating that, and change the tag
to verification-failed-eoan. In either case, without details of your
testing we will not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: zfs-linux (Ubuntu Eoan)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to zfs-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1849665

Title:
  zfs diff: Unable to determine path or stats for object

Status in zfs-linux package in Ubuntu:
  Fix Released
Status in zfs-linux source package in Eoan:
  Fix Committed

Bug description:
  == SRU Justification, Eoan ==

  Using zfs diff on an encrypted dataset with large objects one can hit
  an error such as follows:

  # zfs diff nsnx/trusty-2a@snap1 nsnx/trusty-2a
  +     /nsnx/trusty-2a/bin
  Unable to determine path or stats for object 5 in 
nsnx/trusty-2a@zfs-diff-32359-000000010001f165: File exists

  == Fix ==

  Upstream commit d359e99c38f667 ("diff_cb() does not handle large
  dnodes") as addressed in ZFS bug fix:
  https://github.com/zfsonlinux/zfs/pull/9343

  == Testcase ==

  # mkdir /zfs-test
  # cd /zfs-test
  # truncate -s 10G file.img
  # zpool create -o ashift=12 -O acltype=posixacl -O compression=lz4 -O 
xattr=sa -O normalization=formD -O dnodesize=auto tank $(pwd)/file.img
  # zfs create tank/d1 -o encryption=on -o keyformat=passphrase
  Enter passphrase:
  Re-enter passphrase:
  # dd if=/dev/urandom bs=4k of=/tank/d1/somedata.bin count=10240
  10240+0 records in
  10240+0 records out
  41943040 bytes (42 MB, 40 MiB) copied, 0,304365 s, 138 MB/s
  # zfs snapshot tank/d1@s1
  # dd if=/dev/urandom bs=4k of=/tank/d1/somedata2.bin count=10240
  10240+0 records in
  10240+0 records out
  41943040 bytes (42 MB, 40 MiB) copied, 0,305324 s, 137 MB/s

  Without the fix, one hits an error such as:

  # zfs diff tank/d1@s1 tank/d1
  Unable to determine path or stats for object 3 in tank/d1@s1: File exists

  With the fix, we get:
  + /tank/d1/somedata2.bin
  M /tank/d1/

  == Regression Potential ==

  This is a minor change in module/zfs/dmu_diff.c and it only affects
  the zfs diff component, so this should not affect ZFS in terms of file
  system corruption/data loss.  This has also been upstream regression
  tested and passes the Ubuntu ZFS regressions tests too.  So the risk
  is limited.

  
  ---------------------

  Eoan 19.10
  zfsutils-linux 0.8.1-1ubuntu14
  kernel 5.3.0-19-generic #20-Ubuntu

  When using zfs diff on an encrypted dataset, I frequently encounter
  this error:

  # zfs diff nsnx/trusty-2a@snap1 nsnx/trusty-2a
  +     /nsnx/trusty-2a/bin
  Unable to determine path or stats for object 5 in 
nsnx/trusty-2a@zfs-diff-32359-000000010001f165: File exists

  I believe this to be upstream bug
  https://github.com/zfsonlinux/zfs/issues/7678, fixed with
  https://github.com/zfsonlinux/zfs/pull/9343

  Here is one way to reproduce it:

  # mkdir /zfs-test
  # cd /zfs-test
  # truncate -s 10G file.img
  # zpool create -o ashift=12 -O acltype=posixacl -O compression=lz4 -O 
xattr=sa -O normalization=formD -O dnodesize=auto tank $(pwd)/file.img
  # zfs create tank/d1 -o encryption=on -o keyformat=passphrase
  Enter passphrase:
  Re-enter passphrase:
  # dd if=/dev/urandom bs=4k of=/tank/d1/somedata.bin count=10240
  10240+0 records in
  10240+0 records out
  41943040 bytes (42 MB, 40 MiB) copied, 0,304365 s, 138 MB/s
  # zfs snapshot tank/d1@s1
  # dd if=/dev/urandom bs=4k of=/tank/d1/somedata2.bin count=10240
  10240+0 records in
  10240+0 records out
  41943040 bytes (42 MB, 40 MiB) copied, 0,305324 s, 137 MB/s
  # zfs diff tank/d1@s1 tank/d1
  Unable to determine path or stats for object 3 in tank/d1@s1: File exists

  There may be a simpler way to test this, but this should be enough to
  start with.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1849665/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to