xfs
[Top] [All Lists]

Re: xfs I/O error

To: Rekrutacja119 <rekrutacja119@xxxxxxxxx>
Subject: Re: xfs I/O error
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Sat, 23 Feb 2008 21:53:28 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <2db2c6b80802231346r78d59381j49927e15f40e7ef8@mail.gmail.com>
References: <2db2c6b80802231346r78d59381j49927e15f40e7ef8@mail.gmail.com>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 2.0.0.9 (Macintosh/20071031)
Rekrutacja119 wrote:
> hello, is there any way to force XFS to ignore I/O errors? it seems it is
> shutting down the fs when it encounters any error.

It does not shut down on any error; it should only be shutting down on
errors after which it cannot guarantee filesystem consistency.

> The problem is that i can't mark badsectors, as XFS doesn't support bad
> sector marking, but i also cannot access any correct data on partition,
> because when i try to access damaged sector, the whole fs goes down.
>
> any idea why?

Depends on what the sector is and what xfs is doing with it.

(btw the trace you posted in your next messages looks like you edited
out some relevant information)

> i use xfsprogs 2.9.4, my xfs is array made from 3 HDs, RAID 0, and one of
> them is getting some bad sectors. i cannot replace it currently.

xfs can't really help you with your bad hardware ;)

> after i run xfs_repair on it, i was able to mount it and access the data,
> but when somebody tries to access bad data, the whole XFS goes down. i don't
> want that, i also dont have place to xfsmetadump the whole array to another
> disks.

I do not think metadump does what you think it does... it only copies
metadata.

> i tried scaning whole disk with badblocks (badblocks -c 1 -s -v /dev/sdb),
> and then running dd if=/dev/zero of=/dev/sdb count=1 bs=1
> seek=NUMBER_FROM_BADBLOCKOUTPUT
> 
> but every block was written fine! (which is strange i guess), and it didnt
> help.

as iustin said, I think you just pretty well clobbered some important
metadata on your disk.  badblocks gives you block numbers in 1024 units.
 You gave dd a block size of 1... then rather than seeking out the
proper number of 1024 units, you seeked that many bytes; overwriting
probably important stuff at the beginning of your disk (since your wrote
at 1/1024 the offset that you should have)

> please advise me anything other than switching the drive (i will do it,
> can't now though) or dumping the whole thing as i need to much space.

mount it readonly to get to the data you need?

> the easiest solution would be to just ignore errors, and if not, then to
> somehow force xfs to mark them as bad sectors (smartctl is showing errors
> like for example

IMHO marking sectors bad is pointless.  If you have a failing drive, it
will only get worse.  At best you could use badblocks to try some writes
to remap; assuming you don't get it wrong and just zero out more of your
disk...

-Eric

> # 2  Extended offline    Completed: unknown failure    90%      9395
> -
> 
> or
> 
> 
> Error 8324 occurred at disk power-on lifetime: 9398 hours (391 days + 14
> hours)
>   When the command that caused the error occurred, the device was active or
> idle.
> 
>   After command completion occurred, registers were:
>   ER ST SC SN CL CH DH
>   -- -- -- -- -- -- --
>   40 51 00 30 33 59 e6  Error: UNC at LBA = 0x06593330 = 106509104
> 
> 
> [[HTML alternate version deleted]]
> 
> 


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