Thread (11 messages) 11 messages, 6 authors, 2012-02-28

Re: XFS, empty files after a crash

From: <hidden>
Date: 2012-02-24 10:21:38

Le 23/02/12 23:15, Nathaniel W. Turner a écrit :
On 02/23/2012 03:07 PM, kadafax@gmail.com wrote:
quoted
quoted
kfx, try getting the inode number of the file (via stat or ls -i) 
and then doing something like this:

xfs_db -r $DEV -c "inode $INO" -c "bmap" 

# xfs_db -r /dev/sdc1 -c "inode 114748" -c "bmap"
data offset 0 startblock 1881705728 (7/2657536) count 6460 flag 0

# xfs_db -r /dev/sdc1 -c "inode 114754" -c "bmap"
data offset 0 startblock 1077794560 (4/4052736) count 6582 flag 0
If you want to see what's behind those data extents (which are 
probably partially written), you could do something along these lines:

# Determine the AG size
agblocks=$(xfs_db -r /dev/sdc1 -c sb -c p | grep ^agblocks | sed 's/.* 
= //')

# Copy the extent in the first file, which consists of 6460 blocks 
(~26MB)
# in AG 7 starting at AG-relative block 2657536:
dd if=/dev/sdc1 bs=4096 skip=$(($agblocks * 7 + 2657536)) count=6460 
of=./blob
# examine ./blob
Awesome, it's working for each file with non-null data extents.

I guess that for inode for which the command "xfs_db -r $DEV -c "inode 
$INO" -c "bmap"" returns a null result there is no hope ?

Anyway, thanks a lot Nathaniel !

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help