View Incident:
http://co-op.engr.sgi.com/BugWorks/code/bwxquery.cgi?search=Search&wlong=1&view_type=Bug&wi=802017
Status : open Priority : 3
Assigned Engineer : dxm Submitter : dxm
*Modified User : dxm *Modified User Domain : engr
*Description :
I haven't seen this problem for ages on my 64Mb crash box,
but the problem is still there.
I installed XFS on my home machine last night and was very
happy with its performance (P100, 32Mb RAM, 32Gb disk) until
I tried to cleanly remount my XFS partition and tripped an
ASSERT in xlog_get_bp.
My home machine is very tight on memory, but I don't think
it's an unreasonable machine to try to run XFS on. Unfortunately,
.....
==========================
ADDITIONAL INFORMATION (ADD)
From: dxm@engr (BugWorks)
Date: Sep 18 2000 10:01:00PM
==========================
I'd quite like this workaround (it stops the crash and
inevitable fsck) to get into the beta. Anyone want to rv
this for me?
(PS. I've also got an actual fix for the problem, but it's
going to need some decent testing so it's not going to make
beta).
dxm@snort ~/isms/slinx-xfs-tot/linux/fs/xfs> p_rdiff -i xfs_log_recover.c
153c153,156
< ASSERT(bp);
---
> if (!bp)
> printk("XFS: Failed to allocate %d BB buffer for log recovery\n",
> num_bblks);
>
162c165
< } /* xlog_get_bp */
---
> } /* xlog_put_bp */
415a419,420
> if (!bp)
> return -ENOMEM;
497c502,507
< big_bp = xlog_get_bp(num_scan_bblks,log->l_mp);
---
> big_bp = xlog_get_bp(num_scan_bblks,log->l_mp);
> if (!big_bp) {
> error = -ENOMEM;
> goto bp_err;
> }
>
665a676,677
> if (!bp)
> return -ENOMEM;
749a762,763
> if (!bp)
> return -ENOMEM;
909a924,925
> if (!bp)
> return -ENOMEM;
949a966,969
> if (!big_bp) {
> error = -ENOMEM;
> goto bp_err;
> }
1114a1135,1136
> if (!bp)
> return -ENOMEM;
3118a3141,3142
> if (!hbp)
> return -ENOMEM;
3119a3144,3147
> if (!dbp) {
> xlog_put_bp(hbp);
> return -ENOMEM;
> }
|