Re: hfsplus BUG: Bad page state in process du pfn:07759 (Re: hfsplus corruption, failed fsck, journalling and zero'ing extent record on delete)

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

 



Hi Vyacheslav,

--- On Mon, 24/9/12, Vyacheslav Dubeyko <slava@xxxxxxxxxxx> wrote:

<snipped>
> So, you use journaled HFS+ partition when the issue takes
> place. Am I correct?

That's correct - it is also the case-sensitive version.

<snipped>
> As I can understand:
> 1. You had corrupted journaled HFS+ partition.
> 2. You modify metadata by hand.
> 3. Then you check this partition by fsck.hfsplus. And
> fsck.hfsplus ends checking without any error message.
> 4. But it takes place BUG message after trying to mount this
> partition.
>
> Am I correct in this description?

That's also correct. About item 3, I actually ran it three times -
"fsck.hfsplus -d -D 0x0033 -f -n -l /dev/sdb5"  once
"fsck.hfsplus -d -D 0x0033 -f /dev/sdb5" then twice. 

The first was just to verify that there are fewer critical errors (the "Overlapping extents" type) after modifying the the metadata by hand, without further change; the 2nd to actually fix the fixable errors; and the 3rd time to see that it is clean.
(I piped to "tee" and kept the logs if you feel like looking at them - the last one was the least interesting, of course).

Regards,
Hin-Tak

<snipped>
> > --- On Mon, 24/9/12, Vyacheslav Dubeyko <slava@xxxxxxxxxxx>
> wrote:
> > 
> >> Hi Hin-Tak,
> >> 
> >> Could you describe the way of issue reproduction in
> more
> >> details?
> >> 
> >> I need to know:
> >> 1. What kernel version do you use?
> >> 2. Do you have some special configuration of the
> system
> >> ([103022.536649]
> >> SELinux: initialized (dev sdb5, type hfsplus),
> uses
> >> genfs_contexts)?
> >> 3. How did you generate small files? How small is
> it (I mean
> >> size)?
> >> 
> >> Sorry, but currently I haven't clear understanding
> how to
> >> reproduce this
> >> issue from your description.
> >> 
> >> With the best regards,
> >> Vyacheslav Dubeyko.
> >> 
> >> On Mon, 2012-09-24 at 08:30 +0100, Hin-Tak Leung
> wrote:
> >>> Argh, the BUG() seems to be a genuine bug -
> running du
> >> on the recently "fsck.hfsplus -f" clean disk,
> mounting
> >> read-only with unmod'ed distro hfsplus driver:
> (see, "not
> >> Tainted"...)
> >>> 
> >>> =================
> >>> [103022.493765] hfs: write access to a
> journaled
> >> filesystem is not supported, use the force option
> at your
> >> own risk, mounting read-only.
> >>> [103022.536649] SELinux: initialized (dev sdb5,
> type
> >> hfsplus), uses genfs_contexts
> >>> [111015.478171] BUG: Bad page state in process
> du 
> >> pfn:07759
> >>> [111015.478182] page:ffffea00001dd640 count:0
> >> mapcount:0 mapping:       
>   (null)
> >> index:0x1935
> >>> [111015.478185] page flags:
> >> 0x20000000000004(referenced)
> >>> [111015.478189] Modules linked in: usb_storage
> tcp_lp
> >> nls_utf8 hfsplus fuse ip6table_filter ip6_tables
> ebtable_nat
> >> ebtables ipt_MASQUERADE 
> >>> iptable_nat nf_nat xt_CHECKSUM iptable_mangle
> bridge
> >> stp llc xt_LOG xt_physdev nf_conntrack_ipv4
> nf_defrag_ipv4
> >> xt_state nf_conntrack arc4 
> >>> rtl8187 eeprom_93cx6 mac80211 cfg80211
> >> snd_hda_codec_realtek joydev vhost_net tun macvtap
> macvlan
> >> kvm_amd kvm edac_core edac_mce_amd k8temp
> >>>   r592 memstick sp5100_tco
> snd_hda_intel
> >> snd_hda_codec snd_hwdep snd_pcm snd_page_alloc
> snd_timer snd
> >> soundcore i2c_piix4 r8169 mii shpchp t
> >>> oshiba_acpi sparse_keymap rfkill wmi ecryptfs
> >> sha256_generic encrypted_keys nfsd nfs_acl
> auth_rpcgss lockd
> >> sunrpc uinput binfmt_misc truste
> >>> d tpm tpm_bios ata_generic pata_acpi
> firewire_ohci
> >> sdhci_pci sdhci firewire_core crc_itu_t mmc_core
> pata_atiixp
> >> video radeon i2c_algo_bit d
> >>> rm_kms_helper ttm drm i2c_core [last unloaded:
> >> scsi_wait_scan]
> >>> [111015.478274] Pid: 23364, comm: du Not
> tainted
> >> 3.5.4-1.fc17.x86_64 #1
> >>> [111015.478277] Call Trace:
> >>> [111015.478291] 
> [<ffffffff81604213>]
> >> bad_page+0xe6/0xfb
> >>> [111015.478299] 
> [<ffffffff8112dd8e>]
> >> get_page_from_freelist+0x77e/0x940
> >>> [111015.478305] 
> [<ffffffff8112e0fd>]
> >> __alloc_pages_nodemask+0x1ad/0x970
> >>> [111015.478318] 
> [<ffffffffa05e5719>] ?
> >> hfsplus_bnode_read+0x89/0x100 [hfsplus]
> >>> [111015.478324] 
> [<ffffffffa05e5775>] ?
> >> hfsplus_bnode_read+0xe5/0x100 [hfsplus]
> >>> [111015.478329] 
> [<ffffffff811699e0>]
> >> alloc_pages_current+0xb0/0x120
> >>> [111015.478334] 
> [<ffffffff811721b8>]
> >> new_slab+0x268/0x320
> >>> [111015.478339] 
> [<ffffffff8160546e>]
> >> __slab_alloc+0x36e/0x4c8
> >>> [111015.478344] 
> [<ffffffffa05df11a>] ?
> >> hfsplus_alloc_inode+0x1a/0x40 [hfsplus]
> >>> [111015.478349] 
> [<ffffffffa05df11a>] ?
> >> hfsplus_alloc_inode+0x1a/0x40 [hfsplus]
> >>> [111015.478354] 
> [<ffffffff811733f8>]
> >> kmem_cache_alloc+0x108/0x160
> >>> [111015.478359] 
> [<ffffffffa05e7d40>] ?
> >> __hplusfs_brec_find+0xa0/0x180 [hfsplus]
> >>> [111015.478364] 
> [<ffffffffa05df11a>]
> >> hfsplus_alloc_inode+0x1a/0x40 [hfsplus]
> >>> [111015.478371] 
> [<ffffffff811a0606>]
> >> alloc_inode+0x26/0xa0
> >>> [111015.478375] 
> [<ffffffff811a1c78>]
> >> iget_locked+0xb8/0x190
> >>> [111015.478380] 
> [<ffffffffa05df715>]
> >> hfsplus_iget+0x15/0x230 [hfsplus]
> >>> [111015.478386] 
> [<ffffffffa05e7c8f>] ?
> >> hfsplus_find_exit+0x2f/0x40 [hfsplus]
> >>> [111015.478391] 
> [<ffffffffa05e467f>]
> >> hfsplus_lookup+0x20f/0x2d0 [hfsplus]
> >>> [111015.478397] 
> [<ffffffff8119ed84>] ?
> >> __d_alloc+0x34/0x180
> >>> [111015.478402] 
> [<ffffffffa05d701a>] ?
> >> char2uni+0x1a/0x50 [nls_utf8]
> >>> [111015.478406] 
> [<ffffffff81173321>] ?
> >> kmem_cache_alloc+0x31/0x160
> >>> [111015.478410] 
> [<ffffffff8119ed84>] ?
> >> __d_alloc+0x34/0x180
> >>> [111015.478413] 
> [<ffffffff8119ee9c>] ?
> >> __d_alloc+0x14c/0x180
> >>> [111015.478419] 
> [<ffffffff811928e1>]
> >> __lookup_hash+0x61/0x120
> >>> [111015.478423] 
> [<ffffffff81194b49>] ?
> >> lookup_fast+0x219/0x310
> >>> [111015.478427] 
> [<ffffffff81605959>]
> >> lookup_slow+0x47/0xab
> >>> [111015.478431] 
> [<ffffffff81196ac6>]
> >> path_lookupat+0x716/0x750
> >>> [111015.478436] 
> [<ffffffff81173321>] ?
> >> kmem_cache_alloc+0x31/0x160
> >>> [111015.478440] 
> [<ffffffff81196b31>]
> >> do_path_lookup+0x31/0xc0
> >>> [111015.478444] 
> [<ffffffff81192b33>] ?
> >> getname_flags+0x53/0xf0
> >>> [111015.478448] 
> [<ffffffff8119787d>]
> >> user_path_at_empty+0x5d/0xa0
> >>> [111015.478454] 
> [<ffffffff8127973a>] ?
> >> inode_has_perm.isra.31.constprop.61+0x2a/0x30
> >>> [111015.478459] 
> [<ffffffff8127d835>] ?
> >> selinux_inode_getattr+0x45/0x50
> >>> [111015.478464] 
> [<ffffffff8118c910>] ?
> >> cp_new_stat+0x120/0x140
> >>> [111015.478468] 
> [<ffffffff811978d1>]
> >> user_path_at+0x11/0x20
> >>> [111015.478472] 
> [<ffffffff8118cba5>]
> >> vfs_fstatat+0x35/0x70
> >>> [111015.478475] 
> [<ffffffff8118ceaa>]
> >> sys_newfstatat+0x1a/0x40
> >>> [111015.478482] 
> [<ffffffff81614e29>]
> >> system_call_fastpath+0x16/0x1b
> >>> [111015.478485] Disabling lock debugging due to
> kernel
> >> taint
> >>> ============================
> >>> 
> >>> --- On Mon, 24/9/12, Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
> >> wrote:
> >>> 
> >>> <snipped>
> >>>> I mentioned briefly some days ago that I
> managed
> >> to corrupt
> >>>> an HFS+ paritition while experimenting with
> the
> >> journalling
> >>>> code, to the extent that
> fsck_hfs/fsck.hfsplus
> >> (Apple's
> >>>> diskdev_cmds tool) refuses to fix. And
> that
> >> partition, with
> >>>> the unmodified module used ready-only can
> get the
> >> kernel to
> >>>> BUG() "reliably" by just doing "du" on it
> (and I
> >> was
> >>>> thinking whether BUG()'ing on corrupted
> disk is a
> >> bug to
> >>>> file...).
> >>> 
> >>> 
> >>> --
> >>> To unsubscribe from this list: send the line
> >> "unsubscribe linux-fsdevel" in
> >>> the body of a message to majordomo@xxxxxxxxxxxxxxx
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >> 
> >> 
> >> 
> > --
> > To unsubscribe from this list: send the line
> "unsubscribe linux-fsdevel" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux