diff --git a/CHANGES b/CHANGES
index e974dc58..16da2863 100644
--- a/CHANGES
+++ b/CHANGES
@@ -85,7 +85,7 @@ btrfs-progs-5.6 (2020-04-05)
   * fixes:
     * restore: proper mirror iteration on decompression error
     * restore: make symlink messages less noisy
-    * check: handle holes at the begining or end of file
+    * check: handle holes at the beginning or end of file
     * fix xxhash output on big endian machines
     * receive: fix lookup of subvolume by uuid in case it was already
       received before
diff --git a/Documentation/btrfs-balance.asciidoc b/Documentation/btrfs-balance.asciidoc
index d94719a0..7ba88671 100644
--- a/Documentation/btrfs-balance.asciidoc
+++ b/Documentation/btrfs-balance.asciidoc
@@ -37,7 +37,7 @@ The filters can be used to perform following actions:
 
 The filters can be applied to a combination of block group types (data,
 metadata, system). Note that changing only the 'system' type needs the force
-option. Otherwise 'system' gets automatically converted whenver 'metadata'
+option. Otherwise 'system' gets automatically converted whenever 'metadata'
 profile is converted.
 
 When metadata redundancy is reduced (eg. from RAID1 to single) the force option
diff --git a/Documentation/btrfs-man5.asciidoc b/Documentation/btrfs-man5.asciidoc
index 65352009..9016f400 100644
--- a/Documentation/btrfs-man5.asciidoc
+++ b/Documentation/btrfs-man5.asciidoc
@@ -34,7 +34,7 @@ per-subvolume 'nodatacow', 'nodatasum', or 'compress' using mount options. This
 should eventually be fixed, but it has proved to be difficult to implement
 correctly within the Linux VFS framework.
 
-Mount options are processed in order, only the last occurence of an option
+Mount options are processed in order, only the last occurrence of an option
 takes effect and may disable other options due to constraints (see eg.
 'nodatacow' and 'compress'). The output of 'mount' command shows which options
 have been applied.
@@ -868,7 +868,7 @@ refers to what `xfs_io`(8) provides:
 'append only', same as the attribute
 
 *s*::
-'synchronous updates', same as the atribute 'S'
+'synchronous updates', same as the attribute 'S'
 
 *A*::
 'no atime updates', same as the attribute
diff --git a/INSTALL b/INSTALL
index 470ceebd..e2b6c7c3 100644
--- a/INSTALL
+++ b/INSTALL
@@ -14,7 +14,7 @@ For the btrfs-convert utility:
 - e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
 - libreiserfscore - reiserfs file system library version >= 3.6.27
 
-Optionally, the checksums based on cryptographic hashes can be implemeted by
+Optionally, the checksums based on cryptographic hashes can be implemented by
 external libraries. Builtin implementations are provided in case the library
 dependencies are not desired.
 
diff --git a/README.md b/README.md
index 5d8e9b55..79421fd4 100644
--- a/README.md
+++ b/README.md
@@ -84,7 +84,7 @@ the patches meet some criteria (often lacking in github contributions):
 
 Source code coding style and preferences follow the
 [kernel coding style](https://www.kernel.org/doc/html/latest/process/coding-style.html).
-You can find the editor settins in `.editorconfig` and use the
+You can find the editor settings in `.editorconfig` and use the
 [EditorConfig](https://editorconfig.org/) plugin to let your editor use that,
 or update your editor settings manually.
 
diff --git a/cmds/filesystem-usage.c b/cmds/filesystem-usage.c
index ab60d769..717d436b 100644
--- a/cmds/filesystem-usage.c
+++ b/cmds/filesystem-usage.c
@@ -370,7 +370,7 @@ static void get_raid56_space_info(struct btrfs_ioctl_space_args *sargs,
 			*max_data_ratio = rt;
 
 		/*
-		 * size is the total disk(s) space occuped by a chunk
+		 * size is the total disk(s) space occupied by a chunk
 		 * the product of 'size' and  '*_ratio' is "in average"
 		 * the disk(s) space used by the data
 		 */
diff --git a/crypto/hash-speedtest.c b/crypto/hash-speedtest.c
index 09d309d2..132ca3aa 100644
--- a/crypto/hash-speedtest.c
+++ b/crypto/hash-speedtest.c
@@ -75,9 +75,9 @@ int main(int argc, char **argv) {
 	crc32c_optimization_init();
 	memset(buf, 0, 4096);
 
-	printf("Block size:    %d\n", blocksize);
-	printf("Iterations:    %d\n", iterations);
-	printf("Implementaion: %s\n", CRYPTOPROVIDER);
+	printf("Block size:     %d\n", blocksize);
+	printf("Iterations:     %d\n", iterations);
+	printf("Implementation: %s\n", CRYPTOPROVIDER);
 	printf("\n");
 
 	for (idx = 0; idx < ARRAY_SIZE(contestants); idx++) {
diff --git a/kernel-lib/radix-tree.c b/kernel-lib/radix-tree.c
index 4649f871..f2ade1b0 100644
--- a/kernel-lib/radix-tree.c
+++ b/kernel-lib/radix-tree.c
@@ -506,7 +506,7 @@ int radix_tree_tag_get(struct radix_tree_root *root,
 		offset = (index >> shift) & RADIX_TREE_MAP_MASK;
 
 		/*
-		 * This is just a debug check.  Later, we can bale as soon as
+		 * This is just a debug check.  Later, we can bail as soon as
 		 * we see an unset tag.
 		 */
 		if (!tag_get(slot, tag, offset))
diff --git a/m4/ax_gcc_version.m4 b/m4/ax_gcc_version.m4
index 63914d55..ab100265 100644
--- a/m4/ax_gcc_version.m4
+++ b/m4/ax_gcc_version.m4
@@ -1,5 +1,5 @@
 dnl @synopsis AX_GCC_VERSION(MAJOR, MINOR, PATCHLEVEL, [ACTION-SUCCESS], [ACTION-FAILURE])
-dnl @summary check wither gcc is at least version MAJOR.MINOR.PATCHLEVEL
+dnl @summary check whether gcc is at least version MAJOR.MINOR.PATCHLEVEL
 dnl @category InstalledPackages
 dnl
 dnl Check whether we are using gcc and, if so, whether its version
diff --git a/tests/README.md b/tests/README.md
index 616bf3e4..7b86716c 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -404,7 +404,7 @@ that file or other tests to get the idea how easy writing a test really is.
     `tests/mkfs-tests-results.txt`), and not printed to the terminal
   * `_log_stdout` - dtto but it is printed to the terminal
 * execution helpers
-  * `run_check` - should be used for basically all commadns, the command and arguments
+  * `run_check` - should be used for basically all commands, the command and arguments
   are stored to the results log for debugging and the return value is checked so there
   are no silent failures even for the "unimportant" commands
   * `run_check_stdout` - like the above but the output can be processed further, eg. filtering
