linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Btrfs updates for 2.6.29-rc
@ 2009-02-26 15:09 Chris Mason
  0 siblings, 0 replies; 11+ messages in thread
From: Chris Mason @ 2009-02-26 15:09 UTC (permalink / raw)
  To: torvalds, linux-kernel

Hello everyone,

We've had good results in testing Josef's initial enospc support for
btrfs.  This mainly deals with better accounting of the data extents
that have been allocated for delalloc, and properly returning enospc for
new data writes that can't possibly succeed.

There is some metadata enospc support as well, but there is more work to
be done in that area.  Because this code changes the time at which some
deep call chains are done, it also cuts down on the btrfs stack usage.

Linus, if you pull the master branch of:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git

You'll find:

Josef Bacik (2):
      Btrfs: add better -ENOSPC handling
      Btrfs: try committing transaction before returning ENOSPC


 b/fs/btrfs/btrfs_inode.h |    8 +
 b/fs/btrfs/ctree.h       |   40 ++++++--
 b/fs/btrfs/extent-tree.c |   57 ++++++++++--
 b/fs/btrfs/file.c        |   16 ++-
 b/fs/btrfs/inode.c       |   62 +++----------
 b/fs/btrfs/ioctl.c       |    6 -
 fs/btrfs/extent-tree.c   |  215
+++++++++++++++++++++++++++++++++++++++++++----
 7 files changed, 318 insertions(+), 86 deletions(-)



^ permalink raw reply	[flat|nested] 11+ messages in thread
* [GIT PULL] Btrfs updates for 2.6.29-rc
@ 2009-02-26 15:11 Chris Mason
  0 siblings, 0 replies; 11+ messages in thread
From: Chris Mason @ 2009-02-26 15:11 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel

[resend, with an address for Linus that didn't come out of an ancient
address book ]

Hello everyone,

We've had good results in testing Josef's initial enospc support for
btrfs.  This mainly deals with better accounting of the data extents
that have been allocated for delalloc, and properly returning enospc for
new data writes that can't possibly succeed.

There is some metadata enospc support as well, but there is more work to
be done in that area.  Because this code changes the time at which some
deep call chains are done, it also cuts down on the btrfs stack usage.

Linus, if you pull the master branch of:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git

You'll find:

Josef Bacik (2):
      Btrfs: add better -ENOSPC handling
      Btrfs: try committing transaction before returning ENOSPC


 b/fs/btrfs/btrfs_inode.h |    8 +
 b/fs/btrfs/ctree.h       |   40 ++++++--
 b/fs/btrfs/extent-tree.c |   57 ++++++++++--
 b/fs/btrfs/file.c        |   16 ++-
 b/fs/btrfs/inode.c       |   62 +++----------
 b/fs/btrfs/ioctl.c       |    6 -
 fs/btrfs/extent-tree.c   |  215
+++++++++++++++++++++++++++++++++++++++++++----
 7 files changed, 318 insertions(+), 86 deletions(-)




^ permalink raw reply	[flat|nested] 11+ messages in thread
* [GIT PULL] Btrfs updates for 2.6.29-rc
@ 2009-02-13 20:25 Chris Mason
  0 siblings, 0 replies; 11+ messages in thread
From: Chris Mason @ 2009-02-13 20:25 UTC (permalink / raw)
  To: linux-kernel, Linus Torvalds

Hello everyone,

The master branch
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git

Has the following fixes and updates for 2.6.29-rc.  There is also a
branch named experimental that is very very experimental.

I think I pushed things out correctly so that master and experimental
didn't mix, but we've long established my ability to mess that part up.

These are cleanups and fixes that came out of testing and review.  The
lockdep fix is actually the biggest in terms of code, but that is under
CONFIG_DEBUG_LOCK_ALLOC.

SSD mode is changed to work better on ssds that do random writes poorly,
and btrfs_sync_fs is changed to skip the cleaning of old snapshots.
That still happens in the background, and it was making sync look slower
than it really was.

mount -o remount finally looks at the new options sent, so you can send
important things like mount -o compress,ssd for remounting now.

-chris

Chris Mason (4):
      Btrfs: process mount options on mount -o remount,
      Btrfs: use larger metadata clusters in ssd mode
      Btrfs: don't clean old snapshots on sync(1)
      Btrfs: make a lockdep class for the extent buffer locks

Jeff Mahoney (2):
      Btrfs: balance_level checks !child after access
      Btrfs: remove btrfs_init_path

Josef Bacik (1):
      Btrfs: make sure all pending extent operations are complete

Julia Lawall (1):
      Btrfs: fs/btrfs/volumes.c: remove useless kzalloc

Qinghuang Feng (1):
      Btrfs: remove unused code in split_state()

Yan Zheng (2):
      Btrfs: Avoid using __GFP_HIGHMEM with slab allocator
      Btrfs: hold trans_mutex when using btrfs_record_root_in_trans

 b/fs/btrfs/ctree.c       |   45 +++++++++++++++++++-------
 b/fs/btrfs/ctree.h       |   10 +----
 b/fs/btrfs/disk-io.c     |   46 ++++++++++++++++++++++++++
 b/fs/btrfs/disk-io.h     |   10 +++++
 b/fs/btrfs/extent-tree.c |    2 +
 b/fs/btrfs/extent_io.c   |    2 -
 b/fs/btrfs/inode-map.c   |    1 
 b/fs/btrfs/inode.c       |    2 -
 b/fs/btrfs/locking.c     |   11 ------
 b/fs/btrfs/super.c       |    1 
 b/fs/btrfs/transaction.c |    2 +
 b/fs/btrfs/tree-log.c    |    2 +
 b/fs/btrfs/volumes.c     |    2 +
 fs/btrfs/ctree.c         |   13 +------
 fs/btrfs/ctree.h         |    1 
 fs/btrfs/extent-tree.c   |   81 ++++++++++++++++++++++++++++-------------------
 fs/btrfs/inode.c         |    2 -
 fs/btrfs/super.c         |    4 ++
 fs/btrfs/volumes.c       |    4 --
 19 files changed, 157 insertions(+), 84 deletions(-)



^ permalink raw reply	[flat|nested] 11+ messages in thread
* [GIT PULL] Btrfs updates for 2.6.29-rc
@ 2009-02-06 16:22 Chris Mason
  2009-02-06 16:53 ` Linus Torvalds
  0 siblings, 1 reply; 11+ messages in thread
From: Chris Mason @ 2009-02-06 16:22 UTC (permalink / raw)
  To: linux-kernel, Linus Torvalds

Hello everyone,

The current btrfs unstable tree should be ready for 2.6.29-rc:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git

We've been busy working on cleanups and improvements based on the
feedback for Btrfs.  There are still lots of cleanups left to do,
especially the ones pointed out by Andrew.

Some of them I've been holding on to as starter tasks for people that
are interested in the project.

The current btrfs unstable tree also has a number of fixes hit by
testers and by the Fedora alpha integration.  These include selinux
support, an oops in the compression code, and a few different IO stalls.

There are two big performance related changes in the tree.  I got rid of
the adaptive mutex implementation and switched to a lock that explicitly
switches between a spinlock and a waitqueue.  This is faster and it
allows us to pick off the blocking lock points one by one over time in a
controlled fashion.

The second big performance fix deals with snapshot deletion.  It makes
progress much more effectively and is able to keep up with bigger
workloads.  This is important because every transaction ends up deleting
a snapshot.

There wasn't much code involved in the snapshot deletion improvements,
it is basically just sorting the block pointers before updating their
reference counts, and working on leaves in bulk instead of one by one.

Here's the shortlog:

Chris Ball (1):
      Btrfs: Handle SGID bit when creating inodes

Chris Mason (14):
      Btrfs: Catch missed bios in the async bio submission thread
      Btrfs: async threads should try harder to find work
      Btrfs: sort references by byte number during btrfs_inc_ref
      Btrfs: disable leak debugging checks in extent_io.c
      Btrfs: hash_lock is no longer needed
      Btrfs: Change btree locking to use explicit blocking points
      Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks
      Btrfs: Don't try to compress pages past i_size
      Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode
      Btrfs: change btrfs_del_leaf to drop locks earlier
      Btrfs: fix btrfs_unlock_up_safe to walk the entire path
      Btrfs: Only prep for btree deletion balances when nodes are mostly empty
      Btrfs: don't return congestion in write_cache_pages as often
      Btrfs: Fix memory leak in cache_drop_leaf_ref

Christian Hesse (1):
      Btrfs: make btrfs acls selectable

Jim Owens (1):
      Btrfs: selinux support

Josef Bacik (1):
      Btrfs: join the transaction in __btrfs_setxattr




^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2009-02-26 15:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-26 15:09 [GIT PULL] Btrfs updates for 2.6.29-rc Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2009-02-26 15:11 Chris Mason
2009-02-13 20:25 Chris Mason
2009-02-06 16:22 Chris Mason
2009-02-06 16:53 ` Linus Torvalds
2009-02-06 21:51   ` Chris Mason
2009-02-06 21:59     ` Linus Torvalds
2009-02-07  0:10       ` Chris Mason
2009-02-07 16:37         ` Linus Torvalds
2009-02-07 23:50           ` Chris Mason
2009-02-08 10:16           ` Kay Sievers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).