2022-03-28 20:27:41

by Tom Rix

[permalink] [raw]
Subject: [PATCH] cifs: fix enum usage

From: Tom Rix <[email protected]>

Clang build fails with
cifsfs.c:709:18: error: implicit conversion from enumeration
type 'enum statusEnum' to different enumeration
type 'enum tid_status_enum'
tcon->status = CifsExiting;
~ ^~~~~~~~~~~

The type of the element status changed, so enum needed to change.
Replace CifsExiting with TID_EXITING.

Fixes: 7e5c8c02911b ("smb3: cleanup and clarify status of tree connections")
Signed-off-by: Tom Rix <[email protected]>
---
fs/cifs/cifsfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 0789bf1496c74..a47fa44b6d52b 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -706,7 +706,7 @@ static void cifs_umount_begin(struct super_block *sb)
spin_unlock(&cifs_tcp_ses_lock);
return;
} else if (tcon->tc_count == 1)
- tcon->status = CifsExiting;
+ tcon->status = TID_EXITING;
spin_unlock(&cifs_tcp_ses_lock);

/* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */
--
2.26.3


2022-03-28 22:11:10

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] cifs: fix enum usage

On Mon, Mar 28, 2022 at 06:03:00AM -0700, [email protected] wrote:
> From: Tom Rix <[email protected]>
>
> Clang build fails with
> cifsfs.c:709:18: error: implicit conversion from enumeration
> type 'enum statusEnum' to different enumeration
> type 'enum tid_status_enum'
> tcon->status = CifsExiting;
> ~ ^~~~~~~~~~~
>
> The type of the element status changed, so enum needed to change.
> Replace CifsExiting with TID_EXITING.

Right, this was clearly missed by the below commit, as every other
instance of tidStatus was changed to status plus the value from
enum tid_status_enum, except this one.

> Fixes: 7e5c8c02911b ("smb3: cleanup and clarify status of tree connections")
> Signed-off-by: Tom Rix <[email protected]>

Thanks for sending the patch!

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> fs/cifs/cifsfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
> index 0789bf1496c74..a47fa44b6d52b 100644
> --- a/fs/cifs/cifsfs.c
> +++ b/fs/cifs/cifsfs.c
> @@ -706,7 +706,7 @@ static void cifs_umount_begin(struct super_block *sb)
> spin_unlock(&cifs_tcp_ses_lock);
> return;
> } else if (tcon->tc_count == 1)
> - tcon->status = CifsExiting;
> + tcon->status = TID_EXITING;
> spin_unlock(&cifs_tcp_ses_lock);
>
> /* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */
> --
> 2.26.3
>
>