* [GIT PULL] ENOSPC rework and random fixes for next merge window
@ 2011-09-26 21:36 Josef Bacik
2011-09-27 15:01 ` David Sterba
2011-09-28 11:58 ` Chris Mason
0 siblings, 2 replies; 4+ messages in thread
From: Josef Bacik @ 2011-09-26 21:36 UTC (permalink / raw)
To: linux-btrfs
Hello,
Chris can you pull from
git://github.com/josefbacik/linux.git for-chris
it is based on your btrfs-3.0 branch. The diffstat and shortlog are below.
This is all of my enospc rework stuff. It is amazing and will cure all of our
enospc woes and possibly cancer. We get better chunk allocation behavior with
this, doing fs_mark on a 7gig fs we now only allocate 264mb for metadata instead
of 520mb, which allows for much more data to be used and less metadata waste.
I've fixed how we reserve space for checksumming so we shouldn't be getting
those nasty WARN_ON()'s anymore. And I've fixed that long standing problem
where super random write workloads _sucked_. Other notable things are a fix on
how we mount subvolumes and such. This has all been hammered on pretty well
with the exception of the overcommit stuff which really needs to be banged
around a bit, but it's so awesome I really want to get it out there :). Thanks,
Josef
fs/btrfs/btrfs_inode.h | 11 +-
fs/btrfs/ctree.h | 53 ++---
fs/btrfs/disk-io.c | 8 +-
fs/btrfs/extent-tree.c | 585 +++++++++++++++++++++++--------------------
fs/btrfs/extent_io.c | 194 ++++++++++++++-
fs/btrfs/extent_io.h | 3 +
fs/btrfs/file.c | 25 ++-
fs/btrfs/free-space-cache.c | 99 +++++---
fs/btrfs/inode-map.c | 6 +-
fs/btrfs/inode.c | 259 ++++++++-----------
fs/btrfs/ioctl.c | 3 +-
fs/btrfs/relocation.c | 21 +-
fs/btrfs/super.c | 224 ++++++++++-------
fs/btrfs/transaction.c | 108 +++------
fs/btrfs/volumes.c | 39 +++-
15 files changed, 955 insertions(+), 683 deletions(-)
Josef Bacik (36):
Btrfs: kill reserved_bytes in inode
Btrfs: use d_obtain_alias when mounting subvol/subvolid
Btrfs: fix how we mount subvol=<whatever>
Btrfs: use bytes_may_use for all ENOSPC reservations
Btrfs: skip looking for delalloc if we don't have ->fill_delalloc
Btrfs: calculate checksum space correctly
Btrfs: kill the orphan space calculation for snapshots
Btrfs: kill the durable block rsv stuff
Btrfs: fix how we reserve space for deleting inodes
Btrfs: ratelimit the generation printk for the free space cache
Btrfs: kill unused parts of block_rsv
Btrfs: don't try to commit in btrfs_block_rsv_check
Btrfs: optimize how we account for space in truncate
Btrfs: kill btrfs_truncate_reserve_metadata
Btrfs: only reserve space in fallocate if we have to do a preallocate
Btrfs: reduce the amount of space needed for truncates
Btrfs: allow callers to specify if flushing can occur for btrfs_block_rsv_check
Btrfs: fix call to btrfs_search_slot in free space cache
Btrfs: fix space leak when we fail to make an allocation
Btrfs: don't increase the block_rsv's size when emergency allocating space
Btrfs: set truncate block rsv's size
Btrfs: put the block group cache after we commit the super
Btrfs: handle enospc accounting for free space inodes
Btrfs: use the transactions block_rsv for the csum root
Btrfs: don't get the block_rsv in btrfs_free_tree_block
Btrfs: stop passing a trans handle all around the reservation code
Btrfs: make sure to unset trans->block_rsv before running delayed refs
Btrfs: delay iput when deleting a block group
Btrfs: use the inode's mapping mask for allocating pages
Btrfs: fix orphan cleanup regression
Btrfs: check unused against how much space we actually want
Btrfs: introduce convert_extent_bit
Btrfs: stop using write_one_page
Btrfs: use the global reserve as a backup for deleting inodes
Btrfs: break out of orphan cleanup if we can't make progress
Btrfs: allow us to overcommit our enospc reservations
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] ENOSPC rework and random fixes for next merge window
2011-09-26 21:36 [GIT PULL] ENOSPC rework and random fixes for next merge window Josef Bacik
@ 2011-09-27 15:01 ` David Sterba
2011-09-27 15:11 ` Josef Bacik
2011-09-28 11:58 ` Chris Mason
1 sibling, 1 reply; 4+ messages in thread
From: David Sterba @ 2011-09-27 15:01 UTC (permalink / raw)
To: Josef Bacik; +Cc: linux-btrfs
On Mon, Sep 26, 2011 at 05:36:32PM -0400, Josef Bacik wrote:
> Btrfs: fix how we mount subvol=<whatever>
this patch was not sent to the mailiglist, although this is an
intersting change from the user's POV:
subvolumes are now mountable via
-o subvol=any/path/always/relative/to/toplevel
which makes subvolrootid obsolete and fixes the mess with set-default
and subvol= mounts.
hooray,
d/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] ENOSPC rework and random fixes for next merge window
2011-09-27 15:01 ` David Sterba
@ 2011-09-27 15:11 ` Josef Bacik
0 siblings, 0 replies; 4+ messages in thread
From: Josef Bacik @ 2011-09-27 15:11 UTC (permalink / raw)
To: linux-btrfs
On 09/27/2011 11:01 AM, David Sterba wrote:
> On Mon, Sep 26, 2011 at 05:36:32PM -0400, Josef Bacik wrote:
>> Btrfs: fix how we mount subvol=<whatever>
>
> this patch was not sent to the mailiglist, although this is an
> intersting change from the user's POV:
>
> subvolumes are now mountable via
>
> -o subvol=any/path/always/relative/to/toplevel
>
> which makes subvolrootid obsolete and fixes the mess with set-default
> and subvol= mounts.
>
Oops crap sorry I thought I had sent it to the list already, my bad.
Thanks,
Josef
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] ENOSPC rework and random fixes for next merge window
2011-09-26 21:36 [GIT PULL] ENOSPC rework and random fixes for next merge window Josef Bacik
2011-09-27 15:01 ` David Sterba
@ 2011-09-28 11:58 ` Chris Mason
1 sibling, 0 replies; 4+ messages in thread
From: Chris Mason @ 2011-09-28 11:58 UTC (permalink / raw)
To: Josef Bacik; +Cc: linux-btrfs
Excerpts from Josef Bacik's message of 2011-09-26 17:36:32 -0400:
> Hello,
>
> Chris can you pull from
>
> git://github.com/josefbacik/linux.git for-chris
I've pulled this into a new integration-test branch where I'm starting
to pile things in for the next merge window. Thanks Josef!
-chris
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-09-28 11:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-26 21:36 [GIT PULL] ENOSPC rework and random fixes for next merge window Josef Bacik
2011-09-27 15:01 ` David Sterba
2011-09-27 15:11 ` Josef Bacik
2011-09-28 11:58 ` Chris Mason
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.