[RESEND] btrfs corruption / cannot mount

2012-12-02 Thread Riccardo Berto
Hi I'm a btrfs user since I encountered the ext4 3.6.2 bug and then I decided to switch. Today I was using my system when the /home btrfs filesystem get corrupted. I rebooted almost instantly but it couldn't mount /home (/dev/sda4). So I disabled the /home automount in fstab in order to have

3 root nodes, -o recovery/btrfs has no effect

2012-12-02 Thread Timo Nentwig
Hi there, I had remote filesystem not unmounting during shutdown so I hit the reboot button. Did so a couple of times in the past. 3.6.8-1-ARCH, btrfs-progs 0.19.20121005-4, don't remember the exact version I used when creating the filesystem (0.19 something). btrfsck looks like this:

Re: [RESEND] btrfs corruption / cannot mount

2012-12-02 Thread Michael Kjörling
On 2 Dec 2012 09:49 +0100, from riccardo...@gmail.com (Riccardo Berto): I'm a btrfs user since I encountered the ext4 3.6.2 bug and then I decided to switch. Now it seems to work fine, I will stick with this fs until your needs in order to give you logs to better understand what happened.

Re: [RESEND] btrfs corruption / cannot mount

2012-12-02 Thread Chris Samuel
Hiya Riccardo, On 02/12/12 19:49, Riccardo Berto wrote: I'm a btrfs user since I encountered the ext4 3.6.2 bug and then I decided to switch. You are aware that the ext4 issue you mention only affects people who turned on journal checksums, and is not turned on by default? This LWN article

Re: basic questions regarding some btrfs features

2012-12-02 Thread Hugo Mills
On Sun, Dec 02, 2012 at 11:17:26PM +0100, Aastha Mehta wrote: I am looking at btrfs to understand some of its features. One of them is the snapshot feature. Please tell me if my following understanding about snapshots in btrfs is correct or not. Btrfs supports both readonly and writeable

Re: basic questions regarding some btrfs features

2012-12-02 Thread Chris Murphy
On Dec 2, 2012, at 3:46 PM, Hugo Mills h...@carfax.org.uk wrote: No, there's precisely one top-level subvolume (subvolid=5). What is subvolid=0? I recently got myself into a subvolume maze and ended up mounting subvolid=0 to get back to the top level and that seemed to work at the time.

Re: basic questions regarding some btrfs features

2012-12-02 Thread Michael
Subvolid 0 is always the root. On Sun, Dec 2, 2012 at 7:59 PM, Michael m...@draftx.net wrote: Subvolid=0 is always the root subvolume. On Sun, Dec 2, 2012 at 6:32 PM, Chris Murphy li...@colorremedies.com wrote: On Dec 2, 2012, at 3:46 PM, Hugo Mills h...@carfax.org.uk wrote: No, there's

Re: basic questions regarding some btrfs features

2012-12-02 Thread Chris Murphy
On Dec 2, 2012, at 6:59 PM, Michael m...@draftx.net wrote: Subvolid=0 is always the root subvolume. OK so then what is subvolid=5? Chris Murphy -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to majord...@vger.kernel.org More majordomo info

Re: basic questions regarding some btrfs features

2012-12-02 Thread Liu Bo
On Sun, Dec 02, 2012 at 07:49:17PM -0700, Chris Murphy wrote: On Dec 2, 2012, at 6:59 PM, Michael m...@draftx.net wrote: Subvolid=0 is always the root subvolume. OK so then what is subvolid=5? We've parsed subvolid=5 and subvolid=0 to the same results, FS_TREE. FYI, the code is

64KB boot sector gap

2012-12-02 Thread Chris Murphy
When creating a btrfs volume with mkfs.btrfs, I'm noticing that the first 64KB are completely blank. Is this gap expressly intended for installing a boot manager/loader? e.g. GRUB 2 allows installation of boot.img + core.img into a btrfs formatted partition, without using block lists (the

Re: 64KB boot sector gap

2012-12-02 Thread Rock Lee
Maybe this function could give you a little explanation. static inline u64 btrfs_sb_offset(int mirror) { u64 start = 16 * 1024; if (mirror) return start (BTRFS_SUPER_MIRROR_SHIFT * mirror); return BTRFS_SUPER_INFO_OFFSET; } and BTRFS_SUPER_INFO_OFFSET is (64 * 1024)

Re: 64KB boot sector gap

2012-12-02 Thread Chris Murphy
No idea what that means. On Dec 3, 2012, at 12:52 AM, Rock Lee zim...@code-trick.com wrote: Maybe this function could give you a little explanation. static inline u64 btrfs_sb_offset(int mirror) { u64 start = 16 * 1024; if (mirror) return start (BTRFS_SUPER_MIRROR_SHIFT *