[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180531165426.GA23414@kroah.com>
Date: Thu, 31 May 2018 18:54:26 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: James Simmons <jsimmons@...radead.org>
Cc: devel@...verdev.osuosl.org,
Andreas Dilger <andreas.dilger@...el.com>,
Oleg Drokin <oleg.drokin@...el.com>,
NeilBrown <neilb@...e.com>,
"John L. Hammond" <john.hammond@...el.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Lustre Development List <lustre-devel@...ts.lustre.org>
Subject: Re: [PATCH v2 6/6] staging: lustre: mdc: use large xattr buffers for
old servers
On Tue, May 29, 2018 at 10:21:45AM -0400, James Simmons wrote:
> From: "John L. Hammond" <john.hammond@...el.com>
>
> Pre 2.10.1 MDTs will crash when they receive a listxattr (MDS_GETXATTR
> with OBD_MD_FLXATTRLS) RPC for an orphan or dead object. So for
> clients connected to these older MDTs, try to avoid sending listxattr
> RPCs by making the bulk getxattr (MDS_GETXATTR with OBD_MD_FLXATTRALL)
> more likely to succeed and thereby reducing the chances of falling
> back to listxattr.
>
> Signed-off-by: John L. Hammond <john.hammond@...el.com>
> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-10912
> Reviewed-on: https://review.whamcloud.com/31990
> Reviewed-by: Andreas Dilger <andreas.dilger@...el.com>
> Reviewed-by: Fan Yong <fan.yong@...el.com>
> Reviewed-by: Oleg Drokin <oleg.drokin@...el.com>
> Signed-off-by: James Simmons <jsimmons@...radead.org>
> ---
> Changelog:
>
> v1) Initial patch
> v2) Rebased patch. No changes
>
> drivers/staging/lustre/lustre/mdc/mdc_locks.c | 31 +++++++++++++++++++++------
> 1 file changed, 24 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/lustre/lustre/mdc/mdc_locks.c b/drivers/staging/lustre/lustre/mdc/mdc_locks.c
> index a8aa0fa..b991c6f 100644
> --- a/drivers/staging/lustre/lustre/mdc/mdc_locks.c
> +++ b/drivers/staging/lustre/lustre/mdc/mdc_locks.c
> @@ -326,8 +326,10 @@ static void mdc_realloc_openmsg(struct ptlrpc_request *req,
> {
> struct ptlrpc_request *req;
> struct ldlm_intent *lit;
> + u32 min_buf_size = 0;
> int rc, count = 0;
> LIST_HEAD(cancels);
> + u32 buf_size = 0;
>
> req = ptlrpc_request_alloc(class_exp2cliimp(exp),
> &RQF_LDLM_INTENT_GETXATTR);
> @@ -344,18 +346,33 @@ static void mdc_realloc_openmsg(struct ptlrpc_request *req,
> lit = req_capsule_client_get(&req->rq_pill, &RMF_LDLM_INTENT);
> lit->opc = IT_GETXATTR;
>
> +#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(3, 0, 53, 0)
Why are you adding pointless version checks to mainline? Please don't
add new ones of these, you need to be working on removing the existing
ones.
thanks,
greg k-h
Powered by blists - more mailing lists