diff options
| author | Chuck Lever <[email protected]> | 2024-09-13 18:08:13 +0000 |
|---|---|---|
| committer | Chuck Lever <[email protected]> | 2024-09-20 23:31:39 +0000 |
| commit | 4b132aacb0768ac1e652cf517097ea6f237214b9 (patch) | |
| tree | 74a112db399fec7cfe72202bc092e0eb29695ced /fs/ext4/fast_commit.c | |
| parent | nfsd: fix delegation_blocked() to block correctly for at least 30 seconds (diff) | |
| download | kernel-4b132aacb0768ac1e652cf517097ea6f237214b9.tar.gz kernel-4b132aacb0768ac1e652cf517097ea6f237214b9.zip | |
tools: Add xdrgen
Add a Python-based tool for translating XDR specifications into XDR
encoder and decoder functions written in the Linux kernel's C coding
style. The generator attempts to match the usual C coding style of
the Linux kernel's SunRPC consumers.
This approach is similar to the netlink code generator in
tools/net/ynl .
The maintainability benefits of machine-generated XDR code include:
- Stronger type checking
- Reduces the number of bugs introduced by human error
- Makes the XDR code easier to audit and analyze
- Enables rapid prototyping of new RPC-based protocols
- Hardens the layering between protocol logic and marshaling
- Makes it easier to add observability on demand
- Unit tests might be built for both the tool and (automatically)
for the generated code
In addition, converting the XDR layer to use memory-safe languages
such as Rust will be easier if much of the code can be converted
automatically.
Tested-by: Jeff Layton <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
Diffstat (limited to 'fs/ext4/fast_commit.c')
0 files changed, 0 insertions, 0 deletions
