platform/upstream/btrfs-progs.git
16 years agoRemove extent back refs in batches, and avoid duplicate searches
Chris Mason [Tue, 4 Mar 2008 18:07:22 +0000 (13:07 -0500)]
Remove extent back refs in batches, and avoid duplicate searches

16 years agoAdd debugging for block group update failure
Chris Mason [Mon, 4 Feb 2008 15:10:13 +0000 (10:10 -0500)]
Add debugging for block group update failure

16 years agoCall btrfs_cow_block while lowering tree level.
Yan [Fri, 1 Feb 2008 19:58:07 +0000 (14:58 -0500)]
Call btrfs_cow_block while lowering tree level.

When freeing root block of a tree,  btrfs_free_extent' parameter
'ref_generation' is from root block itseft.  When freeing non-root
block,  'ref_generation' is from its parent. so when converting a
non-root block to root block, we must guarantee its generation is
equal to its parent's generation.

16 years agoInsert extent record and the first backref in a single balance
Chris Mason [Tue, 4 Mar 2008 16:35:36 +0000 (11:35 -0500)]
Insert extent record and the first backref in a single balance

16 years agoCopy correct tree when inserting into slot 0
Chris Mason [Wed, 30 Jan 2008 16:43:54 +0000 (11:43 -0500)]
Copy correct tree when inserting into slot 0

16 years agoAdd inode item and backref in one insert, reducing cpu usage
Chris Mason [Tue, 29 Jan 2008 20:15:18 +0000 (15:15 -0500)]
Add inode item and backref in one insert, reducing cpu usage

16 years agoDuring deletes and truncate, remove many items at once from the tree
Chris Mason [Tue, 29 Jan 2008 20:11:36 +0000 (15:11 -0500)]
During deletes and truncate, remove many items at once from the tree

16 years agoAdd some extra debugging around file data checksum failures
Chris Mason [Tue, 4 Mar 2008 16:23:32 +0000 (11:23 -0500)]
Add some extra debugging around file data checksum failures

16 years agoTune readahead during defrag to avoid reading too much at once
Chris Mason [Thu, 24 Jan 2008 21:13:14 +0000 (16:13 -0500)]
Tune readahead during defrag to avoid reading too much at once

16 years agoRename the extent_map code to extent_io
Chris Mason [Tue, 4 Mar 2008 16:16:54 +0000 (11:16 -0500)]
Rename the extent_map code to extent_io

This mirrors the changes in the kernel code.

16 years agoAdd debug-tree -e to print all allocated extents, and show-blocks to graph them
Chris Mason [Tue, 4 Mar 2008 00:55:16 +0000 (19:55 -0500)]
Add debug-tree -e to print all allocated extents, and show-blocks to graph them

16 years agoAdded tag v0.13 for changeset 58b803dc9fae
Chris Mason [Thu, 21 Feb 2008 19:55:23 +0000 (14:55 -0500)]
Added tag v0.13 for changeset 58b803dc9fae

16 years agoCRC32C big endian bugs...
David Miller [Fri, 15 Feb 2008 16:20:02 +0000 (11:20 -0500)]
CRC32C big endian bugs...

The CRC32C implementation in the btrfs progs is different from the one
in the kernel, so obviously nothing can possibly work on big-endian.

16 years agoUnaligned access fixes
David Miller [Fri, 15 Feb 2008 16:19:58 +0000 (11:19 -0500)]
Unaligned access fixes

The first problem is that these SETGET macros lose typing information,
and therefore can't see the 'packed' attribute and therefore take
unaligned access SIGBUS signals on sparc64 when trying to derefernce
the member.

The next problem is a similar issue in btrfs_name_hash().  This gets
passed things like &key.offset which is a member of a packed
structure, losing this packed'ness information btrfs_name_hash()
performs a potentially unaligned memory access, again resulting in a
SIGBUS.

16 years agomkfs: Zero 2MB at the start and end of the device
Chris Mason [Fri, 15 Feb 2008 16:19:26 +0000 (11:19 -0500)]
mkfs: Zero 2MB at the start and end of the device

But, on sparc, don't zero the first 1k.

16 years agoAdded tag v0.12 for changeset 5e8f040cdf7c
Chris Mason [Wed, 6 Feb 2008 16:37:45 +0000 (11:37 -0500)]
Added tag v0.12 for changeset 5e8f040cdf7c

16 years agoUpdate magic
Chris Mason [Mon, 4 Feb 2008 15:11:12 +0000 (10:11 -0500)]
Update magic

16 years agoHash in the owner and offset for file extent backref keys
Chris Mason [Fri, 1 Feb 2008 19:55:03 +0000 (14:55 -0500)]
Hash in the owner and offset for file extent backref keys

16 years agoFix for test_range_bit
Yan [Tue, 22 Jan 2008 16:34:13 +0000 (11:34 -0500)]
Fix for test_range_bit

test_range_bit doesn't properly handle the case: there's a hole at the
end of the range and there's no other extent_state after the range.

16 years agoFix btrfsck args checking
Kyle McMartin [Tue, 22 Jan 2008 16:32:09 +0000 (11:32 -0500)]
Fix btrfsck args checking

btrfsck fails to check if it actually received a dev argument though, so if you
don't pass a device, we get a nice segfault.

16 years agobtrfs-progs: build with -D_FORTIFY_SOURCE=2
Jan Engelhardt [Tue, 22 Jan 2008 16:32:07 +0000 (11:32 -0500)]
btrfs-progs: build with -D_FORTIFY_SOURCE=2

Add -D_FORTIFY_SOURCE=2 to the makeflags. It has been very helpful
in finding problems.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
---
 Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

16 years agobtrfs-progs: fix a buffer overflow during mkfs
Jan Engelhardt [Tue, 22 Jan 2008 16:32:06 +0000 (11:32 -0500)]
btrfs-progs: fix a buffer overflow during mkfs

Using strncpy avoids a 1 byte overflow into the next field
of the struct.  The overflow is harmless, but does
trip automated tools.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
---
 utils.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

16 years agoFix for btrfs_find_free_objectid
Yan [Tue, 22 Jan 2008 16:32:05 +0000 (11:32 -0500)]
Fix for btrfs_find_free_objectid

btrfs_find_free_objectid may return a used objectid due to arithmetic
underflow. This bug may happen when parameter 'root' is tree root,  so
it may cause serious problems when creating snapshot or sub-volume.

16 years agoFixes for the converter
Yan [Tue, 22 Jan 2008 16:32:03 +0000 (11:32 -0500)]
Fixes for the converter

Hello,

This patch fixes two newly found bugs in the converter.  The important
one is in create_ext2_image, sub-volume root directory's size not
properly updated after creating the ext2 image file. The other one is
a small bug in xattr support codes.  In addition to the fixes,  this
patch moves the 'if mounted' check to main() function.

Regards
YZ
---

16 years agoAdded tag v0.11 for changeset b3e59089dab6
Chris Mason [Thu, 17 Jan 2008 17:58:38 +0000 (12:58 -0500)]
Added tag v0.11 for changeset b3e59089dab6

16 years agoRemove kernel-space header in btrfs-progs
Yan [Thu, 17 Jan 2008 17:23:34 +0000 (12:23 -0500)]
Remove kernel-space header in btrfs-progs

When porting ctree.c in btrfs kernel module to btrfs-progs, I forgot
to remove a kernel-space header.  This may cause compile error on some
system.

16 years agoAdded tag v0.10 for changeset 548ea8d7514b
Chris Mason [Tue, 15 Jan 2008 15:33:32 +0000 (10:33 -0500)]
Added tag v0.10 for changeset 548ea8d7514b

16 years agoInstall btrfs-convert during make install
Chris Mason [Mon, 14 Jan 2008 19:08:07 +0000 (14:08 -0500)]
Install btrfs-convert during make install

16 years agoChange the magic to rev the disk format
Chris Mason [Mon, 14 Jan 2008 18:35:53 +0000 (13:35 -0500)]
Change the magic to rev the disk format

16 years agoAdd readonly inode flag
Yan [Mon, 14 Jan 2008 18:35:00 +0000 (13:35 -0500)]
Add readonly inode flag

This patch adds readonly inode flag support.  A file with this flag
can't be modified, but can be deleted.

16 years agoxattr support for the ext3->btrfs converter
Yan [Mon, 14 Jan 2008 18:35:00 +0000 (13:35 -0500)]
xattr support for the ext3->btrfs converter

16 years agoFix a typo in btrfs-progs/extent_map.c
Yan [Mon, 14 Jan 2008 18:35:00 +0000 (13:35 -0500)]
Fix a typo in btrfs-progs/extent_map.c

Hello,

update_extent_state is called with wrong parameter in merge_state.

16 years agoAdd rollback support for the converter
Yan [Tue, 8 Jan 2008 20:56:32 +0000 (15:56 -0500)]
Add rollback support for the converter

This patch adds rollback support for the converter,  the converter can
roll back a conversion if the image file haven't been modified.  In
addition,  I rearrange some codes in convert.c and add a few comments.

16 years agoA few update for btrfs-progs
Yan [Tue, 8 Jan 2008 20:55:08 +0000 (15:55 -0500)]
A few update for btrfs-progs

Hello,

This patch adds inode flags definition to btrfs-progs and updates
extent-tree.c to match the kernel.

16 years agobtrfs_print_node: don't use btrfs_item_key_to_cpu on nodes
Chris Mason [Mon, 7 Jan 2008 20:25:48 +0000 (15:25 -0500)]
btrfs_print_node: don't use btrfs_item_key_to_cpu on nodes

16 years agoAdd Yan Zheng's ext3->btrfs conversion program
Chris Mason [Fri, 4 Jan 2008 16:29:55 +0000 (11:29 -0500)]
Add Yan Zheng's ext3->btrfs conversion program

run make convert to build it, the program is named btrfs-convert and is
not installed by default.

16 years agoUpdate find_free_extent for the ext3 conversion tool
Yan [Fri, 4 Jan 2008 15:41:19 +0000 (10:41 -0500)]
Update find_free_extent for the ext3 conversion tool

This patch adds customized find_free_extent support to btrfs-progs,
the conversion program requires this.

16 years agoUpdate btrfs-progs to match kernel sources
Yan [Fri, 4 Jan 2008 15:38:22 +0000 (10:38 -0500)]
Update btrfs-progs to match kernel sources

16 years agoPort extent buffer to btrfs-progs
Yan Zheng [Fri, 4 Jan 2008 15:36:26 +0000 (10:36 -0500)]
Port extent buffer to btrfs-progs

This patch ports extent buffer to btrfs-progs. extent_map.c contains a
simplified extent map tree and functions that manipulate/manage extent
buffer. extent state related codes are based on corresponding codes in
kernel module, codes that manage extent buffer are from disk-io.c.

16 years agoAdd online resizing ioctls
Chris Mason [Fri, 21 Dec 2007 21:25:35 +0000 (16:25 -0500)]
Add online resizing ioctls

btrfsctl -r size mount_point

16 years agoVerify extent back references in btrfsck
Chris Mason [Fri, 14 Dec 2007 16:00:30 +0000 (11:00 -0500)]
Verify extent back references in btrfsck

16 years agoReorder extent back refs to differentiate file data from btree blocks
Chris Mason [Thu, 13 Dec 2007 16:12:45 +0000 (11:12 -0500)]
Reorder extent back refs to differentiate file data from btree blocks

16 years agoCreate macros to generation set/get funcs for on disk structures
Chris Mason [Wed, 12 Dec 2007 19:39:46 +0000 (14:39 -0500)]
Create macros to generation set/get funcs for on disk structures

16 years agoAdd back pointers from the inode to the directory that referenced it
Chris Mason [Wed, 12 Dec 2007 19:39:36 +0000 (14:39 -0500)]
Add back pointers from the inode to the directory that referenced it

16 years agoMakefile: CFLAGS, LDFLAGS
Jan Engelhardt [Tue, 11 Dec 2007 14:22:42 +0000 (09:22 -0500)]
Makefile: CFLAGS, LDFLAGS

Split CFLAGS into CFLAGS (user part) and AM_CFLAGS (not-so-user part;
variable name taken from automake, but otherwise no relation).
Also add LDFLAGS.
This allows me to use `make CFLAGS="-O2 -fPIE" LDFLAGS="-pie"` without
dropping the other important (AM_CFLAGS) flags.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
---
 btrfs-progs/Makefile |   17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

16 years agoAdd back pointers from extents to the file or btree referencing them
Chris Mason [Tue, 11 Dec 2007 14:21:42 +0000 (09:21 -0500)]
Add back pointers from extents to the file or btree referencing them

16 years agoAdd generation numbers to block pointers
Chris Mason [Sun, 9 Dec 2007 18:46:24 +0000 (13:46 -0500)]
Add generation numbers to block pointers

16 years agoUpdate btrfs-progs to better match the kernel
Yan [Wed, 5 Dec 2007 15:41:38 +0000 (10:41 -0500)]
Update btrfs-progs to better match the kernel

16 years agoAdded tag v0.9 for changeset 99eb8cf2ca51
Chris Mason [Tue, 4 Dec 2007 20:11:12 +0000 (15:11 -0500)]
Added tag v0.9 for changeset 99eb8cf2ca51

16 years agoAdd simple stripe size parameter
Chris Mason [Fri, 30 Nov 2007 16:30:24 +0000 (11:30 -0500)]
Add simple stripe size parameter

16 years agoxattr support for btrfs-progs
Josef Bacik [Fri, 16 Nov 2007 16:46:07 +0000 (11:46 -0500)]
xattr support for btrfs-progs

17 years agoproperly init block group cache structs
Chris Mason [Fri, 19 Oct 2007 14:38:08 +0000 (10:38 -0400)]
properly init block group cache structs

17 years agoRemove the last radix tree (block_group_cache)
Chris Mason [Wed, 17 Oct 2007 13:58:56 +0000 (09:58 -0400)]
Remove the last radix tree (block_group_cache)

17 years agoMake the crc32c code match what the kernel modules are currently doing
Chris Mason [Mon, 15 Oct 2007 20:25:43 +0000 (16:25 -0400)]
Make the crc32c code match what the kernel modules are currently doing

17 years agoCreate a slightly more generic extent-caching structure
Chris Mason [Mon, 15 Oct 2007 20:25:41 +0000 (16:25 -0400)]
Create a slightly more generic extent-caching structure

17 years agoSwitch to byte granular allocations
Chris Mason [Mon, 15 Oct 2007 20:25:14 +0000 (16:25 -0400)]
Switch to byte granular allocations

17 years agoStop using radix trees to record pending allocations
Chris Mason [Mon, 15 Oct 2007 20:25:04 +0000 (16:25 -0400)]
Stop using radix trees to record pending allocations

17 years agoAllow large blocks
Chris Mason [Mon, 15 Oct 2007 20:24:39 +0000 (16:24 -0400)]
Allow large blocks

17 years agoAdd per-file dependency tracking
Jan Engelhardt [Fri, 14 Sep 2007 14:31:10 +0000 (10:31 -0400)]
Add per-file dependency tracking

The dependency archive ".depend" is only created once.
Changing a C file's dependencies does not remake .depend,
so make will recompile either too few or too many things.
Use of per-.c file dependencies that are created and update
during compile solve this.

17 years agoMake btrfs-progs compile with -fstrict-aliasing (included in -O2) again.
Jan Engelhardt [Fri, 14 Sep 2007 14:31:06 +0000 (10:31 -0400)]
Make btrfs-progs compile with -fstrict-aliasing (included in -O2) again.

This is done by doing a two-step conversion (rather than a one-step).
First, the variable goes from type * to void *, and then to
implicitly to void **.
(Not sure if this is "good practice", but it shuts up the compiler,
so it seems the compiler takes into account that we are actually punning
it this way.)

17 years agoextra stats for btrfsck, link count in print-tree.c
Chris Mason [Fri, 14 Sep 2007 13:19:19 +0000 (09:19 -0400)]
extra stats for btrfsck, link count in print-tree.c

17 years agoAdded tag v0.8 for changeset f4810b8d5822
Chris Mason [Tue, 11 Sep 2007 23:48:37 +0000 (19:48 -0400)]
Added tag v0.8 for changeset f4810b8d5822

17 years agobtrfs-progs support for root block accounting
Josef Bacik [Wed, 29 Aug 2007 19:56:44 +0000 (15:56 -0400)]
btrfs-progs support for root block accounting

This adds support for keeping track of the number of blocks used by
root_item's.  This makes it so that mkfs lays down the "default" subvol with
the correct block accounting in place.  Thank you,

17 years agoAdded tag v0.6 for changeset 75b9a16fff1a
Chris Mason [Tue, 7 Aug 2007 20:35:34 +0000 (16:35 -0400)]
Added tag v0.6 for changeset 75b9a16fff1a

17 years agoadd defrag ioctl
Chris Mason [Tue, 7 Aug 2007 20:15:59 +0000 (16:15 -0400)]
add defrag ioctl

17 years agoAdded tag v0.5 for changeset 85bf73175772
Chris Mason [Thu, 28 Jun 2007 20:36:48 +0000 (16:36 -0400)]
Added tag v0.5 for changeset 85bf73175772

17 years agocalculate checksums during IO
Josef Bacik [Thu, 28 Jun 2007 20:20:29 +0000 (16:20 -0400)]
calculate checksums during IO

17 years agoAllow install prefix overrides
Jeff Mahoney [Thu, 28 Jun 2007 20:03:23 +0000 (16:03 -0400)]
Allow install prefix overrides

17 years agoDocumentation update
Chris Mason [Thu, 28 Jun 2007 20:02:01 +0000 (16:02 -0400)]
Documentation update

17 years agoAdded tag v0.4 for changeset c969452d5ae7
Chris Mason [Fri, 22 Jun 2007 18:50:47 +0000 (14:50 -0400)]
Added tag v0.4 for changeset c969452d5ae7

17 years agoAdded tag v0.4 for changeset c760f17dde33
Chris Mason [Fri, 22 Jun 2007 18:38:03 +0000 (14:38 -0400)]
Added tag v0.4 for changeset c760f17dde33

17 years agodisk format updates for finding dead roots
Chris Mason [Fri, 22 Jun 2007 18:37:48 +0000 (14:37 -0400)]
disk format updates for finding dead roots

17 years agoAdded tag v0.3 for changeset 1ef7cf63ac2c
Chris Mason [Mon, 18 Jun 2007 14:34:21 +0000 (10:34 -0400)]
Added tag v0.3 for changeset 1ef7cf63ac2c

17 years agoFix btrfsck build failure on FC7
Terje Rosten [Mon, 18 Jun 2007 12:45:50 +0000 (08:45 -0400)]
Fix btrfsck build failure on FC7

17 years agoAdded tag v0.2 for changeset 9cebac62e0c9
Chris Mason [Wed, 13 Jun 2007 15:53:39 +0000 (11:53 -0400)]
Added tag v0.2 for changeset 9cebac62e0c9

17 years agofix COPYING
Chris Mason [Tue, 12 Jun 2007 19:41:08 +0000 (15:41 -0400)]
fix COPYING

17 years agoi386 fixes from axboe
Chris Mason [Tue, 12 Jun 2007 15:39:09 +0000 (11:39 -0400)]
i386 fixes from axboe

17 years agoadd GPLv2
Chris Mason [Tue, 12 Jun 2007 13:07:11 +0000 (09:07 -0400)]
add GPLv2

17 years agono slashes in subvolume names
Chris Mason [Tue, 12 Jun 2007 12:21:28 +0000 (08:21 -0400)]
no slashes in subvolume names

17 years agoprintf cleanups
Chris Mason [Tue, 12 Jun 2007 12:08:04 +0000 (08:08 -0400)]
printf cleanups

17 years agoremove device tree
Chris Mason [Sat, 9 Jun 2007 13:22:37 +0000 (09:22 -0400)]
remove device tree

17 years ago32 bit compile fixes
Chris Mason [Fri, 8 Jun 2007 12:44:41 +0000 (08:44 -0400)]
32 bit compile fixes

17 years agoendian fixes, makefile fixes
Chris Mason [Fri, 8 Jun 2007 02:12:21 +0000 (22:12 -0400)]
endian fixes, makefile fixes

17 years agodata vs metadata flag for block groups
Chris Mason [Wed, 30 May 2007 14:21:32 +0000 (10:21 -0400)]
data vs metadata flag for block groups

17 years agocleanup warnings found with -O2
Chris Mason [Tue, 22 May 2007 14:07:10 +0000 (10:07 -0400)]
cleanup warnings found with -O2

17 years agoreduce ram used by btrfsck
Chris Mason [Tue, 22 May 2007 13:17:08 +0000 (09:17 -0400)]
reduce ram used by btrfsck

17 years agobtrfsck fixes and cleanups
Chris Mason [Fri, 18 May 2007 17:26:07 +0000 (13:26 -0400)]
btrfsck fixes and cleanups

17 years agomore stats from fsck
Chris Mason [Thu, 10 May 2007 00:13:48 +0000 (20:13 -0400)]
more stats from fsck

17 years agocompile fix
Chris Mason [Tue, 8 May 2007 00:04:45 +0000 (20:04 -0400)]
compile fix

17 years agoallocator improvements, inode block groups
Chris Mason [Mon, 30 Apr 2007 19:25:49 +0000 (15:25 -0400)]
allocator improvements, inode block groups

17 years agostart of block group code
Chris Mason [Thu, 26 Apr 2007 20:46:06 +0000 (16:46 -0400)]
start of block group code

17 years agouse node list for roots
Chris Mason [Wed, 25 Apr 2007 14:08:15 +0000 (10:08 -0400)]
use node list for roots

17 years agoadd bit-radix.h to the repo
Chris Mason [Tue, 24 Apr 2007 16:45:36 +0000 (12:45 -0400)]
add bit-radix.h to the repo

17 years agosubvolume and snapshot fsck support
Chris Mason [Tue, 24 Apr 2007 16:44:05 +0000 (12:44 -0400)]
subvolume and snapshot fsck support

17 years agoget rid of the extent_item type field
Chris Mason [Tue, 24 Apr 2007 16:09:01 +0000 (12:09 -0400)]
get rid of the extent_item type field

17 years agofsck checks against extent map, small fixes
Chris Mason [Mon, 23 Apr 2007 21:00:26 +0000 (17:00 -0400)]
fsck checks against extent map, small fixes

17 years agofaster btrfsck
Chris Mason [Mon, 23 Apr 2007 19:56:27 +0000 (15:56 -0400)]
faster btrfsck

17 years agoadd owner and type fields to the extents aand block headers
Chris Mason [Sat, 21 Apr 2007 00:23:29 +0000 (20:23 -0400)]
add owner and type fields to the extents aand block headers

17 years agobring back the inode number directory index
Chris Mason [Thu, 19 Apr 2007 19:41:24 +0000 (15:41 -0400)]
bring back the inode number directory index

17 years agoinline file data in extents
Chris Mason [Thu, 19 Apr 2007 17:38:02 +0000 (13:38 -0400)]
inline file data in extents