Simplify the code with list_first_entry_or_null().
Signed-off-by: Geliang Tang <[email protected]>
---
fs/locks.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/fs/locks.c b/fs/locks.c
index 86c9467..d2ee8e3 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1505,12 +1505,10 @@ void lease_get_mtime(struct inode *inode, struct timespec *time)
ctx = smp_load_acquire(&inode->i_flctx);
if (ctx && !list_empty_careful(&ctx->flc_lease)) {
spin_lock(&ctx->flc_lock);
- if (!list_empty(&ctx->flc_lease)) {
- fl = list_first_entry(&ctx->flc_lease,
- struct file_lock, fl_list);
- if (fl->fl_type == F_WRLCK)
- has_lease = true;
- }
+ fl = list_first_entry_or_null(&ctx->flc_lease,
+ struct file_lock, fl_list);
+ if (fl && (fl->fl_type == F_WRLCK))
+ has_lease = true;
spin_unlock(&ctx->flc_lock);
}
--
2.5.0
On Wed, 18 Nov 2015 21:40:33 +0800
Geliang Tang <[email protected]> wrote:
> Simplify the code with list_first_entry_or_null().
>
> Signed-off-by: Geliang Tang <[email protected]>
> ---
> fs/locks.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/fs/locks.c b/fs/locks.c
> index 86c9467..d2ee8e3 100644
> --- a/fs/locks.c
> +++ b/fs/locks.c
> @@ -1505,12 +1505,10 @@ void lease_get_mtime(struct inode *inode, struct timespec *time)
> ctx = smp_load_acquire(&inode->i_flctx);
> if (ctx && !list_empty_careful(&ctx->flc_lease)) {
> spin_lock(&ctx->flc_lock);
> - if (!list_empty(&ctx->flc_lease)) {
> - fl = list_first_entry(&ctx->flc_lease,
> - struct file_lock, fl_list);
> - if (fl->fl_type == F_WRLCK)
> - has_lease = true;
> - }
> + fl = list_first_entry_or_null(&ctx->flc_lease,
> + struct file_lock, fl_list);
> + if (fl && (fl->fl_type == F_WRLCK))
> + has_lease = true;
> spin_unlock(&ctx->flc_lock);
> }
>
Looks fine. I'll merge it for v4.5.
Thanks!
--
Jeff Layton <[email protected]>