]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/ceph/osd_client.c
libceph: don't warn if req->r_abort_on_full is set
[linux.git] / net / ceph / osd_client.c
index be274ab43d013a247870f70b6164fff9eb8840b3..34b5334548c30f680028fe64be41af22f94322aa 100644 (file)
@@ -2239,11 +2239,13 @@ static void __submit_request(struct ceph_osd_request *req, bool wrlocked)
                   (ceph_osdmap_flag(osdc, CEPH_OSDMAP_FULL) ||
                    pool_full(osdc, req->r_t.base_oloc.pool))) {
                dout("req %p full/pool_full\n", req);
-               pr_warn_ratelimited("FULL or reached pool quota\n");
-               req->r_t.paused = true;
-               maybe_request_map(osdc);
-               if (req->r_abort_on_full)
+               if (req->r_abort_on_full) {
                        err = -ENOSPC;
+               } else {
+                       pr_warn_ratelimited("FULL or reached pool quota\n");
+                       req->r_t.paused = true;
+                       maybe_request_map(osdc);
+               }
        } else if (!osd_homeless(osd)) {
                need_send = true;
        } else {