From: Dongsheng Yang Date: Wed, 19 Dec 2018 08:16:35 +0000 (-0500) Subject: rbd: introduce abort_on_full option for rbd map X-Git-Tag: v14.1.0~422^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5639a8b187beb73413fdf49ea6973eb4df288900;p=ceph.git rbd: introduce abort_on_full option for rbd map Signed-off-by: Dongsheng Yang --- diff --git a/doc/man/8/rbd.rst b/doc/man/8/rbd.rst index e1a1e7286406..b8fd324804c9 100644 --- a/doc/man/8/rbd.rst +++ b/doc/man/8/rbd.rst @@ -747,6 +747,10 @@ Per mapping (block device) `rbd device map` options: requests will fail with -EOPNOTSUPP, write zeroes requests will fall back to manually zeroing. +* abort_on_full - Fail write requests with -ENOSPC when the cluster is full or + the data pool reaches its quota (since 5.0). The default behaviour is to + block until the full condition is cleared. + `rbd device unmap` options: * force - Force the unmapping of a block device that is open (since 4.9). The diff --git a/src/tools/rbd/action/Kernel.cc b/src/tools/rbd/action/Kernel.cc index 2695fb16f3cb..f3e18f96a203 100644 --- a/src/tools/rbd/action/Kernel.cc +++ b/src/tools/rbd/action/Kernel.cc @@ -148,6 +148,8 @@ static int parse_map_options(const std::string &options_string) put_map_option("exclusive", this_char); } else if (!strcmp(this_char, "notrim")) { put_map_option("notrim", this_char); + } else if (!strcmp(this_char, "abort_on_full")) { + put_map_option("abort_on_full", this_char); } else { std::cerr << "rbd: unknown map option '" << this_char << "'" << std::endl; return -EINVAL;