xfs
[Top] [All Lists]

CLOSE 797419 - xfs_iget goes recursive and dies a horrible death

To: lord@xxxxxxx
Subject: CLOSE 797419 - xfs_iget goes recursive and dies a horrible death
From: pv@xxxxxxxxxxxxx (lord@xxxxxxx)
Date: Mon, 11 Sep 2000 13:02:20 -0700 (PDT)
Cc: linux-xfs@xxxxxxxxxxx
Reply-to: sgi.bugs.xfs@xxxxxxxxxxxxxxxxx
Sender: owner-linux-xfs@xxxxxxxxxxx
Webexec: webpvupdate,pvincident
Webpv: jen.americas.sgi.com
View Incident: 
http://co-op.engr.sgi.com/BugWorks/code/bwxquery.cgi?search=Search&wlong=1&view_type=Bug&wi=797419

*Status : closed                       Priority : 1                         
 Assigned Engineer : lord              Submitter : lord                     
 Opened Date : 07/27/00               *Closed Date : 09/11/00               
*Fixed By : lord                      *Fixed By Domain : sgi.com            
*Modified Date : 09/11/00             *Modified User : lord                 
*Modified User Domain : sgi.com       *Fix Description :
==========================
ADDITIONAL INFORMATION (CLOSE)
From: lord@xxxxxxx (BugWorks)
Date: Sep 11 2000 01:02:19PM
==========================

Messed up the send line in the take message. Checked in fix
2.4.0-test1-xfs:slinx:74156a

Basic change is to introduce ihold which is iget without the
create a new inode part. Apart from that some cleanup of the
xfs iget and vnode code.

This should close the race condition and has stood up to
heavier dbench load than anything previous, along with NFS
server activity.


mod 2.4.0-test1-xfs:slinx:74156a header
========================================
 - SM_Location:  bonnie.engr.sgi.com:/isms/slinx/2.4.0-test1-xfs
 - Workarea:  jen.americas.sgi.com:/src/lord/xfs-linux.2.4.0-test5
 - 2.4.0-test1-xfs:slinx:74156a 09/11/00
 - Files affected:  linux/kernel/ksyms.c 1.57,
   linux/include/linux/fs.h 1.57, linux/fs/inode.c 1.28,
   linux/fs/xfs/xfs_iget.c 1.126,
   linux/fs/xfs/pseudo-inc/sys/vnode.h 1.29,
   linux/fs/xfs/linux/xfs_vnode.c 1.40,
   linux/fs/xfs/linux/xfs_iops.c 1.66
 - Author:  lord
 - linux/kernel/ksyms.c:
   export ihold4 to modules.
 - linux/include/linux/fs.h:
   prototype for ihold4 and definition of ihold
 - linux/fs/inode.c:
   Added ihold4 - this is iget4 without creating a new inode if
   there isn't one.
 - linux/fs/xfs/xfs_iget.c:
   get rid of confusing sim path, do not pass a dev_t to vn_alloc, replave
   vn_put with vn_rele
 - linux/fs/xfs/pseudo-inc/sys/vnode.h:
   remove dev_t from vn_alloc prototype, remove vn_put, in vnode tracing case
   call vn_rele, not vn_put.
 - linux/fs/xfs/linux/xfs_vnode.c:
   merge vn_put into vn_rele, remove dev_t from intitialization calls, it
   was not being used anymore.
 - linux/fs/xfs/linux/xfs_iops.c:
   vn_rele and vn_put have been folded into one - vn_rele

<Prev in Thread] Current Thread [Next in Thread>
  • CLOSE 797419 - xfs_iget goes recursive and dies a horrible death, lord@xxxxxxx <=