xfs
[Top] [All Lists]

Re: TAKE/TEST - fix Alpha "rm -Rf" deadlock bug

To: Kelledin <kelledin+XFS@xxxxxxxxxxxxxxxxxxx>
Subject: Re: TAKE/TEST - fix Alpha "rm -Rf" deadlock bug
From: Steve Lord <lord@xxxxxxx>
Date: 01 May 2003 22:06:23 -0500
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200305012114.35730.kelledin+XFS@skarpsey.dyndns.org>
References: <20030429202146.LSXJ15122.imf31bis.bellsouth.net@tiger2> <200305012114.35730.kelledin+XFS@skarpsey.dyndns.org>
Sender: linux-xfs-bounce@xxxxxxxxxxx
On Thu, 2003-05-01 at 21:14, Kelledin wrote:
> After some testing and hammering the XFS 2003-04-07 patchset on 
> my decrepit EV56 box, I got the best break I've had all week.  
> 
> The breakdown:
> 
> The XFS driver appears to make an assumption about sizeof(long) 
> in fs/xfs/xfs_vfsops.c.  Apparently it's trying to clamp the max 
> inode count to a signed 32-bit range based on that sizeof() 
> assumption.  The assumption obviously doesn't hold for Alpha 
> (and probably other 64-bit architectures as well).

Try this instead:

--- /usr/tmp/TmpDir.15572-0/linux/fs/xfs/xfs_vfsops.c_1.419     Thu May  1 
22:04:39 2003
+++ linux/fs/xfs/xfs_vfsops.c   Thu May  1 21:57:43 2003
@@ -803,7 +803,7 @@
                if (!mp->m_inoadd)
 #endif
                        statp->f_files =
-                           MIN(statp->f_files, (long)mp->m_maxicount);
+                           MIN(statp->f_files, 
(typeof(statp->f_files))mp->m_maxicount);
        statp->f_ffree = statp->f_files - (sbp->sb_icount - sbp->sb_ifree);
        XFS_SB_UNLOCK(mp, s);
 

Steve



<Prev in Thread] Current Thread [Next in Thread>