Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031371Ab2HIPuh (ORCPT ); Thu, 9 Aug 2012 11:50:37 -0400 Received: from mx1.fusionio.com ([66.114.96.30]:51981 "EHLO mx1.fusionio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030952Ab2HIPud (ORCPT ); Thu, 9 Aug 2012 11:50:33 -0400 X-ASG-Debug-ID: 1344527431-03d6a5623f32e150001-xx1T2L X-Barracuda-Envelope-From: clmason@fusionio.com Date: Thu, 9 Aug 2012 11:50:29 -0400 From: Chris Mason To: Linus Torvalds , Linux Btrfs List , "linux-kernel@vger.kernel.org" Subject: [GIT PULL 1/2] Btrfs fixes Message-ID: <20120809155029.GA29278@shiny> X-ASG-Orig-Subj: [GIT PULL 1/2] Btrfs fixes Mail-Followup-To: Chris Mason , Linus Torvalds , Linux Btrfs List , "linux-kernel@vger.kernel.org" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline User-Agent: Mutt/1.5.21 (2011-07-01) X-Barracuda-Connect: mail1.int.fusionio.com[10.101.1.21] X-Barracuda-Start-Time: 1344527431 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://10.101.1.180:8000/cgi-mod/mark.cgi X-Barracuda-Bayes: INNOCENT GLOBAL 0.0000 1.0000 -2.0210 X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=9.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.105150 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5263 Lines: 115 Hi everyone, This first pull is the bulk of our changes for the next rc. It is against the 3.5 kernel so people testing the new features have a stable point to work against. This was tested against Linus' current tree as well. The second pull is just one fix against 3.6-rc1 (in another email). Linus, please grab my for-linus branch: git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus Most of these fixes are against the new send/receive code. Alexander fixed a number of bugs in there and I found a more while backing up my laptop. It does nightly incremental runs now about 3x faster than rsync, so things are looking pretty good. On top of that we have fixes for some long standing bugs in the delayed reference code (a few more of these are still being worked on), deadlocks and other small fixes. Alexander Block (23) commits (+482/-419): Btrfs: don't treat top/root directory inode as deleted/reused (+20/-1) Btrfs: fix use of radix_tree for name_cache in send/receive (+37/-39) Btrfs: rename backref_ctx::found_in_send_root to found_itself (+4/-4) Btrfs: pass root instead of parent_root to iterate_inode_ref (+2/-2) Btrfs: add correct parent to check_dirs when dir got moved (+11/-0) Btrfs: add missing check for dir != tmp_dir to is_first_ref (+1/-1) Btrfs: fix check for changed extent in is_extent_unchanged (+2/-2) Btrfs: free nce and nce_head on error in name_cache_insert (+5/-1) Btrfs: don't break in the final loop of find_extent_clone (+0/-1) Btrfs: fix cur_ino < parent_ino case for send/receive (+146/-244) Btrfs: add/fix comments/documentation for send/receive (+134/-6) Btrfs: use normal return path for root == send_root case (+0/-6) Btrfs: fix memory leak for name_cache in send/receive (+1/-0) Btrfs: use kmalloc instead of stack for backref_ctx (+18/-11) Btrfs: remove unused use_list from send/receive code (+0/-2) Btrfs: remove unused tmp_path from iterate_dir_item (+0/-8) Btrfs: add rdev to get_inode_info in send/receive (+17/-13) Btrfs: use <= instead of < in is_extent_unchanged (+1/-1) Btrfs: update send_progress at correct places (+20/-6) Btrfs: ignore non-FS inodes for send/receive (+5/-0) Btrfs: code cleanups for send/receive (+35/-48) Btrfs: make aux field of ulist 64 bit (+21/-23) Btrfs: remove unused code with #if 0 (+2/-0) Josef Bacik (9) commits (+325/-215): Btrfs: don't allocate a seperate csums array for direct reads (+19/-32) Btrfs: do not use missing devices when showing devname (+2/-0) Btrfs: fix enospc problems when deleting a subvol (+1/-1) Btrfs: increase the size of the free space cache (+7/-8) Btrfs: lock extents as we map them in DIO (+127/-129) Btrfs: allow delayed refs to be merged (+142/-27) Btrfs: do not strdup non existent strings (+5/-3) Btrfs: barrier before waitqueue_active (+10/-12) Btrfs: use a slab for btrfs_dio_private (+12/-3) Dan Carpenter (4) commits (+16/-8): Btrfs: unlock on error in btrfs_delalloc_reserve_metadata() (+3/-1) Btrfs: fix some error codes in btrfs_qgroup_inherit() (+6/-2) Btrfs: fix some endian bugs handling the root times (+4/-4) Btrfs: checking for NULL instead of IS_ERR (+3/-1) Stefan Behrens (3) commits (+8/-36): Btrfs: fix a misplaced address operator in a condition (+1/-1) Btrfs: remove superblock writing after fatal error (+5/-33) Btrfs: fix that error value is changed by mistake (+2/-2) Chris Mason (2) commits (+40/-15): Btrfs: fix btrfs send for inline items and compression (+37/-15) Btrfs: don't run __tree_mod_log_free_eb on leaves (+3/-0) Fengguang Wu (2) commits (+4/-6): btrfs: fix second lock in btrfs_delete_delayed_items() (+3/-2) btrfs: Use PTR_RET in btrfs_resume_balance_async() (+1/-4) Arne Jansen (2) commits (+38/-73): Btrfs: fix deadlock in wait_for_more_refs (+21/-73) Btrfs: fix race in run_clustered_refs (+17/-0) Miao Xie (1) commits (+1/-0): Btrfs: fix wrong mtime and ctime when creating snapshots Total: (46) commits fs/btrfs/backref.c | 12 +- fs/btrfs/compression.c | 1 + fs/btrfs/ctree.c | 14 +- fs/btrfs/ctree.h | 3 +- fs/btrfs/delayed-inode.c | 12 +- fs/btrfs/delayed-ref.c | 163 +++++++-- fs/btrfs/delayed-ref.h | 4 + fs/btrfs/disk-io.c | 45 +-- fs/btrfs/disk-io.h | 2 +- fs/btrfs/extent-tree.c | 123 +++---- fs/btrfs/extent_io.c | 1 - fs/btrfs/file-item.c | 4 +- fs/btrfs/inode.c | 318 ++++++++--------- fs/btrfs/ioctl.c | 2 +- fs/btrfs/locking.c | 2 +- fs/btrfs/qgroup.c | 32 +- fs/btrfs/root-tree.c | 4 +- fs/btrfs/send.c | 895 ++++++++++++++++++++++++++--------------------- fs/btrfs/super.c | 2 + fs/btrfs/transaction.c | 3 +- fs/btrfs/ulist.c | 7 +- fs/btrfs/ulist.h | 9 +- fs/btrfs/volumes.c | 16 +- 23 files changed, 908 insertions(+), 766 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/