btrfs-progs/Documentation
Qu Wenruo 6abbad4d1b btrfs-progs: docs: enhance the error handling guidelines
Currently we only have a very brief explanation on the unexpected error
handling (only ASSERT()/WARN_ON()/BUG_ON()), and no further
recommendation on the proper usage of them.

This patch would improve the guideline by:

- Add btrfs_abort_transaction() usage
  Which is the recommended way when possible.

- More detailed explanation on the usage of ASSERT()
  Which is only a fail-fast option mostly designed for developers, thus
  is only recommended to rule out some invalid function usage.

- More detailed explanation on the usage of WARN_ON()
  Mostly for call sites which need a call trace strongly, and is not
  applicable for a btrfs_abort_transaction() call.

- Completely discourage the usage of BUG_ON()

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-08-28 17:24:24 +02:00
..
_static btrfs-progs: docs: updates, formatting, status page 2023-06-01 20:49:17 +02:00
_templates btrfs-progs: docs: update template, more about subvolumes 2022-01-11 15:46:33 +01:00
dev btrfs-progs: docs: enhance the error handling guidelines 2023-08-28 17:24:24 +02:00
Administration.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Auto-repair.rst btrfs-progs: docs: updates, clarifications 2022-12-14 02:56:16 +01:00
Balance.rst btrfs-progs: docs: add balance filter examples 2023-06-09 12:44:03 +02:00
btrfs-balance.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-check.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-convert.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-device.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-filesystem.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-find-root.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-image.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-inspect-internal.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-ioctl.rst btrfs-progs: docs: updates, formatting, status page 2023-06-01 20:49:17 +02:00
btrfs-man5.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-map-logical.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-property.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-qgroup.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-quota.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-receive.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-replace.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-rescue.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-restore.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-scrub.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-select-super.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-send.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs-subvolume.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfs.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
btrfsck.8
btrfstune.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-balance-examples.rst btrfs-progs: docs: add balance filter examples 2023-06-09 12:44:03 +02:00
ch-balance-filters.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-balance-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-bootloaders.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
ch-checksumming.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-compression.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-convert-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-file-attributes.rst btrfs-progs: docs: add cross reference for manualpages 2022-10-11 09:08:08 +02:00
ch-flexibility.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
ch-fs-limits.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
ch-hardware-considerations.rst btrfs-progs: docs: typo fixups and formatting updates 2022-12-22 18:44:47 +01:00
ch-mount-options.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-quota-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-scrub-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-seeding-device.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-subvolume-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-swapfile.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-sysfs.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
ch-volume-management-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ch-zoned-intro.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
CHANGES.rst btrfs-progs: docs: distinguish Changes title 2022-08-16 15:18:10 +02:00
Checksumming.rst btrfs-progs: docs: add more chapters 2021-12-17 11:53:44 +01:00
CmdLineConventions btrfs-progs: docs: fix typos 2022-12-07 21:00:25 +01:00
CodingConventions
Common-features.rst btrfs-progs: docs: updates, formatting, status page 2023-06-01 20:49:17 +02:00
Compression.rst btrfs-progs: docs: add more chapters 2021-12-17 11:53:44 +01:00
conf.py btrfs-progs: docs: drop copyright year from manual pages 2023-01-25 16:19:51 +01:00
Contributors.rst btrfs-progs: docs: update 6.4 kernel development stats 2023-06-26 23:09:47 +02:00
Convert.rst btrfs-progs: docs: add more chapters (part 2) 2021-12-17 11:53:44 +01:00
Custom-ioctls.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Deduplication.rst btrfs-progs: docs: typo fixups and formatting updates 2022-12-22 18:44:47 +01:00
Defragmentation.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
DocConventions.rst btrfs-progs: docs: update doc style and conventions 2023-07-27 14:45:29 +02:00
Feature-by-version.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
fsck.btrfs.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Glossary.rst btrfs-progs: docs: use command role for programs or command lines 2023-04-27 01:48:47 +02:00
Hardware.rst btrfs-progs: docs: separate chapter for hardware considerations 2022-05-17 21:12:19 +02:00
index.rst btrfs-progs: docs: add developer docs for internal APIs 2023-08-28 17:24:24 +02:00
Inline-files.rst btrfs-progs: docs: use command role for programs or command lines 2023-04-27 01:48:47 +02:00
INSTALL.rst btrfs-progs: docs: link INSTALL to docs 2022-05-12 13:56:03 +02:00
Interoperability.rst btrfs-progs: docs: updates, formatting, status page 2023-06-01 20:49:17 +02:00
Introduction.rst btrfs-progs: docs: typo/clarity fix in Introduction 2023-04-25 16:59:42 +02:00
Kernel-by-version.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
Makefile.in btrfs-progs: docs: convert btrfs-ioctl.asciidoc to RST 2022-05-18 13:28:35 +02:00
man-index.rst btrfs-progs: docs: drop indices from pages 2021-11-26 00:48:24 +01:00
mkfs.btrfs.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Qgroups.rst btrfs-progs: docs: add more chapters (part 2) 2021-12-17 11:53:44 +01:00
Quick-start.rst btrfs-progs: docs: add more of the new doc structure 2021-11-30 16:00:48 +01:00
Reflink.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
ReleaseChecklist btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Resize.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Scrub.rst btrfs-progs: docs: add more chapters (part 2) 2021-12-17 11:53:44 +01:00
Seeding-device.rst btrfs-progs: docs: add more chapters 2021-12-17 11:53:44 +01:00
Send-receive.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Source-repositories.rst btrfs-progs: docs: fixups, references 2023-06-01 20:50:04 +02:00
Status.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
Subpage.rst btrfs-progs: docs: updates, formatting, status page 2023-06-01 20:49:17 +02:00
Subvolumes.rst btrfs-progs: docs: add more chapters (part 3) 2021-12-17 15:35:10 +01:00
Swapfile.rst btrfs-progs: docs: swapfile and hibernation 2022-12-06 23:19:12 +01:00
Tree-checker.rst btrfs-progs: docs: fix typos 2022-12-07 21:00:25 +01:00
Trim.rst btrfs-progs: docs: formatting updates 2023-07-26 14:59:10 +02:00
trouble-index.rst btrfs-progs: docs: use command role for programs or command lines 2023-04-27 01:48:47 +02:00
Volume-management.rst btrfs-progs: docs: add more chapters (part 3) 2021-12-17 15:35:10 +01:00
Zoned-mode.rst btrfs-progs: docs: add more chapters (part 3) 2021-12-17 15:35:10 +01:00