Hello! Today I downgraded from Ubuntu''s APT repo "oneiric-proposed" (which brings some kernel 3.0.0-13) back to the standard repo "oneiric". Now I''m not able to mount my btrfs / and /home (both on the same partition) anymore: device fsid SOME-UUID devid 1 transid 84229 /dev/dm-0 parent transid verify failed on 77078528 wanted 83774 found 84226 parent transid verify failed on 77078528 wanted 83774 found 84226 parent transid verify failed on 77078528 wanted 83774 found 84226 parent transid verify failed on 77078528 wanted 83774 found 84226 btrfs: open_ctree failed The boot process drops to the initramfs shell with no btrfsck available. I tried to boot with both the "new" 3.0.0-13 kernel and the old 3.0.0-12 and 3.0.0-11 kernels -- no success. I''m running a live cd right now with 3.0.0-12 and I get the above error no matter what I do: no mount, no fsck, no nothing. I really hope someone can help me get my data back... Joachim -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Oct 28, 2011 at 08:36:28PM +0000, email@joachim-neu.de wrote:> Today I downgraded from Ubuntu''s APT repo "oneiric-proposed" (which > brings some kernel 3.0.0-13) back to the standard repo "oneiric".It''s odd that switching from one 3.0.0 to another would cause something bad to happen. Did something else happen in the process, like a reboot without a clean shutdown? (This includes power loss, suspend and failure to resume, and Alt-SysRq-b).> Now I''m not able to mount my btrfs / and /home (both on the same > partition) anymore: > > device fsid SOME-UUID devid 1 transid 84229 /dev/dm-0 > parent transid verify failed on 77078528 wanted 83774 found 84226 > parent transid verify failed on 77078528 wanted 83774 found 84226 > parent transid verify failed on 77078528 wanted 83774 found 84226 > parent transid verify failed on 77078528 wanted 83774 found 84226 > btrfs: open_ctree failed > > The boot process drops to the initramfs shell with no btrfsck > available.It wouldn''t make any difference if it were -- btrfsck doesn''t actually fix anything, I''m afraid. This error message is regrettably generic, and covers a whole range of evils. It''s possible that 3.1 may be able to deal swith the breakage ufficiently well to allow you to boot and copy your files.> I tried to boot with both the "new" 3.0.0-13 kernel and > the old 3.0.0-12 and 3.0.0-11 kernels -- no success. I''m running a > live cd right now with 3.0.0-12 and I get the above error no matter > what I do: no mount, no fsck, no nothing. > > I really hope someone can help me get my data back...You could try using a 3.1 kernel, as I suggested above. Failing that, in josef''s git repository at [1], you will find a tool called "restore". This should allow you to copy any files that had been modified since your last backup. If you haven''t got backups, you *really* should look into getting some before continuing to use a filesystem marked as EXPERIMENTAL... Hugo. [1] https://github.com/josefbacik/btrfs-progs -- === Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk == PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk --- If you''re not part of the solution, you''re part --- of the precipiate.
On Fri, 28 Oct 2011 22:09:47 +0100, Hugo Mills <hugo@carfax.org.uk> wrote:> On Fri, Oct 28, 2011 at 08:36:28PM +0000, email@joachim-neu.de wrote: >> Today I downgraded from Ubuntu''s APT repo "oneiric-proposed" (which >> brings some kernel 3.0.0-13) back to the standard repo "oneiric". > > It''s odd that switching from one 3.0.0 to another would cause > something bad to happen. Did something else happen in the process, > like a reboot without a clean shutdown? (This includes power loss, > suspend and failure to resume, and Alt-SysRq-b).I agree, but there was no power loss or anything. Maybe the fs didn''t unmount correctly or fast enough when rebooting?>> Now I''m not able to mount my btrfs / and /home (both on the same >> partition) anymore: >> >> device fsid SOME-UUID devid 1 transid 84229 /dev/dm-0 >> parent transid verify failed on 77078528 wanted 83774 found 84226 >> parent transid verify failed on 77078528 wanted 83774 found 84226 >> parent transid verify failed on 77078528 wanted 83774 found 84226 >> parent transid verify failed on 77078528 wanted 83774 found 84226 >> btrfs: open_ctree failed >> >> The boot process drops to the initramfs shell with no btrfsck >> available. > > It wouldn''t make any difference if it were -- btrfsck doesn''t > actually fix anything, I''m afraid. This error message is regrettably > generic, and covers a whole range of evils. It''s possible that 3.1 > may > be able to deal swith the breakage ufficiently well to allow you to > boot and copy your files.I''ll give the 3.1 kernel a try right after "restore" finished which is running right now and doing quite a good job so far (as far as my / is concerned, lets wait for the /home). What do the above error messages indicate? Is there an incrementing number for every transaction and the number of the most recent transaction is stored somewhere and those messages occur once those numbers are out of sync somehow? Is it possible to "just" discard the last transactions? I would not mind, better loose a day than a month... Why is the message there three times? Is this information stored in a couple of backups? If so: can''t I use any of the other backups temporarily? "restore" opens the fs in a ro recovery mode somehow where it ignores those errors. Is it possible to "force" the btrfs driver to load the fs in this recovery mode as readonly, too?>> I tried to boot with both the "new" 3.0.0-13 kernel and >> the old 3.0.0-12 and 3.0.0-11 kernels -- no success. I''m running a >> live cd right now with 3.0.0-12 and I get the above error no matter >> what I do: no mount, no fsck, no nothing. >> >> I really hope someone can help me get my data back... > > You could try using a 3.1 kernel, as I suggested above. Failing > that, in josef''s git repository at [1], you will find a tool called > "restore". This should allow you to copy any files that had been > modified since your last backup. If you haven''t got backups, you > *really* should look into getting some before continuing to use a > filesystem marked as EXPERIMENTAL... > > Hugo.Thanks a lot for your help so far. I hope "restore" will do the trick, if not I''ll give kernel 3.1 a try. Joachim> > [1] https://github.com/josefbacik/btrfs-progs-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/29/2011 08:45 AM, email@joachim-neu.de wrote:> > On Fri, 28 Oct 2011 22:09:47 +0100, Hugo Mills <hugo@carfax.org.uk> wrote: >> On Fri, Oct 28, 2011 at 08:36:28PM +0000, email@joachim-neu.de wrote: >>> Today I downgraded from Ubuntu''s APT repo "oneiric-proposed" (which >>> brings some kernel 3.0.0-13) back to the standard repo "oneiric". >> >> It''s odd that switching from one 3.0.0 to another would cause >> something bad to happen. Did something else happen in the process, >> like a reboot without a clean shutdown? (This includes power loss, >> suspend and failure to resume, and Alt-SysRq-b). > > I agree, but there was no power loss or anything. Maybe the fs didn''t > unmount correctly or fast enough when rebooting? > >>> Now I''m not able to mount my btrfs / and /home (both on the same >>> partition) anymore: >>> >>> device fsid SOME-UUID devid 1 transid 84229 /dev/dm-0 >>> parent transid verify failed on 77078528 wanted 83774 found 84226 >>> parent transid verify failed on 77078528 wanted 83774 found 84226 >>> parent transid verify failed on 77078528 wanted 83774 found 84226 >>> parent transid verify failed on 77078528 wanted 83774 found 84226 >>> btrfs: open_ctree failed >>> >>> The boot process drops to the initramfs shell with no btrfsck >>> available. >> >> It wouldn''t make any difference if it were -- btrfsck doesn''t >> actually fix anything, I''m afraid. This error message is regrettably >> generic, and covers a whole range of evils. It''s possible that 3.1 may >> be able to deal swith the breakage ufficiently well to allow you to >> boot and copy your files. > > I''ll give the 3.1 kernel a try right after "restore" finished which is > running right now and doing quite a good job so far (as far as my / is > concerned, lets wait for the /home).You should definitely try 3.1. There are many improvements for btrfs. What errors are you getting on the screen and in your logs when you try to mount your subvolumes manually when booting from a live CD? Are / and /home in different subvolumes by the way?> What do the above error messages indicate?Try to google it. It looks like pretty common error that can be caused by a bunch of things as Hugo mentioned.> Is there an incrementing > number for every transaction and the number of the most recent > transaction is stored somewhere and those messages occur once those > numbers are out of sync somehow? Is it possible to "just" discard the > last transactions? I would not mind, better loose a day than a month... > Why is the message there three times? Is this information stored in a > couple of backups? If so: can''t I use any of the other backups > temporarily? "restore" opens the fs in a ro recovery mode somehow where > it ignores those errors. Is it possible to "force" the btrfs driver to > load the fs in this recovery mode as readonly, too?I don''t think anything of this is possible. ~d -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, Oct 29, 2011 at 01:45:32AM +0200, email@joachim-neu.de wrote:> > On Fri, 28 Oct 2011 22:09:47 +0100, Hugo Mills <hugo@carfax.org.uk> > wrote: > >On Fri, Oct 28, 2011 at 08:36:28PM +0000, email@joachim-neu.de wrote: > >>Now I''m not able to mount my btrfs / and /home (both on the same > >>partition) anymore: > >> > >>device fsid SOME-UUID devid 1 transid 84229 /dev/dm-0 > >>parent transid verify failed on 77078528 wanted 83774 found 84226 > >>parent transid verify failed on 77078528 wanted 83774 found 84226 > >>parent transid verify failed on 77078528 wanted 83774 found 84226 > >>parent transid verify failed on 77078528 wanted 83774 found 84226 > >>btrfs: open_ctree failed > >> > >>The boot process drops to the initramfs shell with no btrfsck > >>available. > > > > It wouldn''t make any difference if it were -- btrfsck doesn''t > >actually fix anything, I''m afraid. This error message is regrettably > >generic, and covers a whole range of evils. It''s possible that 3.1 > >may > >be able to deal swith the breakage ufficiently well to allow you to > >boot and copy your files. > > I''ll give the 3.1 kernel a try right after "restore" finished which > is running right now and doing quite a good job so far (as far as my > / is concerned, lets wait for the /home). > > What do the above error messages indicate? Is there an incrementing > number for every transaction and the number of the most recent > transaction is stored somewhere and those messages occur once those > numbers are out of sync somehow?Yes, that''s more or less right.> Is it possible to "just" discard > the last transactions? I would not mind, better loose a day than a > month... Why is the message there three times?The transid is stored in every single metadata block. When reading anything from the filesystem, there are typically many metadata blocks read, and in this case several of them have transids later than the expected value (which will come from the superblock).> Is this information stored in a couple of backups? If so: can''t I > use any of the other backups temporarily?There''s no explicit backups. btrfs is a copy-on-write filesystem, which means, amongst other things, that when new metadata (or data) is written to the FS, the old metadata is not overwritten immediately. However, it _is_ marked as free space, and so could be overwritten at any time. This isn''t a backup in any sense of the word, and it''s not directly reachable through the FS''s normal interfaces. It''s entirely down to luck whether the older blocks are still there.> "restore" opens the fs in a ro recovery mode somehow where it > ignores those errors. Is it possible to "force" the btrfs driver to > load the fs in this recovery mode as readonly, too?No, I think the reasoning is that once your FS has got to this state, it''s sufficiently badly broken that we don''t want to try recovering anything from kernel space because it''s too hard, and too many odd things could show up and crash the FS driver. Hugo. -- === Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk == PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk --- We are all lying in the gutter, but some of us are looking --- at the stars.