Re: invalid files names, btrfs check can't repair it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2018年01月13日 05:04, Sebastian Andrzej Siewior wrote:
> Hi,
> 
> so I had bad memory and before I realized it and removed it btrfs took some
> damage. Now I have this:
> 
> |ls -lh crap/
> |ls: cannot access 'crap/2f3f379b2a3d7499471edb74869efe-1948311.d': No such file or directory
> |ls: cannot access 'crap/454bf066ddfbf42e0f3b77ea71c82f-878732.o': No such file or directory
> |total 0
> |-????????? ? ? ? ?            ? 2f3f379b2a3d7499471edb74869efe-1948311.d
> |-????????? ? ? ? ?            ? 454bf066ddfbf42e0f3b77ea71c82f-878732.o
> 
> and in dmesg I see:
> 
> | BTRFS critical (device sda4): invalid dir item type: 33
> | BTRFS critical (device sda4): invalid dir item name len: 8231
> 
> `btrfs check' (from v4.14.1) finds them and prints them but has no idea
> what to do with it. Would it be possible to let the check tool rename
> the offended filename to something (like its inode number) put it in
> lost+found if it has any data attached to it and otherwise simply remove
> it? Right now I can't remove that folder.

'Btrfs check' output please.

And in fact, btrfs check --repair has the ability to move/re-link such
file and keeps its content, as long as there is any info found in
DIR_INDEX/DIR_ITEM/INODE_REF.

If repair can't handle it, the output could help us to craft such case
and enhance btrfs-progs to repair it.

Thanks,
Qu

> 
> Sebastian
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux