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

Added Mark Maybee's changes to allow for Direct IO with read/writes. … #5

Closed
wants to merge 71 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
e2b31b5
Make txg_wait_synced conditional in zfsvfs_teardown
PaulZ-98 Aug 15, 2019
0e37a0f
Assert that a dnode's bonuslen never exceeds its recorded size
sdimitro Aug 15, 2019
c8bbf7c
Improve write performance by using dmu_read_by_dnode()
tonynguien Aug 15, 2019
0f8ff49
dmu_tx_wait() hang likely due to cv_signal() in dsl_pool_dirty_delta()
sdimitro Aug 15, 2019
9323aad
initramfs: fixes for (debian) initramfs
c0d3z3r0 Aug 16, 2019
f09fda5
Cap metaslab memory usage
pcd1193182 Aug 16, 2019
1a26cb6
Add more refquota tests
pcd1193182 Aug 19, 2019
f6fbe25
Set "none" scheduler if available (initramfs)
colmbuckley Aug 19, 2019
ff4b68e
Linux 5.3 compat: Makefile subdir-m no longer supported
dspearson Aug 19, 2019
3beb0a7
Fix lockdep circular locking false positive involving sa_lock
jdike Aug 19, 2019
325d288
Add fast path for zfs_ioc_space_snaps() handling of empty_bpobj
ahrens Aug 20, 2019
92a9e1d
Fix automake program name transformations
Aug 20, 2019
c759b33
zfs-functions.in: in_mtab() always returns 1
fling- Aug 20, 2019
f66a1f8
Minor cleanup in Makefile.am
Aug 21, 2019
a9ebdfd
Linux 5.3: Fix switch() fall though compiler errors
tonyhutter Aug 21, 2019
20f7b91
ZTS: Fix vdev_zaps_005_pos on CentOS 6
behlendorf Aug 22, 2019
f591a58
Enhance ioctl number checks
Aug 22, 2019
0154a1e
Dedup IOC enum values in libzfs_input_check
Aug 22, 2019
2f74950
Document ZFS_DKMS_ENABLE_DEBUGINFO in userland configuration
mfoliveira Aug 22, 2019
a3ba6e5
Fix automake program name transformations (#9190)
behlendorf Aug 22, 2019
31b548f
ZTS: Use decimal values when setting tunables
behlendorf Aug 22, 2019
d1484fb
Fix install error introduced by #9089
pcd1193182 Aug 22, 2019
19d61d6
zfs-mount-genrator: dependencies should be space-separated
yshui Aug 23, 2019
97c54ea
Make slog test setup more robust
Aug 23, 2019
d1d1f8c
Fix install error introduced by #9089 (#9205)
behlendorf Aug 23, 2019
4302698
ZTS: Fix in-tree dbufstats test case
behlendorf Aug 23, 2019
a18f8bc
Split argument list, satisfy shellcheck SC2086
Aug 26, 2019
95f0144
Add regression test for "zpool list -p"
pcd1193182 Aug 26, 2019
142f84d
Restore :: in Makefile.am
Aug 26, 2019
e7a2fa7
Fix deadlock in 'zfs rollback'
Aug 27, 2019
f335b8f
Fix Plymouth passphrase prompt in initramfs script
belperite Aug 27, 2019
e6203d2
zfs_ioc_snapshot: check user-prop permissions on snapshotted datasets
avg-I Aug 27, 2019
9c9dcd6
Prefer `for (;;)` to `while (TRUE)`
Aug 28, 2019
035e961
Fix zil replay panic when TX_REMOVE followed by TX_CREATE
davidchenntnx Aug 28, 2019
28c91ab
Tag ABD pages for exclusion in kernel crash dumps
Aug 28, 2019
07a328d
ZTS: Temporarily disable several upgrade tests
behlendorf Aug 28, 2019
8d04284
Use smaller default slack/delta value for schedule_hrtimeout_range()
tonynguien Aug 28, 2019
e6cebbf
zfs_handle used after being closed/freed in change_one callback
pzakha Aug 28, 2019
eef0f4d
Keep more metaslabs loaded
pcd1193182 Aug 29, 2019
f66ad58
Use compatible arg order in tests
Aug 29, 2019
815a645
Simplify deleting partitions in libtest
Aug 29, 2019
e2fcfa7
etc/init.d/zfs-functions.in: remove arch warning
gyakovlev Aug 29, 2019
475aa97
Prevent metaslab_sync panic due to spa_final_dirty_txg
pcd1193182 Aug 30, 2019
d39c71d
Fix refquota_007_neg.ksh
ikozhukhov Aug 30, 2019
2b96f77
Fix typos in config/
Gelma Aug 30, 2019
ac3d4d0
Fix typos in man/
Gelma Aug 30, 2019
ad0b23b
Fix typos in cmd/
Gelma Aug 30, 2019
cd6b910
Fix typos in contrib/
Gelma Aug 30, 2019
0463c95
Fix typos in etc/
Gelma Aug 30, 2019
cf7c5a0
Fix typos in include/
Gelma Aug 30, 2019
9d40bdf
Fix typos in modules/icp/
Gelma Aug 30, 2019
9f5c1bc
Fix typos in module/
Gelma Aug 30, 2019
b520706
Fix typos in tests/
Gelma Aug 30, 2019
c953960
Fix typos in tests/
Gelma Aug 30, 2019
7859537
Fix typos in lib/
Gelma Sep 3, 2019
e1cfd73
Fix typos in module/zfs/
Gelma Sep 3, 2019
ade306a
Fix typos in tests/
Gelma Sep 3, 2019
37e4219
Fix typos in tests/
Gelma Sep 3, 2019
24739cd
Fix typos in tests/
Gelma Sep 3, 2019
220dd4a
Fix typos in tests/
Gelma Sep 3, 2019
4001f09
Fix typos in tests/
Gelma Sep 3, 2019
cb14aa4
Fix typos in tests/
Gelma Sep 3, 2019
c6e457d
Fix typos in tests/
Gelma Sep 3, 2019
a57c82f
Fix typos
Gelma Sep 3, 2019
1e52716
maxinflight can overflow in spa_load_verify_cb()
grwilson Sep 3, 2019
11857d6
I added Mark Maybees's modifications to allow Direct IO. This allows …
bwatkinson Aug 30, 2019
efdf303
I added back the check in zfs_vnops to add the correct flag for Direc…
bwatkinson Sep 3, 2019
21db0df
Fixed memory leak that was created in abd_get_from_pages(). The struc…
bwatkinson Sep 4, 2019
e5afaee
Merge branch 'direct' of github.com:bwatkinson/zfs into direct
bwatkinson Sep 4, 2019
2137ae6
I removed the user space implementation of abd_get_from_pages. I also…
bwatkinson Sep 9, 2019
e550898
Fixed bug where immediately deleting a file written using Direct IO w…
bwatkinson Sep 10, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ configure option should be set. This will enable additional correctness
checks and all the ASSERTs to help quickly catch potential issues.

In addition, there are numerous utilities and debugging files which
provide visibility in to the inner workings of ZFS. The most useful
provide visibility into the inner workings of ZFS. The most useful
of these tools are discussed in detail on the [debugging ZFS wiki
page](https://github.com/zfsonlinux/zfs/wiki/Debugging).

Expand Down
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,14 @@ cscope.*
*.log
venv

#
# Module leftovers
#
/module/avl/zavl.mod
/module/icp/icp.mod
/module/lua/zlua.mod
/module/nvpair/znvpair.mod
/module/spl/spl.mod
/module/unicode/zunicode.mod
/module/zcommon/zcommon.mod
/module/zfs/zfs.mod
16 changes: 11 additions & 5 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@ EXTRA_DIST += META AUTHORS COPYRIGHT LICENSE NEWS NOTICE README.md
EXTRA_DIST += CODE_OF_CONDUCT.md

# Include all the extra licensing information for modules
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE module/icp/algs/skein/THIRDPARTYLICENSE.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2 module/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash module/zfs/THIRDPARTYLICENSE.cityhash.descrip
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash.descrip

@CODE_COVERAGE_RULES@

Expand All @@ -39,6 +44,7 @@ gitrev:

BUILT_SOURCES = gitrev

# Double-colon rules are allowed; there are multiple independent definitions.
distclean-local::
-$(RM) -R autom4te*.cache
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
Expand Down
10 changes: 8 additions & 2 deletions cmd/arc_summary/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
EXTRA_DIST = arc_summary2 arc_summary3

transform = $(program_transform_name)

if USING_PYTHON_2
dist_bin_SCRIPTS = arc_summary2
install-exec-hook:
mv $(DESTDIR)$(bindir)/arc_summary2 $(DESTDIR)$(bindir)/arc_summary
before=$$(echo arc_summary2 | sed '$(transform)'); \
after=$$(echo arc_summary | sed '$(transform)'); \
mv "$(DESTDIR)$(bindir)/$$before" "$(DESTDIR)$(bindir)/$$after"
else
dist_bin_SCRIPTS = arc_summary3
install-exec-hook:
mv $(DESTDIR)$(bindir)/arc_summary3 $(DESTDIR)$(bindir)/arc_summary
before=$$(echo arc_summary3 | sed '$(transform)'); \
after=$$(echo arc_summary | sed '$(transform)'); \
mv "$(DESTDIR)$(bindir)/$$before" "$(DESTDIR)$(bindir)/$$after"
endif
14 changes: 7 additions & 7 deletions cmd/arc_summary/arc_summary3
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ import subprocess
import sys
import time

DECRIPTION = 'Print ARC and other statistics for ZFS on Linux'
DESCRIPTION = 'Print ARC and other statistics for ZFS on Linux'
INDENT = ' '*8
LINE_LENGTH = 72
PROC_PATH = '/proc/spl/kstat/zfs/'
Expand All @@ -65,7 +65,7 @@ SECTION_PATHS = {'arc': 'arcstats',
'zfetch': 'zfetchstats',
'zil': 'zil'}

parser = argparse.ArgumentParser(description=DECRIPTION)
parser = argparse.ArgumentParser(description=DESCRIPTION)
parser.add_argument('-a', '--alternate', action='store_true', default=False,
help='use alternate formatting for tunables and SPL',
dest='alt')
Expand Down Expand Up @@ -284,7 +284,7 @@ def get_spl_tunables(PATH):


def get_descriptions(request):
"""Get the decriptions of the Solaris Porting Layer (SPL) or the
"""Get the descriptions of the Solaris Porting Layer (SPL) or the
tunables, return with minimal formatting.
"""

Expand Down Expand Up @@ -708,7 +708,7 @@ def section_l2arc(kstats_dict):

def section_spl(*_):
"""Print the SPL parameters, if requested with alternative format
and/or decriptions. This does not use kstats.
and/or descriptions. This does not use kstats.
"""

spls = get_spl_tunables(SPL_PATH)
Expand All @@ -725,7 +725,7 @@ def section_spl(*_):
try:
print(INDENT+'#', descriptions[key])
except KeyError:
print(INDENT+'# (No decription found)') # paranoid
print(INDENT+'# (No description found)') # paranoid

print(format_raw_line(key, value))

Expand All @@ -734,7 +734,7 @@ def section_spl(*_):

def section_tunables(*_):
"""Print the tunables, if requested with alternative format and/or
decriptions. This does not use kstasts.
descriptions. This does not use kstasts.
"""

tunables = get_spl_tunables(TUNABLES_PATH)
Expand All @@ -751,7 +751,7 @@ def section_tunables(*_):
try:
print(INDENT+'#', descriptions[key])
except KeyError:
print(INDENT+'# (No decription found)') # paranoid
print(INDENT+'# (No description found)') # paranoid

print(format_raw_line(key, value))

Expand Down
2 changes: 1 addition & 1 deletion cmd/arcstat/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dist_bin_SCRIPTS = arcstat

#
# The arcstat script is compatibile with both Python 2.6 and 3.4.
# The arcstat script is compatible with both Python 2.6 and 3.4.
# As such the python 3 shebang can be replaced at install time when
# targeting a python 2 system. This allows us to maintain a single
# version of the source.
Expand Down
2 changes: 1 addition & 1 deletion cmd/dbufstat/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dist_bin_SCRIPTS = dbufstat

#
# The dbufstat script is compatibile with both Python 2.6 and 3.4.
# The dbufstat script is compatible with both Python 2.6 and 3.4.
# As such the python 3 shebang can be replaced at install time when
# targeting a python 2 system. This allows us to maintain a single
# version of the source.
Expand Down
2 changes: 1 addition & 1 deletion cmd/fsck_zfs/fsck.zfs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh
#
# fsck.zfs: A fsck helper to accomidate distributions that expect
# fsck.zfs: A fsck helper to accommodate distributions that expect
# to be able to execute a fsck on all filesystem types. Currently
# this script does nothing but it could be extended to act as a
# compatibility wrapper for 'zpool scrub'.
Expand Down
2 changes: 1 addition & 1 deletion cmd/vdev_id/vdev_id
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Usage: vdev_id [-h]
vdev_id <-d device> [-c config_file] [-p phys_per_port]
[-g sas_direct|sas_switch|scsi] [-m]

-c specify name of alernate config file [default=$CONFIG]
-c specify name of an alternative config file [default=$CONFIG]
-d specify basename of device (i.e. sda)
-e Create enclose device symlinks only (/dev/by-enclosure)
-g Storage network topology [default="$TOPOLOGY"]
Expand Down
2 changes: 1 addition & 1 deletion cmd/zdb/zdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -5391,7 +5391,7 @@ zdb_set_skip_mmp(char *target)
* the name of the target pool.
*
* Note that the checkpointed state's pool name will be the name of
* the original pool with the above suffix appened to it. In addition,
* the original pool with the above suffix appended to it. In addition,
* if the target is not a pool name (e.g. a path to a dataset) then
* the new_path parameter is populated with the updated path to
* reflect the fact that we are looking into the checkpointed state.
Expand Down
2 changes: 1 addition & 1 deletion cmd/zed/agents/fmd_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

/*
* This file imlements the minimal FMD module API required to support the
* This file implements the minimal FMD module API required to support the
* fault logic modules in ZED. This support includes module registration,
* memory allocation, module property accessors, basic case management,
* one-shot timers and SERD engines.
Expand Down
2 changes: 1 addition & 1 deletion cmd/zed/agents/fmd_serd.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ fmd_serd_eng_empty(fmd_serd_eng_t *sgp)
void
fmd_serd_eng_reset(fmd_serd_eng_t *sgp)
{
serd_log_msg(" SERD Engine: reseting %s", sgp->sg_name);
serd_log_msg(" SERD Engine: resetting %s", sgp->sg_name);

while (sgp->sg_count != 0)
fmd_serd_eng_discard(sgp, list_head(&sgp->sg_list));
Expand Down
6 changes: 3 additions & 3 deletions cmd/zed/agents/zfs_mod.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ zfs_unavail_pool(zpool_handle_t *zhp, void *data)
* 1. physical match with no fs, no partition
* tag it top, partition disk
*
* 2. physical match again, see partion and tag
* 2. physical match again, see partition and tag
*
*/

Expand Down Expand Up @@ -674,7 +674,7 @@ zfs_deliver_add(nvlist_t *nvl, boolean_t is_lofi)
devid, devpath ? devpath : "NULL", is_slice);

/*
* Iterate over all vdevs looking for a match in the folllowing order:
* Iterate over all vdevs looking for a match in the following order:
* 1. ZPOOL_CONFIG_DEVID (identifies the unique disk)
* 2. ZPOOL_CONFIG_PHYS_PATH (identifies disk physical location).
*
Expand Down Expand Up @@ -892,7 +892,7 @@ zfs_enum_pools(void *arg)
*
* sent messages from zevents or udev monitor
*
* For now, each agent has it's own libzfs instance
* For now, each agent has its own libzfs instance
*/
int
zfs_slm_init()
Expand Down
4 changes: 2 additions & 2 deletions cmd/zed/zed.d/statechange-led.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#
# Exit codes:
# 0: enclosure led successfully set
# 1: enclosure leds not not available
# 1: enclosure leds not available
# 2: enclosure leds administratively disabled
# 3: The led sysfs path passed from ZFS does not exist
# 4: $ZPOOL not set
Expand Down Expand Up @@ -68,7 +68,7 @@ check_and_set_led()
# timeout.
for _ in $(seq 1 5); do
# We want to check the current state first, since writing to the
# 'fault' entry always always causes a SES command, even if the
# 'fault' entry always causes a SES command, even if the
# current state is already what you want.
current=$(cat "${file}")

Expand Down
2 changes: 1 addition & 1 deletion cmd/zfs/zfs_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -8061,7 +8061,7 @@ zfs_do_change_key(int argc, char **argv)
* 4) zfs project [-p id] [-r] [-s] <file|directory ...>
* Set project ID and/or inherit flag on the file(s) or directories.
* -p: Set the project ID as the given id.
* -r: Set on subdirectorie recursively. If not specify "-p" option,
* -r: Set on subdirectories recursively. If not specify "-p" option,
* it will use top-level directory's project ID as the given id,
* then set both project ID and inherit flag on all descendants
* of the top-level directory.
Expand Down
4 changes: 2 additions & 2 deletions cmd/zinject/translate.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ object_from_path(const char *dataset, uint64_t object, zinject_record_t *record)
}

/*
* Intialize the range based on the type, level, and range given.
* Initialize the range based on the type, level, and range given.
*/
static int
initialize_range(err_type_t type, int level, char *range,
Expand Down Expand Up @@ -310,7 +310,7 @@ translate_record(err_type_t type, const char *object, const char *range,
ziprintf("raw object: %llu\n", record->zi_object);

/*
* For the given object, intialize the range in bytes
* For the given object, initialize the range in bytes
*/
if (initialize_range(type, level, (char *)range, record) != 0)
goto err;
Expand Down
4 changes: 2 additions & 2 deletions cmd/zpool/zpool_vdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ check_disk(const char *path, blkid_cache cache, int force,
}

/*
* Expected to fail for non-EFI labled disks. Just check the device
* Expected to fail for non-EFI labeled disks. Just check the device
* as given and do not attempt to detect and scan partitions.
*/
err = efi_alloc_and_read(fd, &vtoc);
Expand Down Expand Up @@ -1867,7 +1867,7 @@ make_root_vdev(zpool_handle_t *zhp, nvlist_t *props, int force, int check_rep,
}

/*
* Validate each device to make sure that its not shared with another
* Validate each device to make sure that it's not shared with another
* subsystem. We do this even if 'force' is set, because there are some
* uses (such as a dedicated dump device) that even '-f' cannot
* override.
Expand Down
2 changes: 1 addition & 1 deletion cmd/zstreamdump/zstreamdump.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ print_block(char *buf, int length)
}

/*
* Print an array of bytes to stdout as hexidecimal characters. str must
* Print an array of bytes to stdout as hexadecimal characters. str must
* have buf_len * 2 + 1 bytes of space.
*/
static void
Expand Down
2 changes: 1 addition & 1 deletion cmd/ztest/ztest.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
*
* To turn this into an overnight stress test, use -T to specify run time.
*
* You can ask more more vdevs [-v], datasets [-d], or threads [-t]
* You can ask more vdevs [-v], datasets [-d], or threads [-t]
* to increase the pool capacity, fanout, and overall stress level.
*
* Use the -k option to set the desired frequency of kills.
Expand Down
2 changes: 1 addition & 1 deletion config/ax_code_coverage.m4
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
# CODE_COVERAGE_LIBS is preferred for clarity; CODE_COVERAGE_LDFLAGS is
# deprecated. They have the same value.
#
# This code was derived from Makefile.decl in GLib, originally licenced
# This code was derived from Makefile.decl in GLib, originally licensed
# under LGPLv2.1+.
#
# LICENSE
Expand Down
2 changes: 1 addition & 1 deletion config/kernel-dentry-operations.m4
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ AC_DEFUN([ZFS_AC_KERNEL_D_SET_D_OP],
])

dnl #
dnl # 2.6.38 API chage
dnl # 2.6.38 API change
dnl # Added sb->s_d_op default dentry_operations member
dnl #
AC_DEFUN([ZFS_AC_KERNEL_S_D_OP],
Expand Down
Loading