Hi everyone, I always thought that I''d be retired and with my flying car at the beach by the time 3.0 came out, but I''ve setup the for-linus branch of the btrfs-unstable tree for pulling: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus This pull request is probably the biggest I''ve sent, but it isn''t a code dump into our shiny new .0 rc. The bulk of the changes are three separate projects that have been going on for 6-8 months: A new btrfs inode allocation cache (Li Zefan) Delayed metadata insertion into the btree (Miao Xe) Device scrubbing (Arne Jansen) On top of that Dave Sterba kicked in a series of code cleanups and Josef Bacik did some really nice tuning. The short log lists a few other cleanups and fixes too. I coded up a mount -o autodefrag that will detect random writes into existing files and kick off background defragging. It is well suited to bdb or sqlite databases, but not virtualization images or big databases (yet). Once I make sure it doesn''t defrag files over and over again, I''ll move this toward the default. David Sterba (17) commits (+310/-3253): btrfs: rename variables clashing with global function names (+53/-53) btrfs: use printk_ratelimited instead of printk_ratelimit (+10/-24) btrfs: drop unused parameter from btrfs_release_path (+160/-160) btrfs: drop unused parameter from extent_map_tree_init (+5/-7) btrfs: drop unused argument from extent_io_tree_init (+10/-12) btrfs: remove nested duplicate variable declarations (+0/-4) btrfs: drop gfp parameter from alloc_extent_buffer (+7/-9) btrfs: drop gfp parameter from find_extent_buffer (+4/-6) btrfs: drop gfp parameter from alloc_extent_map (+16/-17) btrfs: use unsigned type for single bit bitfield (+4/-4) btrfs: remove old unused commented out code (+1/-2071) btrfs: Document a mutex lock/unlock sequence (+12/-0) btrfs: make functions static when possible (+7/-7) btrfs: unify checking of IS_ERR and null (+17/-17) btrfs: remove unused function prototypes (+0/-43) btrfs: remove all unused functions (+1/-817) btrfs: fix dereference before check (+3/-2) Li Zefan (8) commits (+1449/-665): Btrfs: Make the code for reading/writing free space cache generic (+204/-154) Btrfs: setup free ino caching in a more asynchronous way (+22/-6) Btrfs: Support reading/writing on disk free ino cache (+236/-19) Btrfs: Remove unused btrfs_block_group_free_space() (+0/-16) Btrfs: Make free space cache code generic (+271/-223) Btrfs: Cache free inode numbers in memory (+500/-53) Btrfs: Always use 64bit inode number (+208/-182) Btrfs: Use bitmap_set/clear() (+8/-12) Xiao Guangrong (7) commits (+134/-59): Btrfs: allocate extent state and check the result properly (+26/-8) Btrfs: using rcu lock in the reader side of devices list (+72/-36) Btrfs: fix the race between reading and updating devices (+9/-0) Btrfs: fix the race between remove dev and alloc chunk (+6/-0) Btrfs: fix bh leak on __btrfs_open_devices path (+1/-0) Btrfs: fix unsafe usage of merge_state (+14/-8) Btrfs: drop unnecessary device lock (+6/-7) Arne Jansen (6) commits (+1822/-361): btrfs scrub: don''t coalesce pages that are logically discontiguous (+2/-1) btrfs: move btrfs_cmp_device_free_bytes to super.c (+26/-28) btrfs: quasi-round-robin for chunk allocation (+177/-305) btrfs: add readonly flag (+16/-12) btrfs: heed alloc_start (+1/-4) btrfs: scrub (+1600/-11) Tsutomu Itoh (5) commits (+43/-36): Btrfs: BUG_ON is deleted from the caller of btrfs_truncate_item & btrfs_extend_item (+2/-17) Btrfs: return error code to caller when btrfs_previous_item fails (+3/-2) Btrfs: return error code to caller when btrfs_del_item fails (+19/-11) Btrfs: return error to caller if read_one_inode() fails (+18/-6) Btrfs: check return value of btrfs_inc_extent_ref() (+1/-0) Chris Mason (4) commits (+689/-144): Btrfs: update the delayed inode code to use the btrfs_ino helper. (+7/-6) Btrfs: use the device_list_mutex during write_dev_supers (+2/-2) Btrfs: return -ENOMEM in clear_extent_bit (+2/-1) Btrfs: add mount -o auto_defrag (+678/-135) Sergei Trofimovich (3) commits (+7/-3): btrfs: don''t spin in shrink_delalloc if there is nothing to free (+4/-0) btrfs: fix typo ''testeing'' -> ''testing'' (+2/-2) btrfs: typo: ''btrfS'' -> ''btrfs'' (+1/-1) Jan Schmidt (1) commits (+169/-2): btrfs: new ioctls for scrub liubo (1) commits (+3/-0): Btrfs: do not flush csum items of unchanged file data during treelog Miao Xie (1) commits (+2074/-91): btrfs: implement delayed inode items operation Julia Lawall (1) commits (+4/-1): fs/btrfs: Add missing btrfs_free_path Andi Kleen (1) commits (+0/-4): BTRFS: Remove unused node_lock Ilya Dryomov (1) commits (+80/-207): btrfs scrub: make fixups sync Jamey Sharp (1) commits (+0/-43): btrfs: Delete unused version.sh script. Hugo Mills (1) commits (+1/-3): btrfs: Ensure the tree search ioctl returns the right number of records Total: (58) commits fs/btrfs/Makefile | 2 +- fs/btrfs/acl.c | 2 +- fs/btrfs/btrfs_inode.h | 15 + fs/btrfs/compression.c | 47 +- fs/btrfs/compression.h | 2 +- fs/btrfs/ctree.c | 51 +- fs/btrfs/ctree.h | 244 +++--- fs/btrfs/delayed-inode.c | 1695 ++++++++++++++++++++++++++++++++++++ fs/btrfs/delayed-inode.h | 141 +++ fs/btrfs/delayed-ref.c | 114 --- fs/btrfs/delayed-ref.h | 6 - fs/btrfs/dir-item.c | 39 +- fs/btrfs/disk-io.c | 210 +++-- fs/btrfs/disk-io.h | 19 +- fs/btrfs/export.c | 25 +- fs/btrfs/extent-tree.c | 2014 ++++--------------------------------------- fs/btrfs/extent_io.c | 324 ++------ fs/btrfs/extent_io.h | 40 +- fs/btrfs/extent_map.c | 8 +- fs/btrfs/extent_map.h | 4 +- fs/btrfs/file-item.c | 38 +- fs/btrfs/file.c | 302 ++++++- fs/btrfs/free-space-cache.c | 993 +++++++++++++--------- fs/btrfs/free-space-cache.h | 48 +- fs/btrfs/inode-item.c | 2 - fs/btrfs/inode-map.c | 444 ++++++++++- fs/btrfs/inode-map.h | 13 + fs/btrfs/inode.c | 700 ++++++--------- fs/btrfs/ioctl.c | 624 +++++++++++--- fs/btrfs/ioctl.h | 107 ++- fs/btrfs/locking.c | 25 - fs/btrfs/locking.h | 2 - fs/btrfs/ref-cache.c | 164 ---- fs/btrfs/ref-cache.h | 24 - fs/btrfs/relocation.c | 67 +- fs/btrfs/root-tree.c | 61 +-- fs/btrfs/scrub.c | 1369 +++++++++++++++++++++++++++++ fs/btrfs/super.c | 51 +- fs/btrfs/sysfs.c | 77 -- fs/btrfs/transaction.c | 196 ++--- fs/btrfs/transaction.h | 5 +- fs/btrfs/tree-defrag.c | 2 +- fs/btrfs/tree-log.c | 208 +++-- fs/btrfs/tree-log.h | 1 - fs/btrfs/version.sh | 43 - fs/btrfs/volumes.c | 657 ++++++--------- fs/btrfs/volumes.h | 27 +- fs/btrfs/xattr.c | 12 +- 48 files changed, 6594 insertions(+), 4670 deletions(-)
One question. Will the autodefrag option be snapshot aware? Would enabling this option double the amount of used space if there is a snapshot present? On Fri, May 27, 2011 at 2:55 PM, Chris Mason <chris.mason@oracle.com> wrote:> > Hi everyone, > > I always thought that I''d be retired and with my flying car at the > beach by the time 3.0 came out, but I''ve setup the for-linus branch of > the btrfs-unstable tree for pulling: > > git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus > > This pull request is probably the biggest I''ve sent, but it isn''t > a code dump into our shiny new .0 rc. The bulk of the changes are > three separate projects that have been going on for 6-8 months: > > A new btrfs inode allocation cache (Li Zefan) > Delayed metadata insertion into the btree (Miao Xe) > Device scrubbing (Arne Jansen) > > On top of that Dave Sterba kicked in a series of code cleanups and Josef > Bacik did some really nice tuning. The short log lists a few other > cleanups and fixes too. > > I coded up a mount -o autodefrag that will detect random writes > into existing files and kick off background defragging. It is well > suited to bdb or sqlite databases, but not virtualization images or big > databases (yet). Once I make sure it doesn''t defrag files over and over > again, I''ll move this toward the default. > > David Sterba (17) commits (+310/-3253): > btrfs: rename variables clashing with global function names (+53/-53) > btrfs: use printk_ratelimited instead of printk_ratelimit (+10/-24) > btrfs: drop unused parameter from btrfs_release_path (+160/-160) > btrfs: drop unused parameter from extent_map_tree_init (+5/-7) > btrfs: drop unused argument from extent_io_tree_init (+10/-12) > btrfs: remove nested duplicate variable declarations (+0/-4) > btrfs: drop gfp parameter from alloc_extent_buffer (+7/-9) > btrfs: drop gfp parameter from find_extent_buffer (+4/-6) > btrfs: drop gfp parameter from alloc_extent_map (+16/-17) > btrfs: use unsigned type for single bit bitfield (+4/-4) > btrfs: remove old unused commented out code (+1/-2071) > btrfs: Document a mutex lock/unlock sequence (+12/-0) > btrfs: make functions static when possible (+7/-7) > btrfs: unify checking of IS_ERR and null (+17/-17) > btrfs: remove unused function prototypes (+0/-43) > btrfs: remove all unused functions (+1/-817) > btrfs: fix dereference before check (+3/-2) > > Li Zefan (8) commits (+1449/-665): > Btrfs: Make the code for reading/writing free space cache generic (+204/-154) > Btrfs: setup free ino caching in a more asynchronous way (+22/-6) > Btrfs: Support reading/writing on disk free ino cache (+236/-19) > Btrfs: Remove unused btrfs_block_group_free_space() (+0/-16) > Btrfs: Make free space cache code generic (+271/-223) > Btrfs: Cache free inode numbers in memory (+500/-53) > Btrfs: Always use 64bit inode number (+208/-182) > Btrfs: Use bitmap_set/clear() (+8/-12) > > Xiao Guangrong (7) commits (+134/-59): > Btrfs: allocate extent state and check the result properly (+26/-8) > Btrfs: using rcu lock in the reader side of devices list (+72/-36) > Btrfs: fix the race between reading and updating devices (+9/-0) > Btrfs: fix the race between remove dev and alloc chunk (+6/-0) > Btrfs: fix bh leak on __btrfs_open_devices path (+1/-0) > Btrfs: fix unsafe usage of merge_state (+14/-8) > Btrfs: drop unnecessary device lock (+6/-7) > > Arne Jansen (6) commits (+1822/-361): > btrfs scrub: don''t coalesce pages that are logically discontiguous (+2/-1) > btrfs: move btrfs_cmp_device_free_bytes to super.c (+26/-28) > btrfs: quasi-round-robin for chunk allocation (+177/-305) > btrfs: add readonly flag (+16/-12) > btrfs: heed alloc_start (+1/-4) > btrfs: scrub (+1600/-11) > > Tsutomu Itoh (5) commits (+43/-36): > Btrfs: BUG_ON is deleted from the caller of btrfs_truncate_item & btrfs_extend_item (+2/-17) > Btrfs: return error code to caller when btrfs_previous_item fails (+3/-2) > Btrfs: return error code to caller when btrfs_del_item fails (+19/-11) > Btrfs: return error to caller if read_one_inode() fails (+18/-6) > Btrfs: check return value of btrfs_inc_extent_ref() (+1/-0) > > Chris Mason (4) commits (+689/-144): > Btrfs: update the delayed inode code to use the btrfs_ino helper. (+7/-6) > Btrfs: use the device_list_mutex during write_dev_supers (+2/-2) > Btrfs: return -ENOMEM in clear_extent_bit (+2/-1) > Btrfs: add mount -o auto_defrag (+678/-135) > > Sergei Trofimovich (3) commits (+7/-3): > btrfs: don''t spin in shrink_delalloc if there is nothing to free (+4/-0) > btrfs: fix typo ''testeing'' -> ''testing'' (+2/-2) > btrfs: typo: ''btrfS'' -> ''btrfs'' (+1/-1) > > Jan Schmidt (1) commits (+169/-2): > btrfs: new ioctls for scrub > > liubo (1) commits (+3/-0): > Btrfs: do not flush csum items of unchanged file data during treelog > > Miao Xie (1) commits (+2074/-91): > btrfs: implement delayed inode items operation > > Julia Lawall (1) commits (+4/-1): > fs/btrfs: Add missing btrfs_free_path > > Andi Kleen (1) commits (+0/-4): > BTRFS: Remove unused node_lock > > Ilya Dryomov (1) commits (+80/-207): > btrfs scrub: make fixups sync > > Jamey Sharp (1) commits (+0/-43): > btrfs: Delete unused version.sh script. > > Hugo Mills (1) commits (+1/-3): > btrfs: Ensure the tree search ioctl returns the right number of records > > Total: (58) commits > > fs/btrfs/Makefile | 2 +- > fs/btrfs/acl.c | 2 +- > fs/btrfs/btrfs_inode.h | 15 + > fs/btrfs/compression.c | 47 +- > fs/btrfs/compression.h | 2 +- > fs/btrfs/ctree.c | 51 +- > fs/btrfs/ctree.h | 244 +++--- > fs/btrfs/delayed-inode.c | 1695 ++++++++++++++++++++++++++++++++++++ > fs/btrfs/delayed-inode.h | 141 +++ > fs/btrfs/delayed-ref.c | 114 --- > fs/btrfs/delayed-ref.h | 6 - > fs/btrfs/dir-item.c | 39 +- > fs/btrfs/disk-io.c | 210 +++-- > fs/btrfs/disk-io.h | 19 +- > fs/btrfs/export.c | 25 +- > fs/btrfs/extent-tree.c | 2014 ++++--------------------------------------- > fs/btrfs/extent_io.c | 324 ++------ > fs/btrfs/extent_io.h | 40 +- > fs/btrfs/extent_map.c | 8 +- > fs/btrfs/extent_map.h | 4 +- > fs/btrfs/file-item.c | 38 +- > fs/btrfs/file.c | 302 ++++++- > fs/btrfs/free-space-cache.c | 993 +++++++++++++--------- > fs/btrfs/free-space-cache.h | 48 +- > fs/btrfs/inode-item.c | 2 - > fs/btrfs/inode-map.c | 444 ++++++++++- > fs/btrfs/inode-map.h | 13 + > fs/btrfs/inode.c | 700 ++++++--------- > fs/btrfs/ioctl.c | 624 +++++++++++--- > fs/btrfs/ioctl.h | 107 ++- > fs/btrfs/locking.c | 25 - > fs/btrfs/locking.h | 2 - > fs/btrfs/ref-cache.c | 164 ---- > fs/btrfs/ref-cache.h | 24 - > fs/btrfs/relocation.c | 67 +- > fs/btrfs/root-tree.c | 61 +-- > fs/btrfs/scrub.c | 1369 +++++++++++++++++++++++++++++ > fs/btrfs/super.c | 51 +- > fs/btrfs/sysfs.c | 77 -- > fs/btrfs/transaction.c | 196 ++--- > fs/btrfs/transaction.h | 5 +- > fs/btrfs/tree-defrag.c | 2 +- > fs/btrfs/tree-log.c | 208 +++-- > fs/btrfs/tree-log.h | 1 - > fs/btrfs/version.sh | 43 - > fs/btrfs/volumes.c | 657 ++++++--------- > fs/btrfs/volumes.h | 27 +- > fs/btrfs/xattr.c | 12 +- > 48 files changed, 6594 insertions(+), 4670 deletions(-) > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi everyone, The for-linus branch of the btrfs unstable repo: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus Has our collection of fixes. It''s a little bigger than usual for rc2 because it includes Josef''s queue of Btrfs changes. It seemed best to split them so we could concentrate on looking for any issues in the new btrfs rc1 code from Fujitsu. His tree is bug fixes and journal lock reduction. Some people have reported the initial caching of the free inode number map (which happens only once when it is first enabled) is sucking down too much CPU and IO time on their systems. We don''t have that one fixed yet, but this pull does clean up a few other problems in the new inode number allocatgor. It also turns it off by default (mount -o inode_cache to enable). I was on the fence for turning this on by default, but we''ve already kicked out three bugs so it seems best to keep it optional until 3.1. Josef Bacik (15) commits (+478/-386): Btrfs: don''t try to allocate from a block group that doesn''t have enough space (+8/-0) Btrfs: take away the num_items argument from btrfs_join_transaction (+42/-48) Btrfs: make sure to use the delalloc reserve when filling delalloc (+2/-0) Btrfs: don''t save the inode cache if we are deleting this root (+5/-0) Btrfs: don''t look at the extent buffer level 3 times in a row (+0/-3) Btrfs: map the node block when looking for readahead targets (+21/-2) Btrfs: set range_start to the right start in count_range_bits (+1/-1) Btrfs: if we''ve already started a trans handle, use that one (+19/-0) Btrfs: check for duplicate entries in the free space cache (+24/-3) Btrfs: try not to sleep as much when doing slow caching (+11/-8) Btrfs: fix how we do space reservation for truncate (+123/-37) Btrfs: leave spinning on lookup and map the leaf (+12/-0) Btrfs: kill BTRFS_I(inode)->block_group (+13/-110) Btrfs: don''t always do readahead (+20/-5) Btrfs: kill trans_mutex (+177/-169) Chris Mason (3) commits (+54/-9): Btrfs: make sure we don''t overflow the free space cache crc page (+19/-8) Btrfs: fix uninit variable in the delayed inode code (+1/-0) Btrfs: add mount -o inode_cache (+34/-1) David Sterba (3) commits (+26/-21): btrfs: use btrfs_ino to access inode number (+5/-4) btrfs: fix uninitialized variable warning (+1/-1) btrfs: add helper for fs_info->closing (+20/-16) Arne Jansen (3) commits (+70/-53): btrfs: scrub: don''t reuse bios and pages (+65/-49) btrfs: scrub: add explicit plugging (+4/-3) btrfs: false BUG_ON when degraded (+1/-1) liubo (1) commits (+6/-0): Btrfs: don''t save the inode cache in non-FS roots Total: (25) commits fs/btrfs/btrfs_inode.h | 3 - fs/btrfs/ctree.c | 28 +++- fs/btrfs/ctree.h | 22 +++- fs/btrfs/delayed-inode.c | 8 +- fs/btrfs/disk-io.c | 36 +++--- fs/btrfs/extent-tree.c | 103 ++++++++++----- fs/btrfs/extent_io.c | 2 +- fs/btrfs/file.c | 10 +- fs/btrfs/free-space-cache.c | 70 ++++++++--- fs/btrfs/inode-map.c | 34 +++++- fs/btrfs/inode.c | 261 +++++++++++++++++++------------------ fs/btrfs/ioctl.c | 26 ++--- fs/btrfs/relocation.c | 34 +++-- fs/btrfs/scrub.c | 123 ++++++++++-------- fs/btrfs/super.c | 8 +- fs/btrfs/transaction.c | 302 +++++++++++++++++++++++-------------------- fs/btrfs/transaction.h | 29 +--- fs/btrfs/volumes.c | 2 +- fs/btrfs/xattr.c | 2 - 19 files changed, 635 insertions(+), 468 deletions(-)
Hi everyone, The for-linus branch of the btrfs unstable tree: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus Has our current queue of fixes. Josef''s is the biggest pile, mostly in the allocator. Josef and I both managed to merge his patch to avoid mapping the extent buffer if skip_locking was set, git merge is just a little too easy sometimes (I double checked the resulting code). We''ve also got some fixes for the new scrub code, and a regression fix for the new use of current->journal_info in nested transactions. Josef Bacik (9) commits (+178/-65): Btrfs: don''t commit the transaction if we dont have enough pinned bytes (+7/-0) Btrfs: don''t map extent buffer if path->skip_locking is set (+7/-3) Btrfs: cache bitmaps when searching for a cluster (+49/-5) Btrfs: noinline the cluster searching functions (+10/-8) Btrfs: unlock the trans lock properly (+1/-1) Btrfs: fix the allocator loop logic (+25/-23) Btrfs: fix duplicate checking logic (+3/-3) Btrfs: fix bitmap regression (+69/-19) Arne Jansen (3) commits (+39/-32): btrfs: remove unneeded includes from scrub.c (+0/-6) btrfs: scrub: errors in tree enumeration (+34/-23) btrfs: reinitialize scrub workers (+5/-3) Li Zefan (2) commits (+15/-10): Btrfs: use join_transaction in btrfs_evict_inode() (+1/-1) Btrfs: avoid stack bloat in btrfs_ioctl_fs_info() (+14/-9) Chris Mason (1) commits (+5/-4): Btrfs: make sure to recheck for bitmaps in clusters Sage Weil (1) commits (+4/-1): Btrfs: clear current->journal_info on async transaction commit Ilya Dryomov (1) commits (+2/-6): Btrfs - use %pU to print fsid Jan Schmidt (1) commits (+1/-1): Btrfs: fix extent state leak on failed nodatasum reads David Sterba (1) commits (+1/-2): btrfs: fix unlocked access of delalloc_inodes richard kennedy (1) commits (+1/-1): btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline Total: (20) commits (+246/-122) fs/btrfs/ctree.c | 10 ++- fs/btrfs/disk-io.c | 5 +- fs/btrfs/extent-tree.c | 55 +++++++++------ fs/btrfs/extent_io.h | 2 +- fs/btrfs/free-space-cache.c | 163 ++++++++++++++++++++++++++++++++++--------- fs/btrfs/inode.c | 4 +- fs/btrfs/ioctl.c | 23 ++++--- fs/btrfs/scrub.c | 69 ++++++++++-------- fs/btrfs/transaction.c | 7 ++- fs/btrfs/volumes.c | 8 +-- 10 files changed, 233 insertions(+), 113 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jun 12, 2011 at 4:57 AM, Chris Mason <chris.mason@oracle.com> wrote:> > The for-linus branch of the btrfs unstable tree:Chris, this is getting ridiculous. You guys need to start honoring the merge window. None of these big pulls afterwards. If the code wasn''t ready, it damn well shouldn''t have been pushed to me in the first place. I pulled this round, but next pull request had better make it very clear that it''s only minimal *regression* fixes. Nothing more. Linus
Chris Mason <chris.mason@oracle.com> writes:> Hi everyone, > > The for-linus branch of the btrfs unstable tree: > > git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus> > Has our current queue of fixes. Josef''s is the biggest pile, mostly in > the allocator. Josef and I both managed to merge his patch to avoid > mapping the extent buffer if skip_locking was set, git merge is just a > little too easy sometimes (I double checked the resulting code).The new in 3.0 btrfs warnings on every build are still there: fs/btrfs/sysfs.c:76: warning: ‘btrfs_root_attrs’ defined but not used fs/btrfs/sysfs.c:97: warning: ‘btrfs_super_attrs’ defined but not used fs/btrfs/sysfs.c:153: warning: ‘btrfs_super_release’ defined but not used fs/btrfs/sysfs.c:160: warning: ‘btrfs_root_release’ defined but not used These are not even used inside any ifdef. It''s unclear to me: were these supposed to be used or removed? Probably better to remove since they seem to be untested, unless it was a merge error? -Andi -- ak@linux.intel.com -- Speaking for myself only
Excerpts from Andi Kleen''s message of 2011-06-12 21:02:54 -0400:> Chris Mason <chris.mason@oracle.com> writes: > > > Hi everyone, > > > > The for-linus branch of the btrfs unstable tree: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus > > > > > Has our current queue of fixes. Josef''s is the biggest pile, mostly in > > the allocator. Josef and I both managed to merge his patch to avoid > > mapping the extent buffer if skip_locking was set, git merge is just a > > little too easy sometimes (I double checked the resulting code). > > The new in 3.0 btrfs warnings on every build are still there: > > fs/btrfs/sysfs.c:76: warning: âbtrfs_root_attrsâ defined but not used > fs/btrfs/sysfs.c:97: warning: âbtrfs_super_attrsâ defined but not used > fs/btrfs/sysfs.c:153: warning: âbtrfs_super_releaseâ defined but not used > fs/btrfs/sysfs.c:160: warning: âbtrfs_root_releaseâ defined but not used > > These are not even used inside any ifdef. It''s unclear to me: were > these supposed to be used or removed? > > Probably better to remove since they seem to be untested, unless > it was a merge error?Right, I''ve been trying to decide how much of the sysfs interface to rip out. We''re not using it the way I had planned to, and Kay''s proposed udev changes are better than my original plans for sysfs. One way or another I''ll kill these off in the next rc. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
09:02, Andi Kleen wrote:> Chris Mason <chris.mason@oracle.com> writes: > >> Hi everyone, >> >> The for-linus branch of the btrfs unstable tree: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus > >> >> Has our current queue of fixes. Josef''s is the biggest pile, mostly in >> the allocator. Josef and I both managed to merge his patch to avoid >> mapping the extent buffer if skip_locking was set, git merge is just a >> little too easy sometimes (I double checked the resulting code). > > The new in 3.0 btrfs warnings on every build are still there: > > fs/btrfs/sysfs.c:76: warning: ‘btrfs_root_attrs’ defined but not used > fs/btrfs/sysfs.c:97: warning: ‘btrfs_super_attrs’ defined but not used > fs/btrfs/sysfs.c:153: warning: ‘btrfs_super_release’ defined but not used > fs/btrfs/sysfs.c:160: warning: ‘btrfs_root_release’ defined but not used > > These are not even used inside any ifdef. It''s unclear to me: were > these supposed to be used or removed? > > Probably better to remove since they seem to be untested, unless > it was a merge error? >
Hi everyone, The for-linus branch of the btrfs unstable repo: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus Has our current queue of fixes. One of the fixes removes our unused sysfs code, mostly because gcc likes to complain about it since we removed some dead code in rc1. We do plan on eventually putting more info into the sysfs dir, so the directory itself is still there. Otherwise these are regression fixes. The new delayed metadata insertion code and the new transaction locking code had races with the code to balance space between drives, and races against snapshot creation. There are also two ENOSPC regression fixes included as well. Chris Mason (4) commits (+136/-28): Btrfs: drop the delalloc_bytes check in shrink_delalloc (+0/-4) Btrfs: avoid delayed metadata items during commits (+28/-10) Btrfs: check the return value from set_anon_super (+3/-1) Btrfs: fix relocation races (+105/-13) Josef Bacik (3) commits (+14/-3): Btrfs: set no_trans_join after trying to expand the transaction (+11/-3) Btrfs: protect the pending_snapshots list with trans_lock (+2/-0) Btrfs: fix path leakage on subvol deletion (+1/-0) David Sterba (2) commits (+4/-4): btrfs: fix dereference of ERR_PTR value (+1/-1) btrfs: fix uninitialized return value (+3/-3) Miao Xie (1) commits (+20/-6): btrfs: fix wrong reservation when doing delayed inode operations Maarten Lankhorst (1) commits (+0/-148): btrfs: Remove unused sysfs code Total: (11) commits (+174/-189) fs/btrfs/ctree.h | 15 +++++- fs/btrfs/delayed-inode.c | 32 +++++++++-- fs/btrfs/delayed-inode.h | 5 +- fs/btrfs/disk-io.c | 12 ++-- fs/btrfs/extent-tree.c | 4 - fs/btrfs/inode.c | 1 + fs/btrfs/ioctl.c | 2 + fs/btrfs/relocation.c | 30 +++++++--- fs/btrfs/sysfs.c | 146 ---------------------------------------------- fs/btrfs/transaction.c | 114 ++++++++++++++++++++++++++++++----- fs/btrfs/tree-log.c | 2 +- 11 files changed, 174 insertions(+), 189 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi everyone, The for-linus branch of the btrfs unstable tree: git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus Has our current set of fixes. Linus will probably notice the head commit was from this morning. I reordered a refcount bump inside the lock that protects the delayed inode tree and did a commit --amend. This is just for clarity, the delayed_inode can''t go away because it is pinned by the inode itself. But, I don''t want that code copy & pasted elsewhere to create bugs later on. These fix a regression in the new delayed_inode code where inodes that are dropped from ram need to check for a delayed inode before we load them back in. Josef''s commit avoids oopsen if the free extent cache had to be discarded, and my commit makes sure a newly created empty file gets logged properly if someone calls fsync on it. Miao Xie (1) commits (+91/-26): btrfs: fix inconsonant inode information Josef Bacik (1) commits (+6/-3): Btrfs: make sure to update total_bitmaps when freeing cache V3 Ilya Dryomov (1) commits (+2/-2): Btrfs: fix type mismatch in find_free_extent() Chris Mason (1) commits (+1/-0): Btrfs: make sure to record the transid in new inodes Total: (4) commits (+100/-31) fs/btrfs/delayed-inode.c | 104 +++++++++++++++++++++++++++++++++---------- fs/btrfs/delayed-inode.h | 1 + fs/btrfs/extent-tree.c | 4 +- fs/btrfs/free-space-cache.c | 9 +++- fs/btrfs/inode.c | 13 +++++- 5 files changed, 100 insertions(+), 31 deletions(-)