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(-)