linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code
@ 2019-08-22  6:23 Austin Kim
  2019-08-22  8:11 ` Dan Carpenter
  2019-08-22 14:44 ` Darrick J. Wong
  0 siblings, 2 replies; 3+ messages in thread
From: Austin Kim @ 2019-08-22  6:23 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs, linux-kernel, kernel-janitors, austindh.kim

Code after BUG is unreachable since system would be crashed
after the call to BUG is made.
So change BUG_ON instead of BUG() to remove unreachable code.
---
 fs/xfs/xfs_mount.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 322da69..a681808 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -213,13 +213,7 @@ xfs_initialize_perag(
 			goto out_hash_destroy;
 
 		spin_lock(&mp->m_perag_lock);
-		if (radix_tree_insert(&mp->m_perag_tree, index, pag)) {
-			BUG();
-			spin_unlock(&mp->m_perag_lock);
-			radix_tree_preload_end();
-			error = -EEXIST;
-			goto out_hash_destroy;
-		}
+		BUG_ON(radix_tree_insert(&mp->m_perag_tree, index, pag));
 		spin_unlock(&mp->m_perag_lock);
 		radix_tree_preload_end();
 		/* first new pag is fully initialized */
-- 
2.6.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code
  2019-08-22  6:23 [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code Austin Kim
@ 2019-08-22  8:11 ` Dan Carpenter
  2019-08-22 14:44 ` Darrick J. Wong
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2019-08-22  8:11 UTC (permalink / raw)
  To: Austin Kim; +Cc: darrick.wong, linux-xfs, linux-kernel, kernel-janitors

Depending on the config BUG() might be a no-op.  Outside of filesystems
everyone ignores that and crashes ungracefully, but in filesystems they
don't want to risk corrupting your files.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code
  2019-08-22  6:23 [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code Austin Kim
  2019-08-22  8:11 ` Dan Carpenter
@ 2019-08-22 14:44 ` Darrick J. Wong
  1 sibling, 0 replies; 3+ messages in thread
From: Darrick J. Wong @ 2019-08-22 14:44 UTC (permalink / raw)
  To: Austin Kim; +Cc: linux-xfs, linux-kernel, kernel-janitors

On Thu, Aug 22, 2019 at 03:23:20PM +0900, Austin Kim wrote:
> Code after BUG is unreachable since system would be crashed
> after the call to BUG is made.
> So change BUG_ON instead of BUG() to remove unreachable code.
> ---
>  fs/xfs/xfs_mount.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
> index 322da69..a681808 100644
> --- a/fs/xfs/xfs_mount.c
> +++ b/fs/xfs/xfs_mount.c
> @@ -213,13 +213,7 @@ xfs_initialize_perag(
>  			goto out_hash_destroy;
>  
>  		spin_lock(&mp->m_perag_lock);
> -		if (radix_tree_insert(&mp->m_perag_tree, index, pag)) {
> -			BUG();
> -			spin_unlock(&mp->m_perag_lock);
> -			radix_tree_preload_end();
> -			error = -EEXIST;
> -			goto out_hash_destroy;
> -		}
> +		BUG_ON(radix_tree_insert(&mp->m_perag_tree, index, pag));

/me thinks this should WARN on the insertion error but otherwise
preserve the existing bailout behavior, since we can always fail the
mount or shutdown the fs and move on....

--D

>  		spin_unlock(&mp->m_perag_lock);
>  		radix_tree_preload_end();
>  		/* first new pag is fully initialized */
> -- 
> 2.6.2
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-08-22 14:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22  6:23 [PATCH] xfs: Use BUG_ON rather than BUG() to remove unreachable code Austin Kim
2019-08-22  8:11 ` Dan Carpenter
2019-08-22 14:44 ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).