Extend BTRFS_IOC_DEVICES_READY for degraded RAID

2015-01-05 Thread Harald Hoyer
We have BTRFS_IOC_DEVICES_READY to report, if all devices are present, so that a udev rule can report ID_BTRFS_READY and SYSTEMD_READY. I think we need a third state here for a degraded RAID, which can be mounted, but should only after a certain timeout/kernel command line params. We also have

Re: Standards Problems [Was: [PATCH v2 1/3] Btrfs: get more accurate output in df command.]

2015-01-05 Thread Dongsheng Yang
On 12/31/2014 08:15 AM, Zygo Blaxell wrote: On Wed, Dec 17, 2014 at 08:07:27PM -0800, Robert White wrote: [...] There are a number of pathological examples in here, but I think there are justifiable correct answers for each of them that emerge from a single interpretation of the meanings of

Re: Standards Problems [Was: [PATCH v2 1/3] Btrfs: get more accurate output in df command.]

2015-01-05 Thread Dongsheng Yang
On 12/27/2014 09:10 AM, Robert White wrote: On 12/23/2014 04:31 AM, Dongsheng Yang wrote: On 12/18/2014 12:07 PM, Robert White wrote: ... Thanx Yang . xaE Fine. but you still haven't told me/us what you thing df (really fsstat() ) should report in those cases. Go back to that email.

[PATCH v2 1/3] Btrfs: get more accurate output in df command.

2015-01-05 Thread Dongsheng Yang
When function btrfs_statfs() calculate the tatol size of fs, it is calculating the total size of disks and then dividing it by a factor. But in some usecase, the result is not good to user. Example: # mkfs.btrfs -f /dev/vdf1 /dev/vdf2 -d raid1 # mount /dev/vdf1 /mnt # dd

[PATCH v2 2/3] Btrfs: raid56: simplify the parameter of nr_parity_stripes().

2015-01-05 Thread Dongsheng Yang
We just need the type of a chunk to calculate the number of parity stripes, but we have to pass a structure of lookup_map to it. This will prevent some callers to use it where there is no a convenient lookup_map to be passed. This patch replace the parameter of struct map_lookup * with a profile

Re: [PATCH] btrfs: get the accurate value of used_bytes in btrfs_get_block_group_info().

2015-01-05 Thread Dongsheng Yang
Ping. IOCTL of BTRFS_IOC_SPACE_INFO currently does not report the data used but not synced to user. Then btrfs fi df will give user a wrong numbers before sync. This patch solve this problem. On 10/27/2014 08:38 PM, Dongsheng Yang wrote: Reproducer: # mkfs.btrfs -f -b 20G /dev/sdb

Re: [PATCH] btrfs: suppress a build warning on building 32bit kernel

2015-01-05 Thread Satoru Takeuchi
Hi David, On 2014/12/30 0:09, David Sterba wrote: On Thu, Dec 25, 2014 at 06:21:41PM +0900, Satoru Takeuchi wrote: From: Satoru Takeuchi takeuchi_sat...@jp.fujitsu.com --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2190,7 +2190,7 @@ void btrfs_free_io_failure_record(struct inode

Re: [PATCH] btrfs-progs: Fix a extent buffer leak in count_csum_range().

2015-01-05 Thread Satoru Takeuchi
On 2015/01/05 16:56, Qu Wenruo wrote: The commit f495a2ac6611 (btrfs-progs: fsck: remove unfriendly BUG_ON() for searching tree failure) is causing tons of extent buffer leak if some csum mismatches in btrfsck. This is caused by a misplaced btrfs_release_path(), fix it. Signed-off-by: Qu

Endless (logging of) transid failure in btrfsck after chunk-recover with btrfs-progs 3.18 on Linux 3.17.7

2015-01-05 Thread Karl-Philipp Richter
Hi, After running `sudo btrfs rescue chunk-recover -y -v /dev/loop0` with 4 unrecoverable chunks (of 619) I'm having trouble with `btrfsck` which logs parent transid verify failed on 4210688 wanted 61241 found 7983179 Ignoring transid failure apparently for ever (let it run for 1 hour

Re: Data recovery after RBD I/O error

2015-01-05 Thread Austin S Hemmelgarn
On 2015-01-04 15:26, Jérôme Poulin wrote: Happy holiday everyone, TL;DR: Hardware corruption is really bad, if btrfs-restore work, kernel Btrfs can! I'm cross-posting this message since the root cause for this problem is the Ceph RBD device however, my main concern is data loss from a BTRFS

Re: Extend BTRFS_IOC_DEVICES_READY for degraded RAID

2015-01-05 Thread Austin S Hemmelgarn
On 2015-01-05 06:31, Lennart Poettering wrote: On Mon, 05.01.15 10:46, Harald Hoyer (har...@redhat.com) wrote: We have BTRFS_IOC_DEVICES_READY to report, if all devices are present, so that a udev rule can report ID_BTRFS_READY and SYSTEMD_READY. I think we need a third state here for a

Re: [PATCH] btrfs: reada: Remove unused function

2015-01-05 Thread David Sterba
On Sun, Jan 04, 2015 at 01:59:57AM +0100, Rickard Strandqvist wrote: Remove the function btrfs_reada_detach() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist

Re: Extend BTRFS_IOC_DEVICES_READY for degraded RAID

2015-01-05 Thread Goffredo Baroncelli
On 2015-01-05 12:31, Lennart Poettering wrote: On Mon, 05.01.15 10:46, Harald Hoyer (har...@redhat.com) wrote: We have BTRFS_IOC_DEVICES_READY to report, if all devices are present, so that a udev rule can report ID_BTRFS_READY and SYSTEMD_READY. I think we need a third state here for a

BTRFS_IOC_TREE_SEARCH ioctl

2015-01-05 Thread Lennart Poettering
Heya, I recently added some btrfs magic to systemd's machinectl/nspawn tool. More specifically it can now show the disk usage of a container that is stored in a btrfs subvolume. For that I made use of the btrfs quota logic. To read the current disk usage of a subvolume I took inspiration from

RFE: per-subvolume timestamp that is updated on every change to a subvolume

2015-01-05 Thread Lennart Poettering
Heya! I am looking for a nice way to query the overall last modification timestamp of a subvolume. i.e. the most recent mtime of *any* file or directory within a subvolume. Ideally, I think, there was a btrfs_timespec field for this in struct btrfs_root_item, alas there isn't afaics. Any chance

Re: [PATCH] Documentation: fix broken conversion

2015-01-05 Thread Qu Wenruo
Original Message Subject: [PATCH] Documentation: fix broken conversion From: Peter Wu pe...@lekensteyn.nl To: linux-btrfs@vger.kernel.org Date: 2015年01月05日 22:10 Fixes various formatting issues: Fixes quoting issues in various manpages. Before/After excerpts for

[PATCH] btrfs-progs: Fix a buffer overflow causing segfault in fstests/btrfs/069

2015-01-05 Thread Qu Wenruo
Since BTRFS_IOC_FS_INFO will return num of devices without counting devid 0 and di_arg is allocated according to it, so when replacing is running, there is num_devices + 1(0~num_devices) items to be written into di_args arrary, which causes buffer overflow with the following segfault. *** Error

Re: Balance is inexplicably dieing (repeatedly)

2015-01-05 Thread sys.syphus
I think you are correct. it has an odd number of members and its raid1. the most recent addition only has half the capacity of the others. that would appear to be by design. On Mon, Jan 5, 2015 at 3:18 PM, Calvin Walton calvin.wal...@kepstin.ca wrote: On Mon, 2015-01-05 at 13:18 -0600,

Re: RFE: per-subvolume timestamp that is updated on every change to a subvolume

2015-01-05 Thread Qu Wenruo
Original Message Subject: RFE: per-subvolume timestamp that is updated on every change to a subvolume From: Lennart Poettering lenn...@poettering.net To: linux-btrfs@vger.kernel.org Date: 2015年01月06日 01:27 Heya! I am looking for a nice way to query the overall last

Re: BTRFS_IOC_TREE_SEARCH ioctl

2015-01-05 Thread Hugo Mills
On Mon, Jan 05, 2015 at 06:15:12PM +0100, Lennart Poettering wrote: Heya, I recently added some btrfs magic to systemd's machinectl/nspawn tool. More specifically it can now show the disk usage of a container that is stored in a btrfs subvolume. For that I made use of the btrfs quota logic.

Re: BTRFS_IOC_TREE_SEARCH ioctl

2015-01-05 Thread Lennart Poettering
On Mon, 05.01.15 18:22, Hugo Mills (h...@carfax.org.uk) wrote: On Mon, Jan 05, 2015 at 06:15:12PM +0100, Lennart Poettering wrote: Heya, I recently added some btrfs magic to systemd's machinectl/nspawn tool. More specifically it can now show the disk usage of a container that is

Balance is inexplicably dieing (repeatedly)

2015-01-05 Thread sys.syphus
I start it. I check it and its like 2% done Several hours its stopped and the re-balance clearly didn't finish because I can see one member of the array has a fraction of the usage of the others. Dmesg shows no errors. Thoughts? should start it again in the foreground with verbosity or something?

Re: [PATCH V2] Btrfs: really fix trim 0 bytes after a device delete

2015-01-05 Thread Lutz Euler
Hello, happy new year to you, too! [Martin Steigerwald:] Happy new year! Am Samstag, 3. Januar 2015, 16:30:51 schrieb Lutz Euler: Commit 2cac13e41bf5b99ffc426bd28dfd2248df1dfa67, fix trim 0 bytes after a device delete, said: A user reported a bug of btrfs's trim, that is we will trim

Re: BTRFS_IOC_TREE_SEARCH ioctl

2015-01-05 Thread Hugo Mills
On Mon, Jan 05, 2015 at 08:11:56PM +0100, Lennart Poettering wrote: On Mon, 05.01.15 18:22, Hugo Mills (h...@carfax.org.uk) wrote: On Mon, Jan 05, 2015 at 06:15:12PM +0100, Lennart Poettering wrote: Heya, I recently added some btrfs magic to systemd's machinectl/nspawn tool. More

Re: Balance is inexplicably dieing (repeatedly)

2015-01-05 Thread Hugo Mills
On Mon, Jan 05, 2015 at 01:18:20PM -0600, sys.syphus wrote: I start it. I check it and its like 2% done Several hours its stopped and the re-balance clearly didn't finish because I can see one member of the array has a fraction of the usage of the others. Dmesg shows no errors. How large

[PATCH] btrfs: clear bio reference after submit_one_bio()

2015-01-05 Thread Naohiro Aota
After submit_one_bio(), `bio' can go away. However submit_extent_page() leave `bio' referable if submit_one_bio() failed (e.g. -ENOMEM on OOM). It will cause invalid paging request when submit_extent_page() is called next time. I reproduced ENOMEM case with the following script (need

Re: Balance is inexplicably dieing (repeatedly)

2015-01-05 Thread Calvin Walton
On Mon, 2015-01-05 at 13:18 -0600, sys.syphus wrote: I start it. I check it and its like 2% done Several hours its stopped and the re-balance clearly didn't finish because I can see one member of the array has a fraction of the usage of the others. Dmesg shows no errors. Thoughts? should