Skip to contentSkip to conversation

Btrfs progs pre-release 4.4-rc1

DISCUSSION David Sterba 3 participants 6 messages Jan 14, 2016 – Jan 15, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

the btrfs-progs 4.4-rc1 has been tagged. This is a heads-up before the release (ETA tmorrow). Please give it some testing.

I'll write a more detailed changelog for 4.4, but here are some notable changes:

* manual pages enhanced (btrfs, mkfs, mount, filesystem, balance)
* mkfs.btrfs --data dup
* new/enhanced balance filters (kernel 4.4+):
* limit=min..max
* stripes=min..max
* usage=min..max
* free space tree (aka space_cache=v2, kernel 4.5+)
* fix: fi usage and mixed block groups
* debug-tree: -t understands chunk tree (3) and tree root (1)

Minor bugfixes are still accepted, the rest will go to the next development cycle.

Tarballs: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/
Git: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git

#1 lore raw

On 01/14/16 13:47, David Sterba wrote:
[..]

Quoted 1 line

* free space tree (aka space_cache=v2, kernel 4.5+)

I'd like to suggest to maybe add a BIG WARNING to the release notes that enabling the fst will currently prevent btrfsck from fixing a filesystem, due to the incompatible feature flag.

-h

#2 lore raw
Quoted 7 lines · Holger Hoffstätte

On 01/14/16 13:47, David Sterba wrote:
[..]

Quoted 1 line

* free space tree (aka space_cache=v2, kernel 4.5+)

I'd like to suggest to maybe add a BIG WARNING to the release notes that enabling the fst will currently prevent btrfsck from fixing a filesystem, due to the incompatible feature flag.

Thanks for the notice. As the free-space-tree patches are not in any released kernel, this should affect only developers. Btrfs-progs 4.5 is supposed to work with f-s-t.

#3 lore raw
In reply to David Sterba
Quoted 4 lines · David Sterba

Hi,

the btrfs-progs 4.4-rc1 has been tagged. This is a heads-up before the release (ETA tmorrow). Please give it some testing.

$ ./autogen.sh && ./configure && make static

Generate build-system by:
aclocal: aclocal (GNU automake) 1.15
autoconf: autoconf (GNU Autoconf) 2.69
autoheader: autoheader (GNU Autoconf) 2.69
automake: automake (GNU automake) 1.15

....
[LD] btrfs.static
help.static.o: In function `usage_command':
/usr/local/src/btrfs-progs/help.c:120: multiple definition of usage_command' help.static.o:/usr/local/src/btrfs-progs/help.c:120: first defined here help.static.o: In function usage':
help.c:(.text.usage+0x0): multiple definition of usage' help.static.o:help.c:(.text.usage+0x0): first defined here help.static.o: In function usage_command_group_short':
help.c:(.text.usage_command_group_short+0x0): multiple definition of usage_command_group_short' help.static.o:help.c:(.text.usage_command_group_short+0x0): first defined here help.static.o: In function usage_command_group':
help.c:(.text.usage_command_group+0x0): multiple definition of usage_command_group' help.static.o:help.c:(.text.usage_command_group+0x0): first defined here help.static.o: In function help_unknown_token':
help.c:(.text.help_unknown_token+0x0): multiple definition of help_unknown_token' help.static.o:help.c:(.text.help_unknown_token+0x0): first defined here help.static.o: In function help_command_group':
help.c:(.text.help_command_group+0x0): multiple definition of help_command_group' help.static.o:help.c:(.text.help_command_group+0x0): first defined here help.static.o: In function prefixcmp':
help.c:(.text.prefixcmp+0x0): multiple definition of prefixcmp' help.static.o:help.c:(.text.prefixcmp+0x0): first defined here help.static.o: In function help_ambiguous_token':
help.c:(.text.help_ambiguous_token+0x0): multiple definition of `help_ambiguous_token' help.static.o:help.c:(.text.help_ambiguous_token+0x0): first defined here
collect2: error: ld returned 1 exit status
Makefile:269: recipe for target 'btrfs.static' failed
make: *** [btrfs.static] Error 1

git bisect blames a6cc8ea10ad84e4b7d1303ed048e644f0dd7ae04

~ Noah

#4 lore raw

Static build fixed (Was: Re: Btrfs progs pre-release 4.4-rc1

Quoted 4 lines · Noah Massey

[LD] btrfs.static
help.static.o: In function `usage_command':
/usr/local/src/btrfs-progs/help.c:120: multiple definition of `usage_command' help.static.o:/usr/local/src/btrfs-progs/help.c:120: first defined here

...

Quoted 2 lines

git bisect blames a6cc8ea10ad84e4b7d1303ed048e644f0dd7ae04

Thanks, I'm committing the following patch as you found the fix faster.

---
commit 1bb0bba1b625eec1bd288699f10c8855034daef1

Author: Noah Massey <[email protected]>
Date:   Fri Jan 15 13:31:01 2016 +0100

btrfs-progs: fix static build

Change in "btrfs-progs: introduce helper for parsing args without options" added a dependency on help.o that was duplicated for the static build.

Makefile.in +2 -2
index 1bd497aca469..19697ffaf0bf 100644
@@ -265,9 +265,9 @@ btrfs: $(objects) btrfs.o $(cmds_objects) $(libs_static)
        $(Q)$(CC) $(CFLAGS) -o btrfs btrfs.o $(cmds_objects) \
                $(objects) $(libs_static) $(LDFLAGS) $(LIBS)
 
-btrfs.static: $(static_objects) btrfs.static.o help.static.o $(static_cmds_objects) $(static_libbtrfs_objects)
+btrfs.static: $(static_objects) btrfs.static.o $(static_cmds_objects) $(static_libbtrfs_objects)
        @echo "    [LD]     $@"
-       $(Q)$(CC) $(STATIC_CFLAGS) -o btrfs.static btrfs.static.o help.static.o $(static_cmds_objects) \
+       $(Q)$(CC) $(STATIC_CFLAGS) -o btrfs.static btrfs.static.o $(static_cmds_objects) \
                $(static_objects) $(static_libbtrfs_objects) $(STATIC_LDFLAGS) $(STATIC_LIBS)
 
 # For backward compatibility, 'btrfs' changes behaviour to fsck if it's named 'btrfsck'
#5 lore raw
In reply to David Sterba
Quoted 2 lines · David Sterba

the btrfs-progs 4.4-rc1 has been tagged. This is a heads-up before the release (ETA tmorrow). Please give it some testing.

4.4 release will be delayed, new ETA is Sunday.