| To: | Rui Gomes <rgomes@xxxxxx> |
|---|---|
| Subject: | Re: [PATCH] xfs_repair: junk last entry in sf dir if name starts beyond dir size |
| From: | Eric Sandeen <sandeen@xxxxxxxxxxx> |
| Date: | Wed, 11 Mar 2015 11:46:50 -0400 |
| Cc: | omar <omar@xxxxxx>, xfs <xfs@xxxxxxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1908077521.428877.1426086242030.JavaMail.zimbra@xxxxxx> |
| References: | <54FDFEDC.5090106@xxxxxxxxxxx> <1061986380.422955.1426008424991.JavaMail.zimbra@xxxxxx> <54FF2BBF.7060404@xxxxxxxxxxx> <410959445.428221.1426083973347.JavaMail.zimbra@xxxxxx> <550054D9.3010602@xxxxxxxxxxx> <1908077521.428877.1426086242030.JavaMail.zimbra@xxxxxx> |
On 3/11/15 11:04 AM, Rui Gomes wrote:
> Program received signal SIGSEGV, Segmentation fault.
> 0x000000000044dbcd in __xfs_dir3_data_check (dp=dp@entry=0x0,
> bp=bp@entry=0x1538e810) at xfs_dir2_data.c:148
> 148 for (i = 0; i < be32_to_cpu(btp->count); i++)
> {
> (gdb) bt
> #0 0x000000000044dbcd in __xfs_dir3_data_check (dp=dp@entry=0x0,
> bp=bp@entry=0x1538e810) at xfs_dir2_data.c:148
> #1 0x000000000044b9ea in xfs_dir3_block_verify (bp=bp@entry=0x1538e810) at
> xfs_dir2_block.c:62
Can you do a little digging around in gdb to sort out more
about why it segfaulted?
We got a xfs_dir2_data_hdr_t from the passed-in bp w/ valid magic:
hdr = bp->b_addr;
and from that got btp:
switch (hdr->magic) {
case cpu_to_be32(XFS_DIR2_BLOCK_MAGIC):
btp = xfs_dir2_block_tail_p(mp, hdr);
and this just finds an offset from hdr:
((char *)hdr + mp->m_dirblksize)) - 1;
but then apparently blew up when we tried to use btp:
for (i = 0; i < be32_to_cpu(btp->count); i++) {
I don't see offhand how the hdr is ok, with good magic, but an
offset from the hdr (btp) is causing a segfault. Can you dig around
a bit more in gdb?
-Eric
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] xfs_repair: junk last entry in sf dir if name starts beyond dir size, Rui Gomes |
|---|---|
| Next by Date: | Re: [PATCH] xfs_repair: junk last entry in sf dir if name starts beyond dir size, Rui Gomes |
| Previous by Thread: | Re: [PATCH] xfs_repair: junk last entry in sf dir if name starts beyond dir size, Rui Gomes |
| Next by Thread: | Re: [PATCH] xfs_repair: junk last entry in sf dir if name starts beyond dir size, Rui Gomes |
| Indexes: | [Date] [Thread] [Top] [All Lists] |