Received: by 10.223.185.116 with SMTP id b49csp588771wrg; Sat, 10 Feb 2018 14:15:31 -0800 (PST) X-Google-Smtp-Source: AH8x227YQ4rSbsMTWtz4L0gotlUOllUiRL5fwoIyrQYNsBAU94S0hEQTRWBnN3tUIBWxmZHL0XRs X-Received: by 10.98.212.6 with SMTP id a6mr6563198pfh.104.1518300930971; Sat, 10 Feb 2018 14:15:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518300930; cv=none; d=google.com; s=arc-20160816; b=bVnWLmYmlmDOrcO5+BU4BkP4W8ciO1JmtWc8V8071Amim3z4psOl/WmmGVmw5fuGHa t2zoM5ifvsG7z9wkjSNpGKy1LF+l1rstPkWpuhe0gvOHqhcz5NgR6jgs6Z3SLeWFgZ+b 2mtiKfu96tQFV1IORsQGeI/G1GigkUTAAKgyQd9PVtVd1TUvU8osE1m87bVAd4MjtYNr rHD0Gjky+6wCWFWpoRnSKjz9M9F0paBxsmMpXg0Mc02lFw9Tz9Ms15CBMv99QfkcsI+M jBnR8QHARgVWcDIELt28F+8IqY5x9xJr4Wa2Uk/ateyulMqs7eUi/olUqmn/bwTNakgV HvdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=4vHK9GZlJuMkOhUTRAitfaViKLocL6rh6ylS5BFr+X4=; b=zMWRY0go8ofJWAnTMOneEkONOAYX1NwCrTD+loYyGOwWawXX8gtNizrlOzLggONkft dhe0ypC6rdSikX9hEtYKClvMmrpU1xrsP+7uzaE3DMDuqcVATI831xbNQoyKmrJZQu7F wr6ElSDOnUMepLvAQWuQwZgvhmvv+F/c4k79g2ow1c2gw0+wnpvqqchSoubR4OFH0Dya dJhSf/Mh5CFxD0xR9j7UOb5rVfAYZRdifYMykwHTkRrdLfDJMJvF0FuwnRCh3luOKW9n 3DAD7DuhN23d9l9L8u2KWItV8k6qYTbNlFzazZ5V4RKhE3QCKuKZdJZdiK+NYKA9fl4Q CfRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=FFtuk3qQ; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s4-v6si3619611plj.626.2018.02.10.14.15.15; Sat, 10 Feb 2018 14:15:30 -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=fail header.i=@infradead.org header.s=casper.20170209 header.b=FFtuk3qQ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752879AbeBJWOf (ORCPT + 99 others); Sat, 10 Feb 2018 17:14:35 -0500 Received: from casper.infradead.org ([85.118.1.10]:42826 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752513AbeBJWOd (ORCPT ); Sat, 10 Feb 2018 17:14:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:MIME-Version:References: Message-ID:In-Reply-To:Subject:cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=4vHK9GZlJuMkOhUTRAitfaViKLocL6rh6ylS5BFr+X4=; b=FFtuk3qQPEvwdUqWo6M5Yl/RU 84DqkRRmsWrQukip706UrlwWRtOy51Vihj8Kse7bt6XUeFuqgJ7JaZGdNI2PukJSVoYf54Ap9zF4a O7N98Grso9f8E8I3Zc45pfmYa1I/8xEAnBVJms2Rtw3ddrH4ZGsc/HtwrYtp3Nmff/Ae8BTGxyQS5 fVMyfgX7Ii91gC0NWOsi/eeY+Hzs5/nCm3AnqrN174lBm9kBprkdrHP0UcpkChNQe9d/jSfOcOvw/ FoIPPF6SlIoZpXvCKypnBB8xTA9opLXF5GZbt/HCnU/31n4L8jSBDX2Y69/rEHdBX35rhD1IFCmlm klqrcrokg==; Received: from jsimmons (helo=localhost) by casper.infradead.org with local-esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1ekdPX-0000qd-SI; Sat, 10 Feb 2018 22:14:21 +0000 Date: Sat, 10 Feb 2018 22:14:19 +0000 (GMT) From: James Simmons To: NeilBrown cc: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andreas Dilger , Oleg Drokin , Linux Kernel Mailing List , Lustre Development List , wang di Subject: Re: [PATCH 41/80] staging: lustre: lmv: separate master object with master stripe In-Reply-To: <87r2pvkkl5.fsf@notabene.neil.brown.name> Message-ID: References: <1471378773-24590-1-git-send-email-jsimmons@infradead.org> <1471378773-24590-42-git-send-email-jsimmons@infradead.org> <87r2pvkkl5.fsf@notabene.neil.brown.name> User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180210_221419_917863_32576BAC X-CRM114-Status: GOOD ( 44.88 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-1.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 NO_RELAYS Informational: message was not relayed via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > +static inline bool > > +lsm_md_eq(const struct lmv_stripe_md *lsm1, const struct lmv_stripe_md *lsm2) > > +{ > > + int idx; > > + > > + if (lsm1->lsm_md_magic != lsm2->lsm_md_magic || > > + lsm1->lsm_md_stripe_count != lsm2->lsm_md_stripe_count || > > + lsm1->lsm_md_master_mdt_index != lsm2->lsm_md_master_mdt_index || > > + lsm1->lsm_md_hash_type != lsm2->lsm_md_hash_type || > > + lsm1->lsm_md_layout_version != lsm2->lsm_md_layout_version || > > + !strcmp(lsm1->lsm_md_pool_name, lsm2->lsm_md_pool_name)) > > + return false; > > Hi James and all, > This patch (8f18c8a48b736c2f in linux) is different from the > corresponding patch in lustre-release (60e07b972114df). > > In that patch, the last clause in the 'if' condition is > > + strcmp(lsm1->lsm_md_pool_name, > + lsm2->lsm_md_pool_name) != 0) > > Whoever converted it to "!strcmp()" inverted the condition. This is a > perfect example of why I absolutely *loathe* the "!strcmp()" construct!! > > This causes many tests in the 'sanity' test suite to return > -ENOMEM (that had me puzzled for a while!!). > This seems to suggest that no-one has been testing the mainline linux > lustre. > It also seems to suggest that there is a good chance that there > are other bugs that have crept in while no-one has really been caring. > Given that the sanity test suite doesn't complete for me, but just > hangs (in test_27z I think), that seems particularly likely. > > > So my real question - to anyone interested in lustre for mainline linux > - is: can we actually trust this code at all? > I'm seriously tempted to suggest that we just > rm -r drivers/staging/lustre > > drivers/staging is great for letting the community work on code that has > been "thrown over the wall" and is not openly developed elsewhere, but > that is not the case for lustre. lustre has (or seems to have) an open > development process. Having on-going development happen both there and > in drivers/staging seems a waste of resources. > > Might it make sense to instead start cleaning up the code in > lustre-release so as to make it meet the upstream kernel standards. > Then when the time is right, the kernel code can be moved *out* of > lustre-release and *in* to linux. Then development can continue in > Linux (just like it does with other Linux filesystems). > > An added bonus of this is that there is an obvious path to getting > server support in mainline Linux. The current situation of client-only > support seems weird given how interdependent the two are. > > What do others think? Is there any chance that the current lustre in > Linux will ever be more than a poor second-cousin to the external > lustre-release. If there isn't, should we just discard it now and move > on? If you think that the OpenSFS/Intel branch (lustre-release) is the land of milk and honey you are very wrong. Take for example the UAPI header cleanup I push to the linux client several months ago. That work took 5 years to complete. I had to complete that work in the Intel branch since it impacted our tools. This isn't the only example. I worked along side Intel for increasing striping of a file to more then the 160 stripe limit Lustre use to have. That work took 3 years to complete. If the patch is more than one line it will normally take 1 to 2 months to land. It is common to have patches 6 months or more in age. This is one of the major reasons I'm involved in the upstream client work. If lustre remains a tiny under manned community it is doomed to remain a niche file system. For years I have tried to recruit new developers to help out and even gave talks at lustre conferences on internals. That effort was meet with little success. This is not the case with the linux lustre client. We do have people contributing including you. So the reality is that if we removed the lustre client it would be at least 3+ years before the code would be ready to merged back in. It would be another 3+ years before it left staging. Many cleanups in the linux client which impact many lines of code have not been ported to the Intel branch. It would take forever to get those in. Honestly I gave up some time ago for those types of cleanups. The cleanups done in the upstream client would have to be redone. What we really need is to expand the community. Recently a lot of work has gone into supporting Ubuntu for our utilities. I hope this helps to get Canonical involved with the upstream lustre client. The upstream client is not as bad as you think. A year ago no one in their right mind would touch the upstream client but their are actually sites using it today. Its not perfect but it is usable and it is improving all the time. Yes we have quite a few bugs to squash that show up in our test suite but the barrier to leaving staging is much much smaller than it used to be. Once the number of bugs reported in test suite becomes reasonable we can start auto testing patches posted here. The ultimate goal is that as more people join in the linux client effort and it becomes a full member of the broader linux open source community that we can leave the Intel lustre-release branch in the dust. I believe the future is much closer than you think.