Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp1801126ybf; Sun, 1 Mar 2020 18:31:14 -0800 (PST) X-Google-Smtp-Source: ADFU+vsD/oX/4w/4fggmIrh30ZT/vS6lZagMv9Stt2Ix+SZBzK0q1uvpcgIpjEt/TfU5RNoszMDY X-Received: by 2002:a54:4181:: with SMTP id 1mr1957615oiy.158.1583116274356; Sun, 01 Mar 2020 18:31:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583116274; cv=none; d=google.com; s=arc-20160816; b=qX6F9B/O/Rduptpw0qgxDMy0zENC/Y62D8MC0NzaN49sBz+ruQxdg9qhMPSrOA8B13 JhEGGtMXVzwjt/2JLwx7y5T9nN5G3Jb1B5mAvl8njFNuF3TjKCddKcCzU6hIphtyxncG 4CYrzSuHXOucsLGoUsiyHCvd5L7lcXnvJMBEiuVXnhCAEif7T2+ZoY/Us8EwnsSSjWI7 mXLW3HmB9cZC2Pms8YpX1vIjkEdgA1p005S28OyXrxli+6ZdyBnfIXTf8Xdc//hphf8k vjM5KdHitiMwWrg6FogpUX21SqjJ6ZVoYuMomPVxctHJ2JAcpMpqazR01MFPLIYCHf4p e46g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=E5izDK+ngTpxKB1eZlc5Bj7076Z0jg6Dz5NVL5cyc4Q=; b=l72ruk5m1MuehNBTF10TEdVAMvF59tGEqEgOUSlFBVs2G/TvC2AZ54Nkk6aTKfZxOG 8dpXC3ZXsz9X+eewyxcniOM8IC3REaAP1yLbLu+lmkemVS5LGyplj9VWMVSEiH+j8rZ2 x10Jn6nFBUCFj1Oc3Orc/Ey9rOooX6SeSccTMDoVIbLj5WTkAMvBPAE4WJNWldac7GfT BiITO25SlYKdvF2ZqlqusFYt62PUl2ZuZzSLgVIjTZNTjUjcZ9LXJ8J3tpYAvrfUm9ZM +ksTzotMdxPihL8kgB+O+3/IYBIO8x9pVJw2tVGZdtyt3P8e5SnqGRn71p/m1t4zbcQg oAbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fd6faAnG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y186si5607844oig.241.2020.03.01.18.31.02; Sun, 01 Mar 2020 18:31:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fd6faAnG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726816AbgCBCaz (ORCPT + 99 others); Sun, 1 Mar 2020 21:30:55 -0500 Received: from mail-vs1-f67.google.com ([209.85.217.67]:40008 "EHLO mail-vs1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726673AbgCBCaz (ORCPT ); Sun, 1 Mar 2020 21:30:55 -0500 Received: by mail-vs1-f67.google.com with SMTP id c18so5560592vsq.7; Sun, 01 Mar 2020 18:30:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=E5izDK+ngTpxKB1eZlc5Bj7076Z0jg6Dz5NVL5cyc4Q=; b=fd6faAnGV6OhSlJ5ayDDMImjvxfA5IoSETnMfdzNVu2vkMjOmv39gAgWgYGAqAK4BT 9SA9Q8f8MBHxLF8aoXaNs4/Um40ycdponp+GL+31CmgpcnufX0BWYLdjMndwuRqieGd/ aXWSaEkLLSCJVMXQ2V7A3YkQEreI0zQo22a4fAQX3iRJ2bH3q2w+ndS5iKH156DrtAHJ lN75iqIJQzjWQkffEuO2leCN1+ZlsAQICJYDrtBrPH6/sRttjrj0ewdPgtlKBdyM/Y5A Ar96uIIycaOawKIUZ4E/JRPe5CgCOXQDIjZzIkHDyC70/Cl76GpnsjCwm0VYMphL9lAB FQsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=E5izDK+ngTpxKB1eZlc5Bj7076Z0jg6Dz5NVL5cyc4Q=; b=K1Ik7YMJOVMTIsMBtRrJ9fWLobgg8XDV8ozFDrnobz4VlyHRyetJm+lGOxPErcd+qy keQifAH9+FOW9P6aOoIxUDIW+NrTdAwpYNFXSW++vyWkPy9Tvp0HXbgS3nDsgufaqYm2 +RKRknR98gXt7ELmuTX1gFNXFff1yzbfvxpSprksQ9XfxfuU4G7CUWGpQap42hZOAkfj 3inw+/c81vhYitKm04CGzuIF2/gYTZRTz5yGJfmGDjvAjS4D+cev34UbjwpDkgYJx6Fa goka89AfPKHG+VDqZivSFP310Ml/0vO6SZrtlcL5KdWrHcmZQ/YW0TvK3sezyVYjlXCp 30tQ== X-Gm-Message-State: ANhLgQ0lF4JleezDTOMK+bTW8Kt5pRRpfinalu+Yn6aRct7i0dWAOe75 DKw+WjE9ASsWIG5KJJXJfaEPyD/VeO7700XnoqY= X-Received: by 2002:a05:6102:103:: with SMTP id z3mr8360212vsq.23.1583116253401; Sun, 01 Mar 2020 18:30:53 -0800 (PST) MIME-Version: 1.0 References: <20200228044518.20314-1-gmayyyha@gmail.com> In-Reply-To: From: Yanhu Cao Date: Mon, 2 Mar 2020 10:30:42 +0800 Message-ID: Subject: Re: [PATCH] ceph: using POOL FULL flag instead of OSDMAP FULL flag To: Ilya Dryomov Cc: Jeff Layton , Sage Weil , "David S. Miller" , kuba@kernel.org, Ceph Development , LKML , netdev Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 28, 2020 at 10:02 PM Ilya Dryomov wrote: > > On Fri, Feb 28, 2020 at 12:41 PM Yanhu Cao wrote: > > > > On Fri, Feb 28, 2020 at 6:23 PM Ilya Dryomov wrote: > > > > > > On Fri, Feb 28, 2020 at 5:45 AM Yanhu Cao wrote: > > > > > > > > OSDMAP_FULL and OSDMAP_NEARFULL are deprecated since mimic. > > > > > > > > Signed-off-by: Yanhu Cao > > > > --- > > > > fs/ceph/file.c | 6 ++++-- > > > > include/linux/ceph/osd_client.h | 2 ++ > > > > include/linux/ceph/osdmap.h | 3 ++- > > > > net/ceph/osd_client.c | 23 +++++++++++++---------- > > > > 4 files changed, 21 insertions(+), 13 deletions(-) > > > > > > > > diff --git a/fs/ceph/file.c b/fs/ceph/file.c > > > > index 7e0190b1f821..60ea1eed1b84 100644 > > > > --- a/fs/ceph/file.c > > > > +++ b/fs/ceph/file.c > > > > @@ -1482,7 +1482,8 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) > > > > } > > > > > > > > /* FIXME: not complete since it doesn't account for being at quota */ > > > > - if (ceph_osdmap_flag(&fsc->client->osdc, CEPH_OSDMAP_FULL)) { > > > > + if (pool_flag(&fsc->client->osdc, ci->i_layout.pool_id, > > > > + CEPH_POOL_FLAG_FULL)) { > > > > err = -ENOSPC; > > > > goto out; > > > > } > > > > @@ -1575,7 +1576,8 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) > > > > } > > > > > > > > if (written >= 0) { > > > > - if (ceph_osdmap_flag(&fsc->client->osdc, CEPH_OSDMAP_NEARFULL)) > > > > + if (pool_flag(&fsc->client->osdc, ci->i_layout.pool_id, > > > > + CEPH_POOL_FLAG_NEARFULL)) > > > > > > Hi Yanhu, > > > > > > Have you considered pre-mimic clusters here? They are still supported > > > (and will continue to be supported for the foreseeable future). > > > > > > Thanks, > > > > > > Ilya > > > > I have tested it work on Luminous, I think it work too since > > ceph-v0.80(https://github.com/ceph/ceph/blob/b78644e7dee100e48dfeca32c9270a6b210d3003/src/osd/osd_types.h#L815) > > alread have pool FLAG_FULL. > > But not FLAG_NEARFULL, which appeared in mimic. FLAG_NEARFULL appeared in Luminous. > > > > > CephFS doesn't write synchronously even if CEPH_OSDMAP_NEARFULL is > > used, then should fixed by CEPH_POOL_FLAG_NEARFULL. > > I'm not sure I follow. > > - if (ceph_osdmap_flag(&fsc->client->osdc, CEPH_OSDMAP_NEARFULL)) > + if (pool_flag(&fsc->client->osdc, ci->i_layout.pool_id, > + CEPH_POOL_FLAG_NEARFULL)) > > AFAICT this change would effectively disable this branch for pre-mimic > clusters. Are you saying this branch is already broken? > > Thanks, > > Ilya CEPH_OSDMAP_NEARFULL is not set in Jewel, so it has no effect. And in Luminous version, this flag is cleared as a legacy and has no effect too.