struct rbd_device *rbd_dev;
 
                rbd_dev = obj_request->img_request->rbd_dev;
-               rbd_warn(rbd_dev, "obj_request %p already marked img_data\n",
+               rbd_warn(rbd_dev, "obj_request %p already marked img_data",
                        obj_request);
        }
 }
 
                if (obj_request_img_data_test(obj_request))
                        rbd_dev = obj_request->img_request->rbd_dev;
-               rbd_warn(rbd_dev, "obj_request %p already marked done\n",
+               rbd_warn(rbd_dev, "obj_request %p already marked done",
                        obj_request);
        }
 }
                rbd_osd_trivial_callback(obj_request);
                break;
        default:
-               rbd_warn(NULL, "%s: unsupported op %hu\n",
+               rbd_warn(NULL, "%s: unsupported op %hu",
                        obj_request->object_name, (unsigned short) opcode);
                break;
        }
        if (!counter)
                rbd_dev_unparent(rbd_dev);
        else
-               rbd_warn(rbd_dev, "parent reference underflow\n");
+               rbd_warn(rbd_dev, "parent reference underflow");
 }
 
 /*
        /* Image was flattened, but parent is not yet torn down */
 
        if (counter < 0)
-               rbd_warn(rbd_dev, "parent reference overflow\n");
+               rbd_warn(rbd_dev, "parent reference overflow");
 
        return false;
 }
        if (result) {
                struct rbd_device *rbd_dev = img_request->rbd_dev;
 
-               rbd_warn(rbd_dev, "%s %llx at %llx (%llx)\n",
+               rbd_warn(rbd_dev, "%s %llx at %llx (%llx)",
                        img_request_write_test(img_request) ? "write" : "read",
                        obj_request->length, obj_request->img_offset,
                        obj_request->offset);
-               rbd_warn(rbd_dev, "  result %d xferred %x\n",
+               rbd_warn(rbd_dev, "  result %d xferred %x",
                        result, xferred);
                if (!img_request->result)
                        img_request->result = result;
         */
        ret = rbd_dev_refresh(rbd_dev);
        if (ret)
-               rbd_warn(rbd_dev, "refresh failed: %d\n", ret);
+               rbd_warn(rbd_dev, "refresh failed: %d", ret);
 
        ret = rbd_obj_notify_ack_sync(rbd_dev, notify_id);
        if (ret)
-               rbd_warn(rbd_dev, "notify_ack ret %d\n", ret);
+               rbd_warn(rbd_dev, "notify_ack ret %d", ret);
 }
 
 /*
 
        ret = -EIO;
        if (pool_id > (u64)U32_MAX) {
-               rbd_warn(NULL, "parent pool id too large (%llu > %u)\n",
+               rbd_warn(NULL, "parent pool id too large (%llu > %u)",
                        (unsigned long long)pool_id, U32_MAX);
                goto out_err;
        }
                         * overlap is zero we just pretend there was
                         * no parent image.
                         */
-                       rbd_warn(rbd_dev, "ignoring parent of "
-                                               "clone with overlap 0\n");
+                       rbd_warn(rbd_dev, "ignoring parent with overlap 0");
                }
        }
 out:
        /* The ceph file layout needs to fit pool id in 32 bits */
 
        if (spec->pool_id > (u64)U32_MAX) {
-               rbd_warn(NULL, "pool id too large (%llu > %u)\n",
+               rbd_warn(NULL, "pool id too large (%llu > %u)",
                                (unsigned long long)spec->pool_id, U32_MAX);
                rc = -EIO;
                goto err_out_client;