Skip to content

Commit

Permalink
rbd: recognize rxbounce map option
Browse files Browse the repository at this point in the history
Fixes: https://tracker.ceph.com/issues/54063
Signed-off-by: Ilya Dryomov <[email protected]>
  • Loading branch information
idryomov committed Feb 4, 2022
1 parent 29e1fc1 commit 8d2a456
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
9 changes: 9 additions & 0 deletions doc/man/8/rbd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -904,6 +904,15 @@ Per mapping (block device) `rbd device map` options:
mode (since 5.11). If the daemon denies 'secure' mode in favor of 'crc'
mode, agree to 'crc' mode.

* rxbounce - Use a bounce buffer when receiving data (since 5.17). The default
behaviour is to read directly into the destination buffer. A bounce buffer
is needed if the destination buffer isn't guaranteed to be stable (i.e. remain
unchanged while it is being read to). In particular this is the case for
Windows where a system-wide "dummy" (throwaway) page may be mapped into the
destination buffer in order to generate a single large I/O. Otherwise,
"libceph: ... bad crc/signature" or "libceph: ... integrity error, bad crc"
errors and associated performance degradation are expected.

* udev - Wait for udev device manager to finish executing all matching
"add" rules and release the device before exiting (default). This option
is not passed to the kernel.
Expand Down
2 changes: 2 additions & 0 deletions src/tools/rbd/action/Kernel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,8 @@ static int parse_map_options(const std::string &options_string,
if (put_map_option_value("ms_mode", value_char, map_option_ms_mode_cb,
map_options))
return -EINVAL;
} else if (!strcmp(this_char, "rxbounce")) {
put_map_option("rxbounce", this_char, map_options);
} else if (!strcmp(this_char, "udev") || !strcmp(this_char, "noudev")) {
put_map_option("udev", this_char, map_options);
} else {
Expand Down

0 comments on commit 8d2a456

Please sign in to comment.