Re: [PATCH] xfs: Use WARN_ON rather than BUG() for bailout mount-operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 29, 2019 at 09:59:17PM +0900, Austin Kim wrote:
> 2019년 8월 29일 (목) 오후 4:56, Christoph Hellwig <hch@xxxxxxxxxxxxx>님이 작성:
> >
> > On Wed, Aug 28, 2019 at 03:47:49PM +0900, Austin Kim wrote:
> > > If the CONFIG_BUG is enabled, BUG() is executed and then system is crashed.
> > > However, the bailout for mount is no longer proceeding.
> > >
> > > For this reason, using WARN_ON rather than BUG() could prevent this situation.
> > > ---
> > >  fs/xfs/xfs_mount.c | 3 +--
> > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > >
> > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
> > > index 322da69..10fe000 100644
> > > --- a/fs/xfs/xfs_mount.c
> > > +++ b/fs/xfs/xfs_mount.c
> > > @@ -213,8 +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();
> > > +             if (WARN_ON(radix_tree_insert(&mp->m_perag_tree, index, pag))){
> >
> > Please make this a WARN_ON_ONCE so that we don't see a flodding of
> > messages in case of this error.
> >
> Hello, Mr. Christoph
> Thanks for good feedback.
> If the kernel log is flooded with error message, as you pointed out,
> it may cause other side-effect.(e.g: system non-responsive or lockup)
> 
> To. Mr. Darrick J. Wong
> If you or other kernel developers do not disagree with the
> idea(WARN_ON_ONCE instead of WARN_ON),
> do I have to resend the patch with new revision?

Yes, and please add your Signed-off-by in the new revision.

--D

> The title, the commit message and patch might be changed as followings;
> ======
> xfs: Use WARN_ON_ONCE rather than BUG() for bailout mount-operation
> 
> If the CONFIG_BUG is enabled, BUG() is executed and then system is crashed.
> However, the bailout for mount is no longer proceeding.
> 
> For this reason, using WARN_ON_ONCE rather than BUG() could prevent
> this situation.
> 
> diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
> index 322da69..d831c13 100644
> --- a/fs/xfs/xfs_mount.c
> +++ b/fs/xfs/xfs_mount.c
> @@ -213,8 +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();
> +               if (WARN_ON_ONCE(radix_tree_insert(&mp->m_perag_tree,
> index, pag))) {
>                         spin_unlock(&mp->m_perag_lock);
>                         radix_tree_preload_end();
>                         error = -EEXIST;
> ======
> 
> BR,
> Guillermo Austin Kim



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux