Was working this morning and my kernel crashed. Unfortunately one of my two btrfs partitions would not mount after rebooting, this is the error log: [ 1518.147030] device label MediaNew devid 1 transid 28844 /dev/sdc3 [ 1518.147364] btrfs: enabling auto defrag [ 1518.147372] btrfs: use lzo compression [ 1518.632469] parent transid verify failed on 498530500608 wanted 26696 found 27535 [ 1518.632707] parent transid verify failed on 498530500608 wanted 26696 found 27535 [ 1518.640263] parent transid verify failed on 498530500608 wanted 26696 found 27535 [ 1518.640279] parent transid verify failed on 498530500608 wanted 26696 found 27535 [ 1518.660243] btrfs: open_ctree failed Tried btrfsck after a lot of messages got: ... leaf parent key incorrect 563096514560 Unable to find block group for 0 btrfsck: extent-tree.c:284: find_search_start: Assertion `!(1)'' failed. My kernel 3.0.0-16-generic, any hope for this ? Or is he dead jim ? I don''t have any snapshots of the partition. Thoughts ? thanks -- 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 Mon, Mar 26, 2012 at 02:40:24PM -0700, Not Zippy wrote:> Was working this morning and my kernel crashed. Unfortunately one of > my two btrfs partitions would not mount after rebooting, this is the > error log: > [ 1518.147030] device label MediaNew devid 1 transid 28844 /dev/sdc3 > [ 1518.147364] btrfs: enabling auto defrag > [ 1518.147372] btrfs: use lzo compression > [ 1518.632469] parent transid verify failed on 498530500608 wanted > 26696 found 27535 > [ 1518.632707] parent transid verify failed on 498530500608 wanted > 26696 found 27535 > [ 1518.640263] parent transid verify failed on 498530500608 wanted > 26696 found 27535 > [ 1518.640279] parent transid verify failed on 498530500608 wanted > 26696 found 27535 > [ 1518.660243] btrfs: open_ctree failed > > Tried btrfsck after a lot of messages got: > ... > leaf parent key incorrect 563096514560 > Unable to find block group for 0 > btrfsck: extent-tree.c:284: find_search_start: Assertion `!(1)'' failed.btrfsck doesn''t fix anything. It just checks the FS and tells you that there''s something wrong (which it just did). If you''re feeling very very brave, there''s the "dangerdonteveruse" branch of the btrfs-progs tools in cmason''s git, which might fix things. Alternatively, it might fuck up your filesystem so badly there''s no way you can retrieve any remaining data from it. Your choice.> My kernel 3.0.0-16-generic, any hope for this ? Or is he dead jim ? I^^^^^ Old, old, old. It''s a bit late now, but you should really keep up with the latest kernels. That should help minimise this kind of event.> don''t have any snapshots of the partition.btrfs snapshots wouldn''t help here. LVM snapshots would, of course. There''s a restore tool that may allow you to copy off any data that''s not backed up (you *do* have backups, right? for an experimental filesystem?). See the wiki at [1]. Hugo. [1] http://btrfs.ipv5.de/index.php?title=Restore -- === 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 --- "I will not be pushed, filed, stamped, indexed, briefed, --- debriefed or numbered. My life is my own."
Hugo I did try the dangerdonteveruse branch and thats the error btrfsck --repair gave me. Looks like the btrfs-restore command may work (thanks!). And yes I do have backups for the important data - I had some other data on there which would need to be d/l again.. I don''t dabble that much with the kernel - this is a straight ubuntu which I regularly do their updates - Can I advance the kernel beyond ? If your recommending this I will definitely look into it (since I dont want a repeat of this to occur) Does this article describe the update well enough ? http://www.upubuntu.com/2012/03/how-to-install-linux-33-kernel-in.html Thanks for the help Nz> > btrfsck doesn''t fix anything. It just checks the FS and tells you > that there''s something wrong (which it just did). If you''re feeling > very very brave, there''s the "dangerdonteveruse" branch of the > btrfs-progs tools in cmason''s git, which might fix things. > Alternatively, it might fuck up your filesystem so badly there''s no > way you can retrieve any remaining data from it. Your choice. > >> My kernel 3.0.0-16-generic, any hope for this ? Or is he dead jim ? I > ^^^^^ Old, old, old. It''s a bit late now, but you should > really keep up with the latest kernels. That should help > minimise this kind of event. > >> don''t have any snapshots of the partition. > > btrfs snapshots wouldn''t help here. LVM snapshots would, of course. > > There''s a restore tool that may allow you to copy off any data > that''s not backed up (you *do* have backups, right? for an > experimental filesystem?). See the wiki at [1]. > > Hugo. > > [1] http://btrfs.ipv5.de/index.php?title=Restore > > -- > === 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 > --- "I will not be pushed, filed, stamped, indexed, briefed, --- > debriefed or numbered. My life is my own."-- 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 Mon, Mar 26, 2012 at 03:36:13PM -0700, Not Zippy wrote:> Hugo > I did try the dangerdonteveruse branch and thats the error btrfsck > --repair gave me.Oooh, a brave one, I see. ;)> Looks like the btrfs-restore command may work (thanks!). And yes I > do have backups for the important data - I had some other data on > there which would need to be d/l again..Excellent. We don''t need to set the hounds onto you, then.> I don''t dabble that much with the kernel - this is a straight ubuntu > which I regularly do their updates - Can I advance the kernel beyond ?Yes, there''s a PPA[1] for it (documented in the "Getting Started" page on the btrfs wiki at [2]). [1] http://kernel.ubuntu.com/~kernel-ppa/mainline/ [2] http://btrfs.ipv5.de/index.php?title=Getting_started#Ubuntu_Linux> If your recommending this I will definitely look into it (since I dont > want a repeat of this to occur) Does this article describe the update > well enough ? http://www.upubuntu.com/2012/03/how-to-install-linux-33-kernel-in.htmlI''m not 100% sure -- I don''t run Ubuntu on very many machines. You will probably need to add the PPA to your /etc/apt/sources.list file. I''m not sure exactly which URL you need, though. I''d guess that Googling for "Ubuntu Kernel PPA" will get you the relevant instructions. (Or just download the .deb manually from the URL above and intall with dpkg -i). I''d definitely recommend running as recent a kernel as you can -- either the last released (3.3 in this case), or the latest -rc (still also 3.3 right now, but going up to 3.4-rc1 in a few days'' time). Both should be available in the kernel PPA. 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 --- There is no dark side to the Moon, really. As a matter of --- fact, it''s all dark.
On 27/03/12 09:47, Hugo Mills wrote:> I''d definitely recommend running as recent a kernel as you can -- > either the last released (3.3 in this case)I''m not sure I''d recommend 3.3; there were a number of reports of a regression regarding preamture ENOSPC in that code which was bisected to a particular change but I didn''t see any evidence of it being fixed in 3.3 (only 2 unrelated fixes were merged after rc6, where this problem was confirmed). https://lkml.org/lkml/2012/3/9/624 I''m currently running 3.2.13 from the Ubuntu site here: http://kernel.ubuntu.com/~kernel-ppa/mainline/ I just download the deb via Lynx and install it with dpkg -i $PACKAGE. cheers, Chris -- Chris Samuel : http://www.csamuel.org/ : Melbourne, VIC -- 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
One entire subvolume was restored. But there were 4 subvolumes on that partition. Is there a way to specify/force the restore of a different subvolume ? find-root seems to only find a single root. thanks On Mon, Mar 26, 2012 at 3:47 PM, Hugo Mills <hugo@carfax.org.uk> wrote:> On Mon, Mar 26, 2012 at 03:36:13PM -0700, Not Zippy wrote: >> Hugo >> I did try the dangerdonteveruse branch and thats the error btrfsck >> --repair gave me. > > Oooh, a brave one, I see. ;) > >> Looks like the btrfs-restore command may work (thanks!). And yes I >> do have backups for the important data - I had some other data on >> there which would need to be d/l again.. > > Excellent. We don''t need to set the hounds onto you, then. > >> I don''t dabble that much with the kernel - this is a straight ubuntu >> which I regularly do their updates - Can I advance the kernel beyond ? > > Yes, there''s a PPA[1] for it (documented in the "Getting Started" > page on the btrfs wiki at [2]). > > [1] http://kernel.ubuntu.com/~kernel-ppa/mainline/ > [2] http://btrfs.ipv5.de/index.php?title=Getting_started#Ubuntu_Linux >-- 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 Tue, Mar 27, 2012 at 05:58:17AM -0700, Not Zippy wrote:> One entire subvolume was restored. But there were 4 subvolumes on that > partition. Is there a way to specify/force the restore of a different > subvolume ? > > find-root seems to only find a single root.There is only a single root tree, so that''s understandable. If you have a look at the documentation for restore[1], it mentions (right near the bottom of the page) that -r will allow you to select an alternative subvolume to recover from. Hugo. [1] http://btrfs.ipv5.de/index.php?title=Restore> thanks > > On Mon, Mar 26, 2012 at 3:47 PM, Hugo Mills <hugo@carfax.org.uk> wrote: > > On Mon, Mar 26, 2012 at 03:36:13PM -0700, Not Zippy wrote: > >> Hugo > >> I did try the dangerdonteveruse branch and thats the error btrfsck > >> --repair gave me. > > > > Oooh, a brave one, I see. ;) > > > >> Looks like the btrfs-restore command may work (thanks!). And yes I > >> do have backups for the important data - I had some other data on > >> there which would need to be d/l again.. > > > > Excellent. We don''t need to set the hounds onto you, then. > > > >> I don''t dabble that much with the kernel - this is a straight ubuntu > >> which I regularly do their updates - Can I advance the kernel beyond ? > > > > Yes, there''s a PPA[1] for it (documented in the "Getting Started" > > page on the btrfs wiki at [2]). > > > > [1] http://kernel.ubuntu.com/~kernel-ppa/mainline/ > > [2] http://btrfs.ipv5.de/index.php?title=Getting_started#Ubuntu_Linux > >-- === 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 --- The enemy have elected for Death by Powerpoint. That''s what --- they shall get. -- gdb
I had found that note on the restore but my restore.c does not allow that flag (it is also missing the "m" flag as well), I used the branch dangerousdonteveruse on https://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git I switched to the master branch to see if there was a difference but it does not appear to be any different. (I did find a btrfs-progs on git-hub which appears to have those flags, but i thought the best to use would be on git.kernel. ) Assuming I can locate the correct restore.c, is there a some other software to determine the object id of the subvolume ? the root object id was 5 thanks Nz On Tue, Mar 27, 2012 at 6:02 AM, Hugo Mills <hugo@carfax.org.uk> wrote:> On Tue, Mar 27, 2012 at 05:58:17AM -0700, Not Zippy wrote: >> One entire subvolume was restored. But there were 4 subvolumes on that >> partition. Is there a way to specify/force the restore of a different >> subvolume ? >> >> find-root seems to only find a single root. > > There is only a single root tree, so that''s understandable. If you > have a look at the documentation for restore[1], it mentions (right > near the bottom of the page) that -r will allow you to select an > alternative subvolume to recover from. >-- 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
Thought I would let you know I did get things figured out. I used btrfs-progs from github https://github.com/josefbacik/btrfs-progs I also used the findroot function from there which generated more possibilities for the root objectid. By pluging in the guesses from findroot into -r objectid for the restore I was able to access the data from my subvolumes. thanks Nz On Tue, Mar 27, 2012 at 8:21 AM, Not Zippy <notzippy@gmail.com> wrote:> I had found that note on the restore but my restore.c does not allow > that flag (it is also missing the "m" flag as well), I used the branch > dangerousdonteveruse on > https://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git I > switched to the master branch to see if there was a difference but it > does not appear to be any different. (I did find a btrfs-progs on > git-hub which appears to have those flags, but i thought the best to > use would be on git.kernel. ) > > Assuming I can locate the correct restore.c, is there a some other > software to determine the object id of the subvolume ? the root > object id was 5 > > thanks > Nz > > On Tue, Mar 27, 2012 at 6:02 AM, Hugo Mills <hugo@carfax.org.uk> wrote: >> On Tue, Mar 27, 2012 at 05:58:17AM -0700, Not Zippy wrote: >>> One entire subvolume was restored. But there were 4 subvolumes on that >>> partition. Is there a way to specify/force the restore of a different >>> subvolume ? >>> >>> find-root seems to only find a single root. >> >> There is only a single root tree, so that''s understandable. If you >> have a look at the documentation for restore[1], it mentions (right >> near the bottom of the page) that -r will allow you to select an >> alternative subvolume to recover from. >>-- 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