Received: with ECARTIS (v1.0.0; list xfs); Thu, 20 Dec 2007 18:01:07 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.3.0-r574664 (2007-09-11) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.2 required=5.0 tests=AWL,BAYES_50,HTML_MESSAGE, J_CHICKENPOX_15,J_CHICKENPOX_45,J_CHICKENPOX_52,J_CHICKENPOX_62 autolearn=no version=3.3.0-r574664 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.168.28]) by oss.sgi.com (8.12.11.20060308/8.12.11/SuSE Linux 0.7) with ESMTP id lBL20xuJ027609 for ; Thu, 20 Dec 2007 18:01:01 -0800 X-ASG-Debug-ID: 1198202469-536c010c0000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from sc3app27.rit.edu (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 7584CB8F306 for ; Thu, 20 Dec 2007 18:01:09 -0800 (PST) Received: from sc3app27.rit.edu (sc3app27.rit.edu [129.21.35.56]) by cuda.sgi.com with ESMTP id DHS7pFKAWusnfcPV for ; Thu, 20 Dec 2007 18:01:09 -0800 (PST) Received: from cias-jpspgd-macbook.jayps.home (cpe-72-230-182-205.rochester.res.rr.com [72.230.182.205]) by smtp-server.rit.edu (PMDF V6.3-x14 #31420) with ESMTPSA id <0JTD00953MXVW8@smtp-server.rit.edu> for xfs@oss.sgi.com; Thu, 20 Dec 2007 21:01:09 -0500 (EST) Date: Thu, 20 Dec 2007 21:01:06 -0500 From: Jay Sullivan X-ASG-Orig-Subj: Re: xfs_force_shutdown called from file fs/xfs/xfs_trans_buf.c Subject: Re: xfs_force_shutdown called from file fs/xfs/xfs_trans_buf.c In-reply-to: To: xfs@oss.sgi.com Cc: Jay Sullivan Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.915) X-RIT-Received-From: 72.230.182.205 jpspgd@smtp-server.rit.edu References: X-Barracuda-Connect: sc3app27.rit.edu[129.21.35.56] X-Barracuda-Start-Time: 1198202470 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=3.0 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.1, rules version 3.1.37211 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message X-Virus-Scanned: ClamAV 0.91.2/5197/Thu Dec 20 16:32:01 2007 on oss.sgi.com X-Virus-Status: Clean Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 7bit Content-length: 14522 X-archive-position: 14043 X-ecartis-version: Ecartis v1.0.0 Sender: xfs-bounce@oss.sgi.com Errors-to: xfs-bounce@oss.sgi.com X-original-sender: jpspgd@rit.edu Precedence: bulk X-list: xfs I'm still seeing problems. =( Most recently I have copied all of the data off of the suspect XFS volume onto another fresh XFS volume. A few days later I saw the same messages show up in dmesg. I haven't had a catastrophic failure that makes the kernel remount the FS RO, but I don't want to wait for that to happen. Today I upgraded to the latest stable kernel in Gentoo (2.6.23-r3) and I'm still on xfsprogs 2.9.4, also the latest stable release. A few hours after rebooting to load the new kernel, I saw the following in dmesg: #################### attempt to access beyond end of device dm-0: rw=0, want=68609558288793608, limit=8178892800 I/O error in filesystem ("dm-0") meta-data dev dm-0 block 0xf3c0079e000000 ("xfs_trans_read_buf") error 5 buf count 4096 attempt to access beyond end of device dm-0: rw=0, want=68609558288793608, limit=8178892800 I/O error in filesystem ("dm-0") meta-data dev dm-0 block 0xf3c0079e000000 ("xfs_trans_read_buf") error 5 buf count 4096 attempt to access beyond end of device dm-0: rw=0, want=68609558288793608, limit=8178892800 I/O error in filesystem ("dm-0") meta-data dev dm-0 block 0xf3c0079e000000 ("xfs_trans_read_buf") error 5 buf count 4096 attempt to access beyond end of device dm-0: rw=0, want=68609558288793608, limit=8178892800 I/O error in filesystem ("dm-0") meta-data dev dm-0 block 0xf3c0079e000000 ("xfs_trans_read_buf") error 5 buf count 4096 ################### These are the same types of messages (trying to access a block that is WAAAY outside of the range of my drives) that I was seeing before the last time my FS got remounted read-only by the colonel. Any ideas? What other information can I gather that would help with troubleshooting? Here are some more specifics: This is a Dell PowerEdge 1850 with a FusionMPT/LSI fibre channel card. The XFS volume is a 3.9TB logical volume in LVM. The volume group is spread across LUNs of a Apple XServe RAIDs which are connected o'er FC to our fabric. I just swapped FC switches (to a different brand even) and the problem was showing before and after the switch switch, so that's not it. I have also swapped FC cards, upgraded FC card firmware, updated BIOSs, etc.. This server sees heavy NFS (v3) and samba (currently 3.0.24 until the current regression bug is squashed and stable) traffic. 'Heavy traffic' means it usually sees 200-300Mbps throughput 24/7, although sometimes more. Far-fetched: Is there any way that a particular file on my FS, when accessed, is causing the problem? I have a very similar system (Dell PE 2650, same FC card, same type of RAID, same SFP cables, same GPT scheme, same kernel) but instead with an ext3 (full journal) FS in a 5.[something]TB logical volume (LVM) with no problems. Oh, and it sees system load values in the mid-20s just about all day. Grasping at straws. I need XFS to work because we'll soon be requiring seriously large filesystems with non-sucky extended attribute and ACL support. Plus it's fast and I like it. Can the XFS community help? I don't want to have to turn to that guy that allegedly killed his wife. =P ~Jay On Nov 14, 2007, at 10:05 AM, Jay Sullivan wrote: > Of course this had to happen one more time before my scheduled > maintenance window... Anyways, here's all of the good stuff I > collected. Can anyone make sense of it? Oh, and I upgraded to > xfsprogs > 2.9.4 last week, so all output you see is with that version. > > Thanks! > > ################### > > dmesg output > > ################### > > XFS internal error XFS_WANT_CORRUPTED_GOTO at line 4533 of file > fs/xfs/xfs_bmap.c. Caller 0xc028c5a2 > [] xfs_bmap_read_extents+0x3bd/0x498 > [] xfs_iread_extents+0x74/0xe1 > [] xfs_iext_realloc_direct+0xa4/0xe7 > [] xfs_iext_add+0x138/0x272 > [] xfs_iread_extents+0x74/0xe1 > [] xfs_bmapi+0x1ca/0x173f > [] elv_rb_add+0x6f/0x88 > [] as_update_rq+0x32/0x72 > [] as_add_request+0x76/0xa4 > [] elv_insert+0xd5/0x142 > [] __make_request+0xc8/0x305 > [] generic_make_request+0x122/0x1d9 > [] __map_bio+0x33/0xa9 > [] __clone_and_map+0xda/0x34c > [] mempool_alloc+0x2a/0xdb > [] xfs_ilock+0x58/0xa0 > [] xfs_iomap+0x216/0x4b7 > [] __xfs_get_blocks+0x6b/0x226 > [] radix_tree_node_alloc+0x16/0x57 > [] radix_tree_insert+0xb0/0x126 > [] xfs_get_blocks+0x28/0x2d > [] block_read_full_page+0x192/0x346 > [] xfs_get_blocks+0x0/0x2d > [] xfs_iget+0x145/0x150 > [] do_mpage_readpage+0x530/0x621 > [] xfs_iunlock+0x43/0x84 > [] xfs_vget+0xe1/0xf2 > [] find_exported_dentry+0x71/0x4b6 > [] __do_page_cache_readahead+0x88/0x153 > [] mpage_readpage+0x4b/0x5e > [] xfs_get_blocks+0x0/0x2d > [] blockable_page_cache_readahead+0x4d/0xb9 > [] page_cache_readahead+0x174/0x1a3 > [] find_get_page+0x18/0x3a > [] do_generic_mapping_read+0x1b5/0x535 > [] __capable+0x8/0x1b > [] generic_file_sendfile+0x68/0x83 > [] nfsd_read_actor+0x0/0x10f > [] xfs_sendfile+0x94/0x164 > [] nfsd_read_actor+0x0/0x10f > [] nfsd_permission+0x6e/0x103 > [] xfs_file_sendfile+0x4c/0x5c > [] nfsd_read_actor+0x0/0x10f > [] nfsd_vfs_read+0x344/0x361 > [] nfsd_read_actor+0x0/0x10f > [] nfsd_read+0xd8/0xf9 > [] nfsd3_proc_read+0xb0/0x174 > [] nfs3svc_decode_readargs+0x0/0xf7 > [] nfsd_dispatch+0x8a/0x1f5 > [] svcauth_unix_set_client+0x11d/0x175 > [] svc_process+0x4fd/0x681 > [] nfsd+0x163/0x273 > [] nfsd+0x0/0x273 > [] kernel_thread_helper+0x7/0x10 > ======================= > attempt to access beyond end of device > dm-1: rw=0, want=6763361770196172808, limit=7759462400 > I/O error in filesystem ("dm-1") meta-data dev dm-1 block > 0x5ddc49b238000000 ("xfs_trans_read_buf") error 5 buf count 4096 > xfs_force_shutdown(dm-1,0x1) called from line 415 of file > fs/xfs/xfs_trans_buf.c. Return address = 0xc02baa25 > Filesystem "dm-1": I/O Error Detected. Shutting down filesystem: dm-1 > Please umount the filesystem, and rectify the problem(s) > > > ####################### > > At this point I umount'ed and mount'ed the FS several times, but > xfs_repair still told me to use -L... Any ideas? > > ####################### > > server-files ~ # umount /mnt/san/ > server-files ~ # mount /mnt/san/ > server-files ~ # umount /mnt/san/ > server-files ~ # xfs_repair > /dev/server-files-sanvg01/server-files-sanlv01 > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > ERROR: The filesystem has valuable metadata changes in a log which > needs > to > be replayed. Mount the filesystem to replay the log, and unmount it > before > re-running xfs_repair. If you are unable to mount the filesystem, > then > use > the -L option to destroy the log and attempt a repair. > Note that destroying the log may cause corruption -- please attempt a > mount > of the filesystem before doing this. > server-files ~ # xfs_repair -L > /dev/server-files-sanvg01/server-files-sanlv01 > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > ALERT: The filesystem has valuable metadata changes in a log which is > being > destroyed because the -L option was used. > - scan filesystem freespace and inode maps... > - found root inode chunk > Phase 3 - for each AG... > - scan and clear agi unlinked lists... > - process known inodes and perform inode discovery... > - agno = 0 > 4002: Badness in key lookup (length) > bp=(bno 2561904, len 16384 bytes) key=(bno 2561904, len 8192 bytes) > 8003: Badness in key lookup (length) > bp=(bno 0, len 512 bytes) key=(bno 0, len 4096 bytes) > bad bmap btree ptr 0x5f808b0400000000 in ino 5123809 > bad data fork in inode 5123809 > cleared inode 5123809 > bad magic # 0x58465342 in inode 7480148 (data fork) bmbt block 0 > bad data fork in inode 7480148 > cleared inode 7480148 > - agno = 1 > - agno = 2 > - agno = 3 > - agno = 4 > - process newly discovered inodes... > Phase 4 - check for duplicate blocks... > - setting up duplicate extent list... > - check for inodes claiming duplicate blocks... > - agno = 0 > - agno = 1 > - agno = 2 > - agno = 3 > - agno = 4 > entry "Fuller_RotoscopeCorrected.mov" at block 0 offset 184 in > directory > inode 8992373 references free inode 7480148 > clearing inode number in entry at offset 184... > Phase 5 - rebuild AG headers and trees... > - reset superblock... > 4000: Badness in key lookup (length) > bp=(bno 0, len 4096 bytes) key=(bno 0, len 512 bytes) > Phase 6 - check inode connectivity... > - resetting contents of realtime bitmap and summary inodes > - traversing filesystem ... > bad hash table for directory inode 8992373 (no data entry): rebuilding > rebuilding directory inode 8992373 > 4000: Badness in key lookup (length) > bp=(bno 0, len 4096 bytes) key=(bno 0, len 512 bytes) > 4000: Badness in key lookup (length) > bp=(bno 0, len 4096 bytes) key=(bno 0, len 512 bytes) > - traversal finished ... > - moving disconnected inodes to lost+found ... > Phase 7 - verify and correct link counts... > 4000: Badness in key lookup (length) > bp=(bno 0, len 4096 bytes) key=(bno 0, len 512 bytes) > done > server-files ~ # mount /mnt/san > server-files ~ # umount /mnt/san > server-files ~ # xfs_repair -L > /dev/server-files-sanvg01/server-files-sanlv01 > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > > server-files ~ # xfs_repair > /dev/server-files-sanvg01/server-files-sanlv01 > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > XFS: totally zeroed log > - scan filesystem freespace and inode maps... > - found root inode chunk > Phase 3 - for each AG... > - scan and clear agi unlinked lists... > - process known inodes and perform inode discovery... > - agno = 0 > - agno = 1 > - agno = 2 > - agno = 3 > - agno = 4 > - process newly discovered inodes... > Phase 4 - check for duplicate blocks... > - setting up duplicate extent list... > - check for inodes claiming duplicate blocks... > - agno = 0 > - agno = 1 > - agno = 2 > - agno = 3 > - agno = 4 > Phase 5 - rebuild AG headers and trees... > - reset superblock... > Phase 6 - check inode connectivity... > - resetting contents of realtime bitmap and summary inodes > - traversing filesystem ... > - traversal finished ... > - moving disconnected inodes to lost+found ... > Phase 7 - verify and correct link counts... > done > > ################ > > So that's it for now. Next week I'll be rsyncing all of the data > off of > this volume to another array. I still want to know what's happening, > though... *pout* > > Anyways, thanks a lot for everyone's help. > > ~Jay > > > -----Original Message----- > From: xfs-bounce@oss.sgi.com [mailto:xfs-bounce@oss.sgi.com] On Behalf > Of Jay Sullivan > Sent: Friday, November 02, 2007 10:49 AM > To: xfs@oss.sgi.com > Subject: RE: xfs_force_shutdown called from file fs/xfs/ > xfs_trans_buf.c > > What can I say about Murphy and his silly laws? I just had a drive > fail > on my array. I wonder if this is the root of my problems... Yay > parity. > > ~Jay > > -----Original Message----- > From: xfs-bounce@oss.sgi.com [mailto:xfs-bounce@oss.sgi.com] On Behalf > Of Jay Sullivan > Sent: Friday, November 02, 2007 10:00 AM > To: xfs@oss.sgi.com > Subject: RE: xfs_force_shutdown called from file fs/xfs/ > xfs_trans_buf.c > > I lost the xfs_repair output on an xterm with only four lines of > scrollback... I'll definitely be more careful to preserve more > 'evidence' next time. =( "Pics or it didn't happen", right? > > I just upgraded xfsprogs and will scan the disk during my next > scheduled > downtime (probably in about 2 weeks). I'm tempted to just wipe the > volume and start over: I have enough 'spare' space lying around to > copy > everything out to a fresh XFS volume. > > Regarding "areca": I'm using hardware RAID built into Apple XServe > RAIDs o'er LSI FC929X cards. > > Someone else offered the likely explanation that the btree is > corrupted. > Isn't this something xfs_repair should be able to fix? Would it be > easier, safer, and faster to move the data to a new volume (and > restore > corrupted files if/as I find them from backup)? We're talking about > just less than 4TB of data which used to take about 6 hours to fsck > (one > pass) with ext3. Restoring the whole shebang from backups would > probably take the better part of 12 years (waiting for compression, > resetting ACLs, etc.)... > > FWIW, another (way less important,) much busier and significantly > larger > logical volume on the same array has been totally fine. Murphy--go > figure. > > Thanks! > > -----Original Message----- > From: Eric Sandeen [mailto:sandeen@sandeen.net] > Sent: Thursday, November 01, 2007 10:30 PM > To: Jay Sullivan > Cc: xfs@oss.sgi.com > Subject: Re: xfs_force_shutdown called from file fs/xfs/ > xfs_trans_buf.c > > Jay Sullivan wrote: >> Good eye: it wasn't mountable, thus the -L flag. No recent >> (unplanned) power outages. The machine and the array that holds the >> disks are both on serious batteries/UPS and the array's cache >> batteries are in good health. > > Did you have the xfs_repair output to see what it found? You might > also > grab the very latest xfsprogs (2.9.4) in case it's catching more > cases. > > I hate it when people suggest running memtest86, but I might do that > anyway. :) > > What controller are you using? If you say "areca" I might be on to > something with some other bugs I've seen... > > -Eric > > > > -- Jay Sullivan PC Systems Administrator College of Imaging Arts and Sciences Rochester Institute of Technology 7A-1320 :: 585.475.4688 -- Privacy at RIT: http://www.rit.edu/privacy/ -- [[HTML alternate version deleted]]