~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/filesystems/bcachefs/errorcodes.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/filesystems/bcachefs/errorcodes.rst (Architecture m68k) and /Documentation/filesystems/bcachefs/errorcodes.rst (Architecture alpha)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 bcachefs private error codes                        3 bcachefs private error codes
  4 ----------------------------                        4 ----------------------------
  5                                                     5 
  6 In bcachefs, as a hard rule we do not throw or      6 In bcachefs, as a hard rule we do not throw or directly use standard error
  7 codes (-EINVAL, -EBUSY, etc.). Instead, we def      7 codes (-EINVAL, -EBUSY, etc.). Instead, we define private error codes as needed
  8 in fs/bcachefs/errcode.h.                           8 in fs/bcachefs/errcode.h.
  9                                                     9 
 10 This gives us much better error messages and m     10 This gives us much better error messages and makes debugging much easier. Any
 11 direct uses of standard error codes you see in     11 direct uses of standard error codes you see in the source code are simply old
 12 code that has yet to be converted - feel free      12 code that has yet to be converted - feel free to clean it up!
 13                                                    13 
 14 Private error codes may subtype another error      14 Private error codes may subtype another error code, this allows for grouping of
 15 related errors that should be handled similarl     15 related errors that should be handled similarly (e.g. transaction restart
 16 errors), as well as specifying which standard      16 errors), as well as specifying which standard error code should be returned at
 17 the bcachefs module boundary.                      17 the bcachefs module boundary.
 18                                                    18 
 19 At the module boundary, we use bch2_err_class(     19 At the module boundary, we use bch2_err_class() to convert to a standard error
 20 code; this also emits a trace event so that th     20 code; this also emits a trace event so that the original error code be
 21 recovered even if it wasn't logged.                21 recovered even if it wasn't logged.
 22                                                    22 
 23 Do not reuse error codes! Generally speaking,      23 Do not reuse error codes! Generally speaking, a private error code should only
 24 be thrown in one place. That means that when w     24 be thrown in one place. That means that when we see it in a log message we can
 25 see, unambiguously, exactly which file and lin     25 see, unambiguously, exactly which file and line number it was returned from.
 26                                                    26 
 27 Try to give error codes names that are as reas     27 Try to give error codes names that are as reasonably descriptive of the error
 28 as possible. Frequently, the error will be log     28 as possible. Frequently, the error will be logged at a place far removed from
 29 where the error was generated; good names for      29 where the error was generated; good names for error codes mean much more
 30 descriptive and useful error messages.             30 descriptive and useful error messages.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php