All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Henriques <lhenriques@suse.de>
To: Jeff Layton <jlayton@kernel.org>
Cc: ceph-devel@vger.kernel.org, pdonnell@redhat.com,
	ukernel@gmail.com, idryomov@gmail.com, xiubli@redhat.com
Subject: Re: [RFC PATCH 1/6] ceph: allow ceph_put_mds_session to take NULL or ERR_PTR
Date: Wed, 16 Jun 2021 16:24:14 +0100	[thread overview]
Message-ID: <YMoXntSeQ1Kl1B2k@suse.de> (raw)
In-Reply-To: <20210615145730.21952-2-jlayton@kernel.org>

On Tue, Jun 15, 2021 at 10:57:25AM -0400, Jeff Layton wrote:
> ...to simplify some error paths.
> 
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
>  fs/ceph/dir.c        | 3 +--
>  fs/ceph/inode.c      | 6 ++----
>  fs/ceph/mds_client.c | 6 ++++--
>  fs/ceph/metric.c     | 3 +--
>  4 files changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
> index ac431246e0c9..0dc5f8357f58 100644
> --- a/fs/ceph/dir.c
> +++ b/fs/ceph/dir.c
> @@ -1802,8 +1802,7 @@ static void ceph_d_release(struct dentry *dentry)
>  	dentry->d_fsdata = NULL;
>  	spin_unlock(&dentry->d_lock);
>  
> -	if (di->lease_session)
> -		ceph_put_mds_session(di->lease_session);
> +	ceph_put_mds_session(di->lease_session);
>  	kmem_cache_free(ceph_dentry_cachep, di);
>  }
>  
> diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
> index df0c8a724609..6f43542b3344 100644
> --- a/fs/ceph/inode.c
> +++ b/fs/ceph/inode.c
> @@ -1154,8 +1154,7 @@ static inline void update_dentry_lease(struct inode *dir, struct dentry *dentry,
>  	__update_dentry_lease(dir, dentry, lease, session, from_time,
>  			      &old_lease_session);
>  	spin_unlock(&dentry->d_lock);
> -	if (old_lease_session)
> -		ceph_put_mds_session(old_lease_session);
> +	ceph_put_mds_session(old_lease_session);
>  }
>  
>  /*
> @@ -1200,8 +1199,7 @@ static void update_dentry_lease_careful(struct dentry *dentry,
>  			      from_time, &old_lease_session);
>  out_unlock:
>  	spin_unlock(&dentry->d_lock);
> -	if (old_lease_session)
> -		ceph_put_mds_session(old_lease_session);
> +	ceph_put_mds_session(old_lease_session);
>  }
>  
>  /*
> diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
> index e5af591d3bd4..ec669634c649 100644
> --- a/fs/ceph/mds_client.c
> +++ b/fs/ceph/mds_client.c
> @@ -664,6 +664,9 @@ struct ceph_mds_session *ceph_get_mds_session(struct ceph_mds_session *s)
>  
>  void ceph_put_mds_session(struct ceph_mds_session *s)
>  {
> +	if (IS_ERR_OR_NULL(s))
> +		return;
> +
>  	dout("mdsc put_session %p %d -> %d\n", s,
>  	     refcount_read(&s->s_ref), refcount_read(&s->s_ref)-1);
>  	if (refcount_dec_and_test(&s->s_ref)) {
> @@ -1438,8 +1441,7 @@ static void __open_export_target_sessions(struct ceph_mds_client *mdsc,
>  
>  	for (i = 0; i < mi->num_export_targets; i++) {
>  		ts = __open_export_target_session(mdsc, mi->export_targets[i]);
> -		if (!IS_ERR(ts))
> -			ceph_put_mds_session(ts);
> +		ceph_put_mds_session(ts);
>  	}
>  }
>  
> diff --git a/fs/ceph/metric.c b/fs/ceph/metric.c
> index 9577c71e645d..5ac151eb0d49 100644
> --- a/fs/ceph/metric.c
> +++ b/fs/ceph/metric.c
> @@ -311,8 +311,7 @@ void ceph_metric_destroy(struct ceph_client_metric *m)
>  
>  	cancel_delayed_work_sync(&m->delayed_work);
>  
> -	if (m->session)
> -		ceph_put_mds_session(m->session);
> +	ceph_put_mds_session(m->session);
>  }
>  
>  #define METRIC_UPDATE_MIN_MAX(min, max, new)	\
> -- 
> 2.31.1
> 

LGTM, feel free to add my

Reviewed-by: Luis Henriques <lhenriques@suse.de>

Cheers,
--
Luís

  reply	other threads:[~2021-06-16 15:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-15 14:57 [RFC PATCH 0/6] ceph: remove excess mutex locking from cap/snap flushing codepaths Jeff Layton
2021-06-15 14:57 ` [RFC PATCH 1/6] ceph: allow ceph_put_mds_session to take NULL or ERR_PTR Jeff Layton
2021-06-16 15:24   ` Luis Henriques [this message]
2021-06-15 14:57 ` [RFC PATCH 2/6] ceph: eliminate session->s_gen_ttl_lock Jeff Layton
2021-06-16 15:24   ` Luis Henriques
2021-06-18 13:31     ` Jeff Layton
2021-06-15 14:57 ` [RFC PATCH 3/6] ceph: don't take s_mutex or snap_rwsem in ceph_check_caps Jeff Layton
2021-06-16 15:25   ` Luis Henriques
2021-06-18 13:35     ` Jeff Layton
2021-06-15 14:57 ` [RFC PATCH 4/6] ceph: don't take s_mutex in try_flush_caps Jeff Layton
2021-06-16 15:25   ` Luis Henriques
2021-06-15 14:57 ` [RFC PATCH 5/6] ceph: don't take s_mutex in ceph_flush_snaps Jeff Layton
2021-06-16 15:25   ` Luis Henriques
2021-06-15 14:57 ` [RFC PATCH 6/6] ceph: eliminate ceph_async_iput() Jeff Layton
2021-06-16 15:26   ` Luis Henriques
2021-06-17 16:24     ` Jeff Layton
2021-06-18 12:56       ` Luis Henriques
2021-06-18 13:04         ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YMoXntSeQ1Kl1B2k@suse.de \
    --to=lhenriques@suse.de \
    --cc=ceph-devel@vger.kernel.org \
    --cc=idryomov@gmail.com \
    --cc=jlayton@kernel.org \
    --cc=pdonnell@redhat.com \
    --cc=ukernel@gmail.com \
    --cc=xiubli@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.