From patchwork Thu Sep 20 20:12:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anna Schumaker X-Patchwork-Id: 10608701 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 779DF14BD for ; Thu, 20 Sep 2018 20:12:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6AF002E0E0 for ; Thu, 20 Sep 2018 20:12:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5D8F52E0F6; Thu, 20 Sep 2018 20:12:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C3E562E0E0 for ; Thu, 20 Sep 2018 20:12:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727229AbeIUB51 (ORCPT ); Thu, 20 Sep 2018 21:57:27 -0400 Received: from mail-io1-f67.google.com ([209.85.166.67]:41678 "EHLO mail-io1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726128AbeIUB51 (ORCPT ); Thu, 20 Sep 2018 21:57:27 -0400 Received: by mail-io1-f67.google.com with SMTP id q4-v6so9466119iob.8 for ; Thu, 20 Sep 2018 13:12:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mwM51VwvDN4391lyKfy6NOeAOK8JDyn2XMC1Tgr9XBU=; b=sovJp2aXW7W3pLDEkFt6CtocqIbYgzE44wGVraj82VZ8Kw3ofCDtZrAhIW634g/1d8 TZl/E01+lAJ3sc/wED7Oq50bk6H2VuNno0iVO+l2bu09D66x1Xg1vVimESin3CC0xGjz scTM2qvxtZlSbSa1nyHuR2IibUdsrdij3e+r+PJxCbYtmjP9XU/WrCe4M/dwEhpnrAAE DXxan6drtmC1dBWn8h41dc3hHaIV7OIZTBwGjSrE3Lg++4yCi7/q6uPuUKFFRLStqfkw fdJtOojb0JXRah4CJ3Vx6R6uGZwWfSXyZPxXICIoczXja1w/KtAkg6tJ3ndhxfY5hKVv DYFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=mwM51VwvDN4391lyKfy6NOeAOK8JDyn2XMC1Tgr9XBU=; b=Z5Ja6gpQowKhbRN0f8PmS7zjVBZsRvBh6Fe/04XXY2c2+DKYjGBW2nHSqykPrVJNwk zL5ER527bkzKnzPskHQ8M6E9nDVvOMrah33lgceqODq+1ZI9WrPtM1LjiTpKPkb/UwnX C05rxV8FnP1h+NxCyXltkMg7VziCpQLmJMjcHyX9YkyC9Zzqmnz1BKbYN3ViMcUx49Kz uS6bvc4aui7nkJqf3Z91QrqhLR0TiPel0HMvMnFdlmqy1xzNZ5Q6R7cctEIzyueD3z/F UjWcJp2MqBwUt7UXChz0TECyaccxUYyvKnCjptdLKJ737/NLIpEirFL4vUvwzsO+jLRn /RBQ== X-Gm-Message-State: APzg51B7bFrhY5dfby/ocgnr6CkaOnk+1HOCo7HjHB1RBeFCxt7RzKIO kl3M0OeKAg2iwyHFK8Uxvcipli6o X-Google-Smtp-Source: ANB0VdYFbI4hpoiJ85V8mNX2d2cDi6LVZlRWwUzWl+tLCeW8R9lRPE+ZBpGWDegeF4dSa8l7tZBuLg== X-Received: by 2002:a6b:e716:: with SMTP id b22-v6mr35764670ioh.239.1537474335675; Thu, 20 Sep 2018 13:12:15 -0700 (PDT) Received: from gouda.nowheycreamery.com.local (c-68-40-188-1.hsd1.mi.comcast.net. [68.40.188.1]) by smtp.gmail.com with ESMTPSA id u24-v6sm8649943iol.49.2018.09.20.13.12.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Sep 2018 13:12:14 -0700 (PDT) From: schumaker.anna@gmail.com X-Google-Original-From: Anna.Schumaker@Netapp.com To: Trond.Myklebust@hammerspace.com, linux-nfs@vger.kernel.org Cc: Anna.Schumaker@Netapp.com Subject: [PATCH] NFSv4: Split out NFS v4.2 copy completion functions Date: Thu, 20 Sep 2018 16:12:13 -0400 Message-Id: <20180920201213.31267-1-Anna.Schumaker@Netapp.com> X-Mailer: git-send-email 2.19.0 MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Anna Schumaker The convention in the rest of the code is to have a separate function for anything that might be ifdef-ed out. Signed-off-by: Anna Schumaker --- fs/nfs/nfs4state.c | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 91fd4049cafc..62ae0fd345ad 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -1549,6 +1549,31 @@ static int nfs4_reclaim_locks(struct nfs4_state *state, const struct nfs4_state_ return status; } +#ifdef CONFIG_NFS_V4_2 +static void nfs42_complete_copies(struct nfs4_state_owner *sp, struct nfs4_state *state) +{ + struct nfs4_copy_state *copy; + + if (!test_bit(NFS_CLNT_DST_SSC_COPY_STATE, &state->flags)) + return; + + spin_lock(&sp->so_server->nfs_client->cl_lock); + list_for_each_entry(copy, &sp->so_server->ss_copies, copies) { + if (nfs4_stateid_match_other(&state->stateid, ©->parent_state->stateid)) + continue; + copy->flags = 1; + complete(©->completion); + break; + } + spin_unlock(&sp->so_server->nfs_client->cl_lock); +} +#else /* !CONFIG_NFS_V4_2 */ +static inline void nfs42_complete_copies(struct nfs4_state_owner *sp, + struct nfs4_state *state) +{ +} +#endif /* CONFIG_NFS_V4_2 */ + static int __nfs4_reclaim_open_state(struct nfs4_state_owner *sp, struct nfs4_state *state, const struct nfs4_state_recovery_ops *ops) { @@ -1572,21 +1597,7 @@ static int __nfs4_reclaim_open_state(struct nfs4_state_owner *sp, struct nfs4_st spin_unlock(&state->state_lock); } -#ifdef CONFIG_NFS_V4_2 - if (test_bit(NFS_CLNT_DST_SSC_COPY_STATE, &state->flags)) { - struct nfs4_copy_state *copy; - spin_lock(&sp->so_server->nfs_client->cl_lock); - list_for_each_entry(copy, &sp->so_server->ss_copies, copies) { - if (nfs4_stateid_match_other(&state->stateid, ©->parent_state->stateid)) - continue; - copy->flags = 1; - complete(©->completion); - break; - } - spin_unlock(&sp->so_server->nfs_client->cl_lock); - } -#endif /* CONFIG_NFS_V4_2 */ - + nfs42_complete_copies(sp, state); clear_bit(NFS_STATE_RECLAIM_NOGRACE, &state->flags); return status; }