Go to file
lidongyang 823d48bfb1 Call commit callbacks from the tail of the list
Our zfs backed Lustre MDT had soft lockups while under heavy metadata
workloads while handling transaction callbacks from osd_zfs.

The problem is zfs is not taking advantage of the fast path in
Lustre's trans callback handling, where Lustre will skip the calls
to ptlrpc_commit_replies() when it already saw a higher transaction
number.

This patch corrects this, it also has a positive impact on metadata
performance on Lustre with osd_zfs, plus some cleanup in the headers.

A similar issue for ext4/ldiskfs is described on:
https://jira.hpdd.intel.com/browse/LU-6527

Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Li Dongyang <dongyang.li@anu.edu.au>
Closes #6986
2017-12-22 10:19:51 -08:00
.github Update for cppcheck v1.80 2017-11-18 14:08:00 -08:00
cmd vdev_id: new slot type ses 2017-12-20 09:42:07 -08:00
config Fix --with-systemd on Debian-based distributions (#6963) 2017-12-17 14:08:48 -08:00
contrib Honor --with-mounthelperdir where applicable 2017-12-17 14:14:07 -08:00
etc Cleanup systemd dependencies 2017-11-08 09:39:15 -08:00
include Call commit callbacks from the tail of the list 2017-12-22 10:19:51 -08:00
lib Remove lib/libspl/include/sys/frame.h 2017-12-17 14:02:29 -08:00
man vdev_id: new slot type ses 2017-12-20 09:42:07 -08:00
module Call commit callbacks from the tail of the list 2017-12-22 10:19:51 -08:00
rpm Fix --with-systemd on Debian-based distributions (#6963) 2017-12-17 14:08:48 -08:00
scripts OpenZFS 8794 - cstyle generates warnings with recent perl 2017-12-19 12:54:08 -08:00
tests Support re-prioritizing asynchronous prefetches 2017-12-21 09:13:06 -08:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Add configure option to enable gcov analysis 2017-09-15 10:24:13 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
.travis.yml Add .travis.yml 2017-11-13 09:18:18 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac contrib/initramfs: switch to automake 2017-11-07 14:53:57 -08:00
copy-builtin Allow c99 when building ZFS in the kernel tree 2017-03-27 12:31:15 -07:00
COPYRIGHT Encryption patch follow-up 2017-10-11 16:54:48 -04:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
Makefile.am Update for cppcheck v1.80 2017-11-18 14:08:00 -08:00
META Tag zfs-0.7.0 2017-07-26 10:13:25 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add scan.coverity.com badge to README 2017-10-30 16:21:24 -07:00
TEST Refresh TEST file to include new variables 2017-11-08 11:09:30 -08:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov coverity

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.