Re: performance loss with lots of snapshots

2013-07-09 Thread Chris Samuel
Hiya Russell, On 10/07/13 12:54, Russell Coker wrote: > This has happened to me often enough that I can probably reproduce it on a > VM. > What kernel should I use for such tests? I'd suggest at least 3.10, and perhaps also Chris Mason's git tree here: https://git.kernel.org/cgit/linux/kerne

space cache and unclean shutdown

2013-07-09 Thread Shridhar Daithankar
Hello, I am repeatedly running into problems with space cache and unclean shutdown. I am hitting the bug as reported/fixed at https://bugzilla.kernel.org/show_bug.cgi?id=57631 The solution works for me but it is a good 10-15 min ritual to clean all the partitions, discard cache, reboot, rebuil

Re: [PATCH] Btrfs-progs: fix memory leak in open_file_or_dir()

2013-07-09 Thread Anand Jain
Thanks. Reviewed-by: Anand Jain On 07/10/2013 07:01 AM, Wang Shilong wrote: From: Wang Shilong After calling opendir() successfully, closedir() should be also called to free memory. Otherwise, memory leak happens. Signed-off-by: Wang Shilong --- utils.c | 9 + 1 file changed

Re: [PATCH] Btrfs-progs: update usage message for cmds-restore

2013-07-09 Thread Anand Jain
Thanks. - "btrfs restore [options] ", + "btrfs restore [options] | btrfs restore -l ", should this be rather... "btrfs restore [options] | -l ", Thanks Anand -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vg

performance loss with lots of snapshots

2013-07-09 Thread Russell Coker
There are two uses of backups, recovering from user errors (IE deleting the wrong file) and recovering from sysadmin errors or hardware failures (IE disks are dead or wiped). For the former use I'm mainly using BTRFS snapshots on many systems. A problem that I have had on more than a few occas

Re: [PATCH] btrfs-progs: Fix automatic prerequisite generation

2013-07-09 Thread Kusanagi Kouichi
On 2013-07-08 19:09:25 +0200, David Sterba wrote: > On Mon, Jul 08, 2013 at 06:46:07PM +0200, David Sterba wrote: > > On Sat, Jul 06, 2013 at 05:22:31PM +0900, Kusanagi Kouichi wrote: > > > Some files don't compile because of insufficient prerequisite. > > > > > > $ make btrfs > > > ... > > >

Re: [PATCH V2 1/2] Btrfs-progs: make pretty_sizes() work less error prone

2013-07-09 Thread Wang Shilong
Hello, Zach >> The original codes don't handle error gracefully and some places >> forget to free memory. We can allocate memory before calling pretty_sizes(), >> for example, we can use static memory allocation and we don't have to deal >> with memory allocation fails. > > I agree that callers

[PATCH] Btrfs-progs: fix memory leak in open_file_or_dir()

2013-07-09 Thread Wang Shilong
From: Wang Shilong After calling opendir() successfully, closedir() should be also called to free memory. Otherwise, memory leak happens. Signed-off-by: Wang Shilong --- utils.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/utils.c b/utils.c index 7b4cd74..0afff5

[PATCH] btrfs: fall back to global reservation when removing subvolumes

2013-07-09 Thread Jeff Mahoney
I recently did some ENOSPC testing that involved filling the disk while create and removing snapshots in a loop. During the test cycle, I ran into an ENOSPC when trying to remove a snapshot, leaving the fs stuck in ENOSPC even after a umount/mount cycle. This patch allow subvolume removal to fall

[PATCH] Btrfs-progs: update usage message for cmds-restore

2013-07-09 Thread Filipe David Borba Manana
Mention that a target path argument is mandatory unless the -l option is supplied. Also mention about the existence of the -l option, which was previously not announced. $ btrfs restore -v /dev/sdb3 usage: btrfs restore [options] Try to restore files from a damaged filesystem (unmounted)

Re: [PATCH V2 1/2] Btrfs-progs: make pretty_sizes() work less error prone

2013-07-09 Thread Zach Brown
> The original codes don't handle error gracefully and some places > forget to free memory. We can allocate memory before calling pretty_sizes(), > for example, we can use static memory allocation and we don't have to deal > with memory allocation fails. I agree that callers shouldn't have to know

[GIT PULL] Btrfs

2013-07-09 Thread Chris Mason
Hi Linus, This Btrfs pull is available in two flavors: First, my for-linus branch has it against all the btrfs pulls from 3.10: git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus Or, with a merge commit on top of 3.10 (master branch): git://git.kernel.org/pub/scm/lin

[PATCH 0/2] Remove duplicated and useless code in cmds-restore

2013-07-09 Thread Filipe David Borba Manana
The following patch series are just a cleanup for cmds-restore.c, removing some duplicated code and code that never gets executed. Filipe David Borba Manana (2): Btrfs-progs: remove duplicated code in cmds-restore.c Btrfs-progs: remove unneeded leaf checks in cmds-restore cmds-restore.c | 1

[PATCH 2/2] Btrfs-progs: remove unneeded leaf checks in cmds-restore

2013-07-09 Thread Filipe David Borba Manana
If btrfs_search_slot() returns a value >= 0, then we can be sure that path->nodes[i] is not NULL for each i between 0 to tree height - 1. The function btrfs_next_leaf() also ensures any path->nodes[i] is not NULL as long as it returns 0. Signed-off-by: Filipe David Borba Manana --- cmds-restore.

[PATCH 1/2] Btrfs-progs: remove duplicated code in cmds-restore.c

2013-07-09 Thread Filipe David Borba Manana
The module cmds-restore.c was defining its own next_leaf() function, which did exactly the same as btrfs_next_leaf() from ctree.c. Signed-off-by: Filipe David Borba Manana --- cmds-restore.c | 62 +--- 1 file changed, 5 insertions(+), 57 dele

[PATCH] btrfs-progs: use reentrant localtime

2013-07-09 Thread David Sterba
localtime may return NULL (when an error is detected eg. after setting tzname), followed by a segfault when the values is about to be used. localtime_r works, does not set tzname and does not return NULL. Signed-off-by: David Sterba --- btrfs-list.c | 10 ++ cmds-subvolume.c | 10 +++

[PATCH] btrfs-progs: Fix getopt on arm/ppc platforms

2013-07-09 Thread David Sterba
(same as commit bb0eabc383e9a3fde7cdb02591ca88243f3e31fb) There, 'char' is unsigned, so once assigned '-1' from getopt, it gets the value 255. Then, it compared to '-1' gives false. Signed-off-by: David Sterba --- btrfs-crc.c | 2 +- cmds-device.c | 2 +- 2 files changed, 2 insertions(+), 2 de

[PATCH] btrfs-progs: fix duplicate __[su]* typedefs on ppc64

2013-07-09 Thread David Sterba
From: Michal Marek The header does attempt to avoid conflicts with , but on ppc64, gets somehow included by other headers. Include explicitly, so that notices it. The proper fix would be to fix to not use its own typedefs. Originally observed in btrfs-convert, put the include into kerncomp

[PATCH] btrfs-progs: use accessor macro for otime

2013-07-09 Thread David Sterba
The root_item->otime value must be accessed via the macro otherwise the value is incorrect on big endian machines. Signed-off-by: David Sterba --- btrfs-list.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/btrfs-list.c b/btrfs-list.c index c3d35de..7f34237 100644 --- a/btrf

[PATCH] Btrfs-progs: add missing path release

2013-07-09 Thread Filipe David Borba Manana
Before repeating the search in extent-tree.c:lookup_inline_extent_backref(), release the current path. Signed-off-by: Filipe David Borba Manana --- extent-tree.c |1 + 1 file changed, 1 insertion(+) diff --git a/extent-tree.c b/extent-tree.c index f597e16..ba357de 100644 --- a/extent-tree.c

[PATCH v2] btrfs: Cleanup for using BTRFS_SETGET_STACK instead of raw convert

2013-07-09 Thread Qu Wenruo
Some codes still use the cpu_to_lexx instead of the BTRFS_SETGET_STACK_FUNCS declared in ctree.h. Also added some BTRFS_SETGET_STACK_FUNCS for btrfs_header btrfs_timespec and other structures. Signed-off-by: Qu Wenruo Reviewed-by: Miao Xie Reviewed-by: David Sterba --- Changelog v1->v2: - use