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 12:56:55AM -0700, Christoph Hellwig wrote:
> 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.

How would it flood?  If the radix tree insertion fails we dump all the
pag structures and fail log recovery / mount / growfs.  I suppose if
one were out of memory and hammering the system hard with repeated mount
calls...

--D



[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