~wip-kernel/ubuntu-wip-kernel/+git/openzfs-spl:spl-linux-0.7.13

Last commit made on 2019-02-22
Get this branch:
git clone -b spl-linux-0.7.13 https://git.launchpad.net/~wip-kernel/ubuntu-wip-kernel/+git/openzfs-spl

Branch merges

Branch information

Name:
spl-linux-0.7.13
Repository:
lp:~wip-kernel/ubuntu-wip-kernel/+git/openzfs-spl

Recent commits

d665632... by Tony Hutter <email address hidden>

Tag spl-0.7.13

META file and changelog updated.

Signed-off-by: Tony Hutter <email address hidden>

39333e3... by Tony Hutter <email address hidden>

Linux 4.20 compat: Fix current_kernel_time()

current_kernel_time() is no longer provided in the 4.20 kernel.
Add a shim that calls the correct "get current time" function.

Signed-off-by: Tony Hutter <email address hidden>

b237f61... by Tony Hutter <email address hidden>

Linux 5.0 compat: Fix timespec_sub()

The 5.0 kernel no longer include timespec_sub(). It only has
timespec64_sub(). Add a compatibility function.

Signed-off-by: Tony Hutter <email address hidden>

8a9030b... by Tony Hutter <email address hidden>

Linux 5.0 compat: Fix SUBDIRs

(This is the SPL port of this patch)

SUBDIRs has been deprecated for a long time, and was finally removed in
the 5.0 kernel. Use "M=" instead.

Reviewed-by: Brian Behlendorf <email address hidden>
Signed-off-by: Tony Hutter <email address hidden>
Closes #8257

2e2baba... by Tony Hutter <email address hidden>

Linux 5.0 compat: Use totalram_pages()

(This is the ported SPL part of this patch)

totalram_pages() was converted to an atomic variable in 5.0:

https://patchwork.kernel.org/patch/10652795/

Its value should now be read though the totalram_pages() helper
function.

Reviewed-by: Brian Behlendorf <email address hidden>
Signed-off-by: Tony Hutter <email address hidden>
Closes #8263

cb4464f... by Tony Hutter <email address hidden>

deadlock between mm_sem and tx assign in zfs_write() and page fault

(This is the ported SPL portion of this patch)

The bug time sequence:
1. thread #1, `zfs_write` assign a txg "n".
2. In a same process, thread #2, mmap page fault (which means the
`mm_sem` is hold) occurred, `zfs_dirty_inode` open a txg failed,
and wait previous txg "n" completed.
3. thread #1 call `uiomove` to write, however page fault is occurred
in `uiomove`, which means it need `mm_sem`, but `mm_sem` is hold by
thread #2, so it stuck and can't complete, then txg "n" will
not complete.

So thread #1 and thread #2 are deadlocked.

Reviewed-by: Chunwei Chen <email address hidden>
Reviewed-by: Brian Behlendorf <email address hidden>
Reviewed-by: Matthew Ahrens <email address hidden>
Signed-off-by: Grady Wong <email address hidden>
Closes #7939

e2c6e12... by Tony Hutter <email address hidden>

Linux 4.18 compat: Use ktime_get_coarse_real_ts64()

(This is the ported SPL version of this patch)

Newer kernels remove current_kernel_time64(). Use
ktime_get_coarse_real_ts64() in its place.

Reviewed-by: Brian Behlendorf <email address hidden>
Signed-off-by: Tony Hutter <email address hidden>
Closes #8258

b80cb0a... by Ben Wolsieffer

Use autoconf variable for C preprocessor

This fixes the build when cross-compiling, where the preprocessor might
be prefixed.

Signed-off-by: Ben Wolsieffer <email address hidden>

312f388... by Tony Hutter <email address hidden>

Tag spl-0.7.12

META file and changelog updated.

Signed-off-by: Tony Hutter <email address hidden>

8caa026... by Tony Hutter <email address hidden>

Add BuildRequires gcc, make, elfutils-libelf-devel

This adds a BuildRequires for gcc, make, and elfutils-libelf-devel
into our spec files. gcc has been a packaging requirement for
awhile now:

https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B

These additional BuildRequires allow us to mock build in
Fedora 29.

(This is the backported SPL equivalent of the original ZFS patch)

Reviewed-by: Neal Gompa <email address hidden>
Reviewed-by: Brian Behlendorf <email address hidden>
Signed-off-by: Tony Hutter <email address hidden>
Closes #8095
Closes #8102