linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Btrfs fixes
@ 2017-01-13 22:01 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2017-01-13 22:01 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi Linus,

Dave Sterba queued up a few fixes for btrfs.  I have them in my
for-linus-4.10 branch:

These are all over the place.  The tracepoint part of the pull fixes a
crash and adds a little more information to two tracepoints, while the
rest are good old fashioned fixes.

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus-4.10

Liu Bo (5) commits (+34/-11):
    Btrfs: adjust outstanding_extents counter properly when dio write is split (+9/-2)
    Btrfs: add truncated_len for ordered extent tracepoints (+4/-0)
    Btrfs: use down_read_nested to make lockdep silent (+2/-1)
    Btrfs: add 'inode' for extent map tracepoint (+9/-5)
    Btrfs: fix lockdep warning about log_mutex (+10/-3)

David Sterba (2) commits (+80/-69):
    btrfs: fix crash when tracepoint arguments are freed by wq callbacks (+24/-13)
    btrfs: make tracepoint format strings more compact (+56/-56)

Jeff Mahoney (2) commits (+4/-1):
    btrfs: fix locking when we put back a delayed ref that's too new (+1/-1)
    btrfs: fix error handling when run_delayed_extent_op fails (+3/-0)

Pan Bian (1) commits (+1/-3):
    btrfs: return the actual error value from  from btrfs_uuid_tree_iterate

Total: (10) commits (+119/-84)

 fs/btrfs/async-thread.c      |  15 +++--
 fs/btrfs/extent-tree.c       |   8 ++-
 fs/btrfs/inode.c             |  13 +++-
 fs/btrfs/tree-log.c          |  13 +++-
 fs/btrfs/uuid-tree.c         |   4 +-
 include/trace/events/btrfs.h | 146 +++++++++++++++++++++++--------------------
 6 files changed, 117 insertions(+), 82 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-05-15 19:11 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-05-15 19:11 UTC (permalink / raw)
  To: torvalds, linux-btrfs, LKML

Hi Linus,

I have a few more fixes in my for-linus-4.1 branch:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus-4.1

The first commit is a fix from Filipe for a very old extent buffer reuse
race that triggered a BUG_ON.  It hasn't come up often, I looked through
old logs at FB and we hit it a handful of times over the last year.

The rest are other corners he hit during testing

Filipe Manana (4) commits (+68/-10):
    Btrfs: fix race when reusing stale extent buffers that leads to BUG_ON (+19/-0)
    Btrfs: fix race between block group creation and their cache writeout (+27/-4)
    Btrfs: fix panic when starting bg cache writeout after IO error (+10/-4)
    Btrfs: fix crash after inode cache writeback failure (+12/-2)

Total: (4) commits

 fs/btrfs/extent-tree.c      | 31 +++++++++++++++++++++++++++----
 fs/btrfs/extent_io.c        | 19 +++++++++++++++++++
 fs/btrfs/free-space-cache.c | 14 ++++++++++++--
 fs/btrfs/ordered-data.c     | 14 ++++++++++----
 4 files changed, 68 insertions(+), 10 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-05-01 14:08 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-05-01 14:08 UTC (permalink / raw)
  To: torvalds, LKML, linux-btrfs

Hi Linus,

I have a few more btrfs fixes in my for-linus-4.1 branch:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus-4.1

These range from corners Filipe found in the new free space cache
writeback to a grab bag of fixes from the list.

Omar Sandoval (4) commits (+38/-19):
    btrfs: unlock i_mutex after attempting to delete subvolume during send (+2/-1)
    btrfs: check io_ctl_prepare_pages return in __btrfs_write_out_cache (+6/-4)
    btrfs: fix race on ENOMEM in alloc_extent_buffer (+2/-1)
    btrfs: handle ENOMEM in btrfs_alloc_tree_block (+28/-13)

Forrest Liu (2) commits (+37/-29):
    Btrfs: btrfs_release_extent_buffer_page didn't free pages of dummy extent (+26/-25)
    Btrfs: fix find_free_dev_extent() malfunction in case device tree has hole (+11/-4)

Filipe Manana (2) commits (+28/-18):
    Btrfs: fix race between start dirty bg cache writeout and bg deletion (+27/-17)
    Btrfs: fix deadlock when starting writeback of bg caches (+1/-1)

Yang Dongsheng (1) commits (+14/-9):
    Btrfs: fill ->last_trans for delayed inode in btrfs_fill_inode.

Chris Mason (1) commits (+1/-2):
    Btrfs: don't check for delalloc_bytes in cache_save_setup

Total: (10) commits (+118/-77)

 fs/btrfs/delayed-inode.c    |  2 +
 fs/btrfs/extent-tree.c      | 90 ++++++++++++++++++++++++++++-----------------
 fs/btrfs/extent_io.c        | 54 ++++++++++++++-------------
 fs/btrfs/free-space-cache.c | 10 +++--
 fs/btrfs/inode.c            | 21 ++++++-----
 fs/btrfs/ioctl.c            |  3 +-
 fs/btrfs/volumes.c          | 15 ++++++--
 7 files changed, 118 insertions(+), 77 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-04-26 13:18 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-04-26 13:18 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel Mailing List, linux-btrfs


Hi Linus,

Filipe hit two problems in my block group cache patches.  We finalized
the fixes last week and ran through more tests.

Can you please pull:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus-4.1

Chris Mason (2) commits (+25/-17):
    Btrfs: prevent list corruption during free space cache processing (+18/-14)
    Btrfs: fix inode cache writeout (+7/-3)

Total: (2) commits (+25/-17)

 fs/btrfs/free-space-cache.c | 42 +++++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 17 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-03-20 16:55 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-03-20 16:55 UTC (permalink / raw)
  To: torvalds; +Cc: linux-btrfs, LKML

Hi 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 are fixing extent reservation accounting, or corners with
tree writeback during commit.  Josef's set does add a test, which isn't
strictly a fix, but it'll keep us from making this same mistake again.

Josef Bacik (8) commits (+349/-46):
    Btrfs: account for the correct number of extents for delalloc reservations (+5/-1)
    Btrfs: add sanity test for outstanding_extents accounting (+217/-1)
    Btrfs: fix ASSERT(list_empty(&cur_trans->dirty_bgs_list) (+18/-13)
    Btrfs: fix outstanding_extents accounting in DIO (+35/-2)
    Btrfs: prepare block group cache before writing (+32/-1)
    Btrfs: account merges/splits properly (+30/-27)
    Btrfs: just free dummy extent buffers (+6/-0)
    Btrfs: fix merge delalloc logic (+6/-1)

Liu Bo (2) commits (+4/-1):
    Btrfs: catch transaction abortion after waiting for it (+3/-0)
    Btrfs: fix comp_oper to get right order (+1/-1)

Fabian Frederick (1) commits (+1/-1):
    btrfs: fix sizeof format specifier in btrfs_check_super_valid()

Total: (11) commits (+354/-48)

 fs/btrfs/ctree.h             |   5 ++
 fs/btrfs/disk-io.c           |   2 +-
 fs/btrfs/extent-tree.c       |  35 +++++++-
 fs/btrfs/extent_io.c         |   6 ++
 fs/btrfs/inode.c             | 112 ++++++++++++++++++------
 fs/btrfs/qgroup.c            |   2 +-
 fs/btrfs/tests/inode-tests.c | 197 ++++++++++++++++++++++++++++++++++++++++++-
 fs/btrfs/transaction.c       |  39 ++++++---
 8 files changed, 352 insertions(+), 46 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-01-23 18:49 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-01-23 18:49 UTC (permalink / raw)
  To: torvalds, linux-btrfs, LKML

Hi Linus,

We have a few fixes in my for-linus branch:

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

Qu Wenruo's batch fix a regression between some our merge window pull
and the inode_cache feature.  The rest are smaller bugs.

Qu Wenruo (2) commits (+11/-1):
    btrfs: Don't call btrfs_start_transaction() on frozen fs to avoid deadlock. (+10/-0)
    btrfs: Fix the bug that fs_info->pending_changes is never cleared. (+1/-1)

Satoru Takeuchi (1) commits (+1/-1):
    btrfs: fix state->private cast on 32 bit machines

David Sterba (1) commits (+2/-2):
    btrfs: sync ioctl, handle errors after transaction start

Filipe Manana (1) commits (+2/-1):
    Btrfs: fix race deleting block group from space_info->ro_bgs list

Tsutomu Itoh (1) commits (+1/-1):
    Btrfs: fix incorrect freeing in scrub_stripe

Total: (6) commits (+17/-6)

 fs/btrfs/ctree.h       |  1 +
 fs/btrfs/extent-tree.c |  2 +-
 fs/btrfs/extent_io.c   |  2 +-
 fs/btrfs/scrub.c       |  2 +-
 fs/btrfs/super.c       | 14 ++++++++++++--
 fs/btrfs/transaction.c |  2 +-
 6 files changed, 17 insertions(+), 6 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2015-01-08 18:28 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2015-01-08 18:28 UTC (permalink / raw)
  To: torvalds; +Cc: linux-btrfs, linux-kernel

Hi Linus,

We have a small queue of btrfs fixes in my for-linus branch:

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

None of these are huge, but my commit does fix a regression from 3.18
that could cause lost files during log replay.

This also adds Dave Sterba to the list of Btrfs maintainers.  It doesn't
mean we're doing things differently, but Dave has really been helping
with the maintainer workload for years.

Chris Mason (2) commits (+9/-0):
    Btrfs: don't delay inode ref updates during log replay (+8/-0)
    Btrfs: add more maintainers (+1/-0)

Wang Shilong (1) commits (+3/-1):
    Btrfs: call inode_dec_link_count() on mkdir error path

Filipe Manana (1) commits (+10/-3):
    Btrfs: correctly get tree level in tree_backref_for_extent

Josef Bacik (1) commits (+6/-6):
    Btrfs: abort transaction if we don't find the block group

Dan Carpenter (1) commits (+1/-1):
    Btrfs, scrub: uninitialized variable in scrub_extent_for_parity()

Total: (6) commits (+29/-11)

 MAINTAINERS              |  1 +
 fs/btrfs/backref.c       | 13 ++++++++++---
 fs/btrfs/delayed-inode.c |  8 ++++++++
 fs/btrfs/extent-tree.c   | 12 ++++++------
 fs/btrfs/inode.c         |  4 +++-
 fs/btrfs/scrub.c         |  2 +-
 6 files changed, 29 insertions(+), 11 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2014-11-01 16:05 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2014-11-01 16:05 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel Mailing List, linux-btrfs


Hi Linus,

We have a few fixes in my for-linus branch:

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

Filipe is nailing down some problems with our skinny extent variation,
and Dave's patch fixes endian problems in the new super block checks.

Filipe Manana (2) commits (+4/-18):
    Btrfs: fix race that makes btrfs_lookup_extent_info miss skinny extent items (+0/-8)
    Btrfs: fix invalid leaf slot access in btrfs_lookup_extent() (+4/-10)

Josef Bacik (1) commits (+1/-0):
    Btrfs: properly clean up btrfs_end_io_wq_cache

David Sterba (1) commits (+22/-21):
    btrfs: use macro accessors in superblock validation checks

Total: (4) commits (+27/-39)

 fs/btrfs/ctree.h       |  2 +-
 fs/btrfs/disk-io.c     | 43 ++++++++++++++++++++++---------------------
 fs/btrfs/extent-tree.c | 18 ++----------------
 fs/btrfs/super.c       |  1 +
 fs/btrfs/tree-log.c    |  2 +-
 5 files changed, 27 insertions(+), 39 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2014-09-19 19:47 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2014-09-19 19:47 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel Mailing List, linux-btrfs

Hi Linus,

We have two more fixes for pulling:

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

I've got a  revert to fix a regression with btrfs device registration,
and Filipe has part two of his fsync fix from last week.

Chris Mason (1) commits (+6/-7):
    Revert "Btrfs: device_list_add() should not update list when mounted"

Filipe Manana (1) commits (+13/-14):
    Btrfs: set inode's logged_trans/last_log_commit after ranged fsync

Total: (2) commits (+19/-21)

 fs/btrfs/btrfs_inode.h | 13 +++++++++++--
 fs/btrfs/tree-log.c    | 14 ++------------
 fs/btrfs/volumes.c     | 13 ++++++-------
 3 files changed, 19 insertions(+), 21 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2013-03-17 12:34 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2013-03-17 12:34 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel, linux-btrfs

Hi Linus,

My for-linus branch has some btrfs fixes:

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

Eric's rcu barrier patch fixes a long standing problem with our unmount
code hanging on to devices in workqueue helpers.  Liu Bo nailed down a
difficult assertion for in-memory extent mappings.

Liu Bo (4) commits (+9/-7):
    Btrfs: get better concurrency for snapshot-aware defrag work (+3/-0)
    Btrfs: fix warning when creating snapshots (+5/-6)
    Btrfs: fix warning of free_extent_map (+1/-0)
    Btrfs: remove btrfs_try_spin_lock (+0/-1)

Josef Bacik (1) commits (+4/-1):
    Btrfs: return EIO if we have extent tree corruption

Eric Sandeen (1) commits (+6/-0):
    btrfs: use rcu_barrier() to wait for bdev puts at unmount

Wang Shilong (1) commits (+6/-4):
    Btrfs: return as soon as possible when edquot happens

Total: (7) commits (+25/-12)

 fs/btrfs/extent-tree.c |  5 ++++-
 fs/btrfs/file.c        |  1 +
 fs/btrfs/inode.c       |  3 +++
 fs/btrfs/locking.h     |  1 -
 fs/btrfs/qgroup.c      | 10 ++++++----
 fs/btrfs/transaction.c | 11 +++++------
 fs/btrfs/volumes.c     |  6 ++++++
 7 files changed, 25 insertions(+), 12 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2013-02-07  0:13 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2013-02-07  0:13 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

[ sorry, my lbdb seems to really like linux-kernel@vger.kerrnel.org,
fixed for real this time ]

Hi Linus,

Please pull my for-linus branch:

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

We've got corner cases for updating i_size that ceph was hitting, error
handling for quotas when we run out of space, a very subtle snapshot
deletion race, a crash while removing devices, and one deadlock between
subvolume creation and the sb_internal code (thanks lockdep).

Josef Bacik (3) commits (+12/-4):
    Btrfs: do not merge logged extents if we've removed them from the tree (+2/-1)
    Btrfs: fix possible stale data exposure (+1/-1)
    Btrfs: fix missing i_size update (+9/-2)

Miao Xie (2) commits (+21/-9):
    Btrfs: fix missing release of the space/qgroup reservation in start_transaction() (+19/-8)
    Btrfs: fix wrong sync_writers decrement in btrfs_file_aio_write() (+2/-1)

Jan Schmidt (1) commits (+10/-12):
    Btrfs: fix EDQUOT handling in btrfs_delalloc_reserve_metadata

Liu Bo (1) commits (+38/-9):
    Btrfs: fix race between snapshot deletion and getting inode

Chris Mason (1) commits (+4/-1):
    Btrfs: move d_instantiate outside the transaction during mksubvol

Eric Sandeen (1) commits (+2/-1):
    btrfs: don't try to notify udev about missing devices

Total: (9) commits

 fs/btrfs/extent-tree.c  | 22 ++++++++++------------
 fs/btrfs/extent_map.c   |  3 ++-
 fs/btrfs/file.c         | 25 ++++++++++++++++++++-----
 fs/btrfs/ioctl.c        |  5 ++++-
 fs/btrfs/ordered-data.c | 13 ++++++++++---
 fs/btrfs/scrub.c        | 25 ++++++++++++++++++++-----
 fs/btrfs/transaction.c  | 27 +++++++++++++++++++--------
 fs/btrfs/volumes.c      |  3 ++-
 8 files changed, 87 insertions(+), 36 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

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

* Re: [GIT PULL] Btrfs fixes
  2013-01-24 21:52 ` Chris Mason
@ 2013-01-25  3:13   ` Linus Torvalds
  0 siblings, 0 replies; 31+ messages in thread
From: Linus Torvalds @ 2013-01-25  3:13 UTC (permalink / raw)
  To: Chris Mason, Linus Torvalds, linux-btrfs, LKML

On Thu, Jan 24, 2013 at 1:52 PM, Chris Mason <chris.mason@fusionio.com> wrote:
>
> Update on this, we've tracked down the crc errors and are doing final
> checks on the patches.  Linus are you planning on taking this pull?  If
> not I can just fold the new stuff into a bigger request.

If you have them basically ready, add them to this, I haven't pulled
yet. So I'll just ignore this and wait for another pull request.

                 Linus

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

* Re: [GIT PULL] Btrfs fixes
  2013-01-23  0:48 Chris Mason
  2013-01-23  1:28 ` Liu Bo
@ 2013-01-24 21:52 ` Chris Mason
  2013-01-25  3:13   ` Linus Torvalds
  1 sibling, 1 reply; 31+ messages in thread
From: Chris Mason @ 2013-01-24 21:52 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

On Tue, Jan 22, 2013 at 05:48:33PM -0700, Chris Mason wrote:
> Hi Linus,
> 
> My for-linus branch has our batch of btrfs fixes:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus
> 
> We've been hammering away at a crc corruption as well, which I was
> really hoping to get into this pull.  It isn't nailed down yet, but we
> were finally able to get a solid way to reproduce.  The only good
> news is it isn't a recent regression.

Update on this, we've tracked down the crc errors and are doing final
checks on the patches.  Linus are you planning on taking this pull?  If
not I can just fold the new stuff into a bigger request.

-chris

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

* Re: [GIT PULL] Btrfs fixes
  2013-01-23  1:28 ` Liu Bo
@ 2013-01-23  1:40   ` Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2013-01-23  1:40 UTC (permalink / raw)
  To: Liu Bo; +Cc: Chris Mason, Linus Torvalds, linux-btrfs, LKML

On Tue, Jan 22, 2013 at 06:28:21PM -0700, Liu Bo wrote:
> On Tue, Jan 22, 2013 at 07:48:33PM -0500, Chris Mason wrote:
> > Hi Linus,
> > 
> > My for-linus branch has our batch of btrfs fixes:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus
> > 
> > We've been hammering away at a crc corruption as well, which I was
> > really hoping to get into this pull.  It isn't nailed down yet, but we
> > were finally able to get a solid way to reproduce.  The only good
> > news is it isn't a recent regression.
> > 
> > The most important batch of fixes in here come from Ilya.  They address
> > a regression Liu Bo found in the balance ioctls for pausing and resuming
> > a running balance across drives.
> > 
> > Josef's orphan truncate patch fixes an obscure corruption we'd see
> > during xfstests.
> > 
> > Arne's patches address problems with subvolume quotas.  If the user
> > destroys quota groups incorrectly the FS will refuse to mount.
> > 
> > The rest are smaller fixes and plugs for memory leaks.
> 
> Hi,
> 
> Any chance to get these in this round?  I think they're good fixes,
> a memory leak and a warning fix, both are got from xfstests.

I'll get these tested in the next pull.

-chris

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

* Re: [GIT PULL] Btrfs fixes
  2013-01-23  0:48 Chris Mason
@ 2013-01-23  1:28 ` Liu Bo
  2013-01-23  1:40   ` Chris Mason
  2013-01-24 21:52 ` Chris Mason
  1 sibling, 1 reply; 31+ messages in thread
From: Liu Bo @ 2013-01-23  1:28 UTC (permalink / raw)
  To: Chris Mason, Linus Torvalds, linux-btrfs, LKML

On Tue, Jan 22, 2013 at 07:48:33PM -0500, Chris Mason wrote:
> Hi Linus,
> 
> My for-linus branch has our batch of btrfs fixes:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus
> 
> We've been hammering away at a crc corruption as well, which I was
> really hoping to get into this pull.  It isn't nailed down yet, but we
> were finally able to get a solid way to reproduce.  The only good
> news is it isn't a recent regression.
> 
> The most important batch of fixes in here come from Ilya.  They address
> a regression Liu Bo found in the balance ioctls for pausing and resuming
> a running balance across drives.
> 
> Josef's orphan truncate patch fixes an obscure corruption we'd see
> during xfstests.
> 
> Arne's patches address problems with subvolume quotas.  If the user
> destroys quota groups incorrectly the FS will refuse to mount.
> 
> The rest are smaller fixes and plugs for memory leaks.

Hi,

Any chance to get these in this round?  I think they're good fixes,
a memory leak and a warning fix, both are got from xfstests.

- Btrfs: use right range to find checksum for compressed extents
  https://patchwork.kernel.org/patch/1937031/
- Btrfs: fix memory leak on extent map after fsync
  https://patchwork.kernel.org/patch/1946561/

thanks,
liubo

> 
> Ilya Dryomov (6) commits (+94/-32):
>     Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag (+9/-8)
>     Btrfs: fix "mutually exclusive op is running" error code (+4/-4)
>     Btrfs: fix a regression in balance usage filter (+8/-1)
>     Btrfs: bring back balance pause/resume logic (+71/-17)
>     Btrfs: fix unlock order in btrfs_ioctl_rm_dev (+1/-1)
>     Btrfs: fix unlock order in btrfs_ioctl_resize (+1/-1)
> 
> Liu Bo (4) commits (+18/-7):
>     Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents (+14/-6)
>     Btrfs: let allocation start from the right raid type (+1/-1)
>     Btrfs: reset path lock state to zero (+2/-0)
>     Btrfs: fix off-by-one in lseek (+1/-0)
> 
> Miao Xie (4) commits (+15/-7):
>     Btrfs: fix missing write access release in btrfs_ioctl_resize() (+1/-0)
>     Btrfs: do not delete a subvolume which is in a R/O subvolume (+5/-5)
>     Btrfs: fix resize a readonly device (+4/-2)
>     Btrfs: disable qgroup id 0 (+5/-0)
> 
> Arne Jansen (2) commits (+19/-1):
>     Btrfs: prevent qgroup destroy when there are still relations (+12/-1)
>     Btrfs: ignore orphan qgroup relations (+7/-0)
> 
> Josef Bacik (2) commits (+39/-16):
>     Btrfs: add orphan before truncating pagecache (+38/-15)
>     Btrfs: set flushing if we're limited flushing (+1/-1)
> 
> Zach Brown (1) commits (+1/-0):
>     btrfs: fix btrfs_cont_expand() freeing IS_ERR em
> 
> Lukas Czerner (1) commits (+1/-1):
>     btrfs: get the device in write mode when deleting it
> 
> Eric Sandeen (1) commits (+14/-3):
>     btrfs: update timestamps on truncate()
> 
> Tsutomu Itoh (1) commits (+3/-1):
>     Btrfs: fix memory leak in name_cache_insert()
> 
> Total: (22) commits
> 
>  fs/btrfs/extent-tree.c |   6 ++-
>  fs/btrfs/file.c        |  10 ++--
>  fs/btrfs/inode.c       |  82 +++++++++++++++++++++++--------
>  fs/btrfs/ioctl.c       | 129 +++++++++++++++++++++++++++++++++++--------------
>  fs/btrfs/qgroup.c      |  20 +++++++-
>  fs/btrfs/send.c        |   4 +-
>  fs/btrfs/volumes.c     |  21 ++++++--
>  7 files changed, 204 insertions(+), 68 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

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

* [GIT PULL] Btrfs fixes
@ 2013-01-23  0:48 Chris Mason
  2013-01-23  1:28 ` Liu Bo
  2013-01-24 21:52 ` Chris Mason
  0 siblings, 2 replies; 31+ messages in thread
From: Chris Mason @ 2013-01-23  0:48 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi Linus,

My for-linus branch has our batch of btrfs fixes:

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

We've been hammering away at a crc corruption as well, which I was
really hoping to get into this pull.  It isn't nailed down yet, but we
were finally able to get a solid way to reproduce.  The only good
news is it isn't a recent regression.

The most important batch of fixes in here come from Ilya.  They address
a regression Liu Bo found in the balance ioctls for pausing and resuming
a running balance across drives.

Josef's orphan truncate patch fixes an obscure corruption we'd see
during xfstests.

Arne's patches address problems with subvolume quotas.  If the user
destroys quota groups incorrectly the FS will refuse to mount.

The rest are smaller fixes and plugs for memory leaks.

Ilya Dryomov (6) commits (+94/-32):
    Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag (+9/-8)
    Btrfs: fix "mutually exclusive op is running" error code (+4/-4)
    Btrfs: fix a regression in balance usage filter (+8/-1)
    Btrfs: bring back balance pause/resume logic (+71/-17)
    Btrfs: fix unlock order in btrfs_ioctl_rm_dev (+1/-1)
    Btrfs: fix unlock order in btrfs_ioctl_resize (+1/-1)

Liu Bo (4) commits (+18/-7):
    Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents (+14/-6)
    Btrfs: let allocation start from the right raid type (+1/-1)
    Btrfs: reset path lock state to zero (+2/-0)
    Btrfs: fix off-by-one in lseek (+1/-0)

Miao Xie (4) commits (+15/-7):
    Btrfs: fix missing write access release in btrfs_ioctl_resize() (+1/-0)
    Btrfs: do not delete a subvolume which is in a R/O subvolume (+5/-5)
    Btrfs: fix resize a readonly device (+4/-2)
    Btrfs: disable qgroup id 0 (+5/-0)

Arne Jansen (2) commits (+19/-1):
    Btrfs: prevent qgroup destroy when there are still relations (+12/-1)
    Btrfs: ignore orphan qgroup relations (+7/-0)

Josef Bacik (2) commits (+39/-16):
    Btrfs: add orphan before truncating pagecache (+38/-15)
    Btrfs: set flushing if we're limited flushing (+1/-1)

Zach Brown (1) commits (+1/-0):
    btrfs: fix btrfs_cont_expand() freeing IS_ERR em

Lukas Czerner (1) commits (+1/-1):
    btrfs: get the device in write mode when deleting it

Eric Sandeen (1) commits (+14/-3):
    btrfs: update timestamps on truncate()

Tsutomu Itoh (1) commits (+3/-1):
    Btrfs: fix memory leak in name_cache_insert()

Total: (22) commits

 fs/btrfs/extent-tree.c |   6 ++-
 fs/btrfs/file.c        |  10 ++--
 fs/btrfs/inode.c       |  82 +++++++++++++++++++++++--------
 fs/btrfs/ioctl.c       | 129 +++++++++++++++++++++++++++++++++++--------------
 fs/btrfs/qgroup.c      |  20 +++++++-
 fs/btrfs/send.c        |   4 +-
 fs/btrfs/volumes.c     |  21 ++++++--
 7 files changed, 204 insertions(+), 68 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2012-10-26 14:19 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2012-10-26 14:19 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hi Linus,

My for-linus branch:

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

Has our series of fixes for the next rc.  The biggest batch is from Jan
Schmidt, fixing up some problems in our subvolume quota code and fixing
btrfs send/receive to work with the new extended inode refs.

My git tree is against 3.6, but these were all retested against your
current git.

Jan Schmidt (7) commits (+149/-76):
    Btrfs: don't put removals from push_node_left into tree mod log twice (+7/-2)
    Btrfs: fix a tree mod logging issue for root replacement operations (+2/-8)
    Btrfs: tree mod log's old roots could still be part of the tree (+21/-4)
    Btrfs: fix extent buffer reference for tree mod log roots (+1/-1)
    Btrfs: extended inode refs support for send mechanism (+94/-58)
    Btrfs: comment for loop in tree_mod_log_insert_move (+5/-0)
    Btrfs: determine level of old roots (+19/-3)

Josef Bacik (2) commits (+8/-6):
    Btrfs: Use btrfs_update_inode_fallback when creating a snapshot (+6/-5)
    Btrfs: do not bug when we fail to commit the transaction (+2/-1)

Stefan Behrens (1) commits (+2/-2):
    Btrfs: Fix wrong error handling code

Lukas Czerner (1) commits (+2/-1):
    btrfs: Return EINVAL when length to trim is less than FSB

Arne Jansen (1) commits (+2/-1):
    Btrfs: send correct rdev and mode in btrfs-send

Gabriel de Perthuis (1) commits (+1/-1):
    Fix a sign bug causing invalid memory access in the ino_paths ioctl.

Liu Bo (1) commits (+5/-3):
    Btrfs: fix memory leak when cloning root's node

Alex Lyakas (1) commits (+13/-14):
    Btrfs: Send: preserve ownership (uid and gid) also for symlinks.

Miao Xie (1) commits (+7/-0):
    Btrfs: fix deadlock caused by the nested chunk allocation

Tsutomu Itoh (1) commits (+13/-4):
    Btrfs: fix memory leak in btrfs_quota_enable()

Total: (17) commits (+202/-108)
 fs/btrfs/backref.c     |  28 ++++-----
 fs/btrfs/backref.h     |   4 ++
 fs/btrfs/ctree.c       |  70 +++++++++++++++++-----
 fs/btrfs/ctree.h       |   3 +
 fs/btrfs/extent_io.c   |   4 +-
 fs/btrfs/inode.c       |   7 +--
 fs/btrfs/ioctl.c       |   6 +-
 fs/btrfs/qgroup.c      |  17 ++++--
 fs/btrfs/send.c        | 156 ++++++++++++++++++++++++++++++-------------------
 fs/btrfs/transaction.c |   2 +-
 fs/btrfs/volumes.c     |   7 +++
 11 files changed, 199 insertions(+), 105 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2012-05-06 13:35 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2012-05-06 13:35 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi everyone,

The for-linus branch in the btrfs git repo has some fixes:

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

The big ones here are a memory leak we introduced in rc1, and 
a scheduling while atomic if the transid on disk doesn't match the
transid we expected.  This happens for corrupt blocks, or out of date
disks.

It also fixes up the ioctl definition for our ioctl to resolve logical
inode numbers.  The __u32 was a merging error and doesn't match what we
ship in the progs.

Chris Mason (2) commits (+36/-17):
    Btrfs: avoid sleeping in verify_parent_transid while atomic (+34/-17)
    Btrfs: Add properly locking around add_root_to_dirty_list (+2/-0)

Stefan Behrens (1) commits (+7/-0):
    Btrfs: fix crash in scrub repair code when device is missing

Josef Bacik (1) commits (+2/-2):
    Btrfs: fix page leak when allocing extent buffers

Alexander Block (1) commits (+2/-2):
    btrfs: Fix mismatching struct members in ioctl.h

Total: (5) commits (+47/-21)

 fs/btrfs/ctree.c       |   28 +++++++++++++++++++---------
 fs/btrfs/disk-io.c     |   18 +++++++++++++-----
 fs/btrfs/disk-io.h     |    3 ++-
 fs/btrfs/extent-tree.c |    2 +-
 fs/btrfs/extent_io.c   |    4 ++--
 fs/btrfs/ioctl.h       |    4 ++--
 fs/btrfs/scrub.c       |    7 +++++++
 fs/btrfs/tree-log.c    |    2 +-
 8 files changed, 47 insertions(+), 21 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2012-04-28 12:27 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2012-04-28 12:27 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi everyone,

The for-linus branch of the btrfs git tree:

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

Has our collection of bug fixes.  I missed the last rc because I thought
our patches were making NFS crash during my xfs test runs.  Turns out it
was an NFS client bug fixed by someone else while I tried to bisect it.

All of these fixes are small, but some are fairly high impact.  The
biggest are fixes for our mount -o remount handling, a deadlock due
to GFP_KERNEL allocations in readdir, and a RAID10 error handling bug.

This was tested against both 3.3 and Linus' master as of this morning.

Stefan Behrens (4) commits (+7/-19):
    Btrfs: don't count CRC or header errors twice while scrubbing (+0/-15)
    Btrfs: fix btrfs_ioctl_dev_info() crash on missing device (+4/-1)
    Btrfs: fix that check_int_data mount option was ignored (+1/-1)
    Btrfs: fix block_rsv and space_info lock ordering (+2/-2)

Jan Schmidt (3) commits (+20/-8):
    Btrfs: don't call free_extent_buffer twice in iterate_irefs (+3/-5)
    Btrfs: add missing read locks in backref.c (+15/-2)
    Btrfs: fix repair code for RAID10 (+2/-1)

Arne Jansen (3) commits (+39/-26):
    btrfs: don't add both copies of DUP to reada extent tree (+13/-0)
    btrfs: fix race in reada (+23/-20)
    btrfs: don't return EINTR (+3/-6)

Li Zefan (3) commits (+32/-25):
    Btrfs: avoid possible use-after-free in clear_extent_bit() (+21/-15)
    Btrfs: retrurn void from clear_state_bit (+2/-5)
    Btrfs: avoid setting ->d_op twice (+9/-5)

Daniel J Blueman (2) commits (+3/-1):
    Btrfs: Fix space checking during fs resize (+1/-1)
    Btrfs: Prevent root_list corruption (+2/-0)

Chris Mason (2) commits (+8/-31):
    Btrfs: avoid deadlocks from GFP_KERNEL allocations during btrfs_real_readdir (+1/-29)
    Btrfs: reduce lock contention during extent insertion (+7/-2)

Josef Bacik (2) commits (+17/-21):
    Btrfs: always store the mirror we read the eb from (+17/-20)
    Btrfs: do not start delalloc inodes during sync (+0/-1)

Jesper Juhl (1) commits (+2/-0):
    Btrfs: Make free_ipath() deal gracefully with NULL pointers

Liu Bo (1) commits (+3/-3):
    Btrfs: do not mount when we have a sectorsize unequal to PAGE_SIZE

Julia Lawall (1) commits (+3/-1):
    fs/btrfs/volumes.c: add missing free_fs_devices

Ilya Dryomov (1) commits (+4/-2):
    Btrfs: fix max chunk size check in chunk allocator

Dan Carpenter (1) commits (+2/-0):
    Btrfs: double unlock bug in error handling

David Sterba (1) commits (+5/-1):
    btrfs: add missing unlocks to transaction abort paths

Sergei Trofimovich (1) commits (+4/-2):
    btrfs: fix early abort in 'remount'

Total: (26) commits

 fs/btrfs/backref.c     |   27 +++++++++++++++++------
 fs/btrfs/ctree.h       |    2 +-
 fs/btrfs/disk-io.c     |   22 +++++++++----------
 fs/btrfs/extent-tree.c |   15 ++++++-------
 fs/btrfs/extent_io.c   |   56 ++++++++++++++++++++++++------------------------
 fs/btrfs/extent_io.h   |    4 ++--
 fs/btrfs/file.c        |    9 ++++++--
 fs/btrfs/inode.c       |   54 ++++++++++++++++------------------------------
 fs/btrfs/ioctl.c       |    5 ++++-
 fs/btrfs/reada.c       |   48 +++++++++++++++++++++++++----------------
 fs/btrfs/relocation.c  |    4 +++-
 fs/btrfs/scrub.c       |   15 -------------
 fs/btrfs/super.c       |    7 +++---
 fs/btrfs/transaction.c |    6 +++++-
 fs/btrfs/volumes.c     |   13 +++++++----
 15 files changed, 148 insertions(+), 139 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2012-01-27 16:34 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2012-01-27 16:34 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, Linux-kernel

[ sorry resend without bad auto-complete for lkml ]

Hi Linus,

We've got a variety pack of fixes in the for-linus branch of the btrfs
repo:

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

These are all smaller fixes caught from different testers, benchmarks
and the occasional compiler warning.

Josef Bacik (3) commits (+3/-2):
    Btrfs: use cluster->window_start when allocating from a cluster bitmap (+1/-1)
    Btrfs: advance window_start if we're using a bitmap (+1/-0)
    Btrfs: make sure a bitmap has enough bytes (+1/-1)

Stefan Behrens (1) commits (+6/-5):
    Btrfs: fix warning for 32-bit build of fs/btrfs/check-integrity.c

Jan Schmidt (1) commits (+2/-2):
    Btrfs: fix uninit warning in backref.c

Liu Bo (1) commits (+1/-1):
    Btrfs: do not defrag a file partially

Mitch Harder (1) commits (+2/-0):
    Btrfs: Check for NULL page in extent_range_uptodate

Chris Mason (1) commits (+8/-2):
    Btrfs: fix reservations in btrfs_page_mkwrite

David Sterba (1) commits (+7/-0):
    btrfs: mask out gfp flags in releasepage

Jan Kara (1) commits (+4/-2):
    btrfs: Fix busyloops in transaction waiting code

Miao Xie (1) commits (+27/-22):
    Btrfs: fix enospc error caused by wrong checks of the chunk

Total: (11) commits (+60/-36)

 fs/btrfs/backref.c          |    4 +-
 fs/btrfs/check-integrity.c  |   11 +++++----
 fs/btrfs/disk-io.c          |    7 ++++++
 fs/btrfs/extent-tree.c      |   49 +++++++++++++++++++++++-------------------
 fs/btrfs/extent_io.c        |    2 +
 fs/btrfs/free-space-cache.c |    5 ++-
 fs/btrfs/inode.c            |   10 +++++++-
 fs/btrfs/ioctl.c            |    2 +-
 fs/btrfs/tree-log.c         |    6 +++-
 9 files changed, 60 insertions(+), 36 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

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

* [GIT PULL] Btrfs fixes
@ 2011-12-23 17:24 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2011-12-23 17:24 UTC (permalink / raw)
  To: Linus Torvalds, LKML, linux-btrfs

Hi Linus,

My for-linus branch has two commits:

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

One is Al's patch in response to my last pull request, but with one small
change to call d_instantiate before trying to log the inode in
btrfs_link.

The other is a double unlock that Dan Carpenter found.  These did get
rebased this morning before I pushed them out, but I reran tests after
the rebase.

Chris Mason (1) commits (+2/-1):
    Btrfs: fix worker lock misuse in find_worker

Al Viro (1) commits (+5/-4):
    Btrfs: call d_instantiate after all ops are setup

Total: (2) commits (+7/-5)

 fs/btrfs/async-thread.c |    3 ++-
 fs/btrfs/inode.c        |    9 +++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

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

* Re: [GIT PULL] Btrfs fixes
  2011-12-16 17:53 Chris Mason
@ 2011-12-16 18:20 ` Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2011-12-16 18:20 UTC (permalink / raw)
  To: LKML, linux-btrfs, Linus Torvalds

On Fri, Dec 16, 2011 at 12:53:44PM -0500, Chris Mason wrote:
> Hi everyone,
> 
> This pull request is bigger than I wanted it to be, but Josef has
> commits in here for some long running ENOSPC bugs in btrfs.  This is
> a few weeks of tracing our delalloc reservations from Josef, and then
> fixing up the related bugs.
> 
> Outside of Josef's patches we have some assorted fixes.  Arne figured
> out we were orphaning whole snapshots if you unmounted enough times
> while the snapshot was being deleted.

Sorry, this part is missing:

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

> 
> Josef Bacik (6) commits (+212/-117):
>     Btrfs: fix how we do delalloc reservations and how we free reservations on error (+44/-13)
>     Btrfs: fix num_workers_starting bug and other bugs in async thread (+83/-78)
>     Btrfs: only set cache_generation if we setup the block group (+1/-1)
>     Btrfs: deal with enospc from dirtying inodes properly (+80/-22)
>     Btrfs: don't panic if orphan item already exists (+1/-1)
>     Btrfs: fix leaked space in truncate (+3/-2)
> 
> Chris Mason (4) commits (+10/-4):
>     Btrfs: fix btrfs_end_bio to deal with write errors to a single mirror (+1/-1)
>     Btrfs: deal with NULL srv_rsv in the delalloc inode reservation code (+2/-2)
>     Btrfs: add a cond_resched() into the worker loop (+1/-1)
>     Btrfs: unplug every once and a while (+6/-0)
> 
> Miao Xie (3) commits (+29/-13):
>     Btrfs: fix wrong i_size when truncating a file to a larger size (+12/-6)
>     Btrfs: fix inaccurate available space on raid0 profile (+13/-6)
>     Btrfs: fix wrong disk space information of the files (+4/-1)
> 
> Casey Schaufler (1) commits (+26/-5):
>     BTRFS: Establish i_ops before calling d_instantiate
> 
> Arne Jansen (1) commits (+32/-0):
>     btrfs: keep orphans for subvolume deletion
> 
> Li Zefan (1) commits (+2/-2):
>     Btrfs: fix ctime update of on-disk inode
> 
> Total: (16) commits (+309/-140)
> 
>  fs/btrfs/async-thread.c  |  117 ++++++++++++++----------------
>  fs/btrfs/async-thread.h  |    4 +-
>  fs/btrfs/ctree.h         |    3 +-
>  fs/btrfs/delayed-inode.c |    4 +-
>  fs/btrfs/disk-io.c       |   34 ++++++----
>  fs/btrfs/extent-tree.c   |   45 ++++++++----
>  fs/btrfs/file.c          |    6 ++-
>  fs/btrfs/inode.c         |  180 +++++++++++++++++++++++++++++++++++++---------
>  fs/btrfs/ioctl.c         |    6 +-
>  fs/btrfs/relocation.c    |    2 +
>  fs/btrfs/scrub.c         |    8 ++-
>  fs/btrfs/super.c         |   32 +++++++--
>  fs/btrfs/volumes.c       |    8 ++-
>  13 files changed, 309 insertions(+), 140 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

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

* [GIT PULL] Btrfs fixes
@ 2011-12-16 17:53 Chris Mason
  2011-12-16 18:20 ` Chris Mason
  0 siblings, 1 reply; 31+ messages in thread
From: Chris Mason @ 2011-12-16 17:53 UTC (permalink / raw)
  To: LKML, linux-btrfs, Linus Torvalds

Hi everyone,

This pull request is bigger than I wanted it to be, but Josef has
commits in here for some long running ENOSPC bugs in btrfs.  This is
a few weeks of tracing our delalloc reservations from Josef, and then
fixing up the related bugs.

Outside of Josef's patches we have some assorted fixes.  Arne figured
out we were orphaning whole snapshots if you unmounted enough times
while the snapshot was being deleted.

Josef Bacik (6) commits (+212/-117):
    Btrfs: fix how we do delalloc reservations and how we free reservations on error (+44/-13)
    Btrfs: fix num_workers_starting bug and other bugs in async thread (+83/-78)
    Btrfs: only set cache_generation if we setup the block group (+1/-1)
    Btrfs: deal with enospc from dirtying inodes properly (+80/-22)
    Btrfs: don't panic if orphan item already exists (+1/-1)
    Btrfs: fix leaked space in truncate (+3/-2)

Chris Mason (4) commits (+10/-4):
    Btrfs: fix btrfs_end_bio to deal with write errors to a single mirror (+1/-1)
    Btrfs: deal with NULL srv_rsv in the delalloc inode reservation code (+2/-2)
    Btrfs: add a cond_resched() into the worker loop (+1/-1)
    Btrfs: unplug every once and a while (+6/-0)

Miao Xie (3) commits (+29/-13):
    Btrfs: fix wrong i_size when truncating a file to a larger size (+12/-6)
    Btrfs: fix inaccurate available space on raid0 profile (+13/-6)
    Btrfs: fix wrong disk space information of the files (+4/-1)

Casey Schaufler (1) commits (+26/-5):
    BTRFS: Establish i_ops before calling d_instantiate

Arne Jansen (1) commits (+32/-0):
    btrfs: keep orphans for subvolume deletion

Li Zefan (1) commits (+2/-2):
    Btrfs: fix ctime update of on-disk inode

Total: (16) commits (+309/-140)

 fs/btrfs/async-thread.c  |  117 ++++++++++++++----------------
 fs/btrfs/async-thread.h  |    4 +-
 fs/btrfs/ctree.h         |    3 +-
 fs/btrfs/delayed-inode.c |    4 +-
 fs/btrfs/disk-io.c       |   34 ++++++----
 fs/btrfs/extent-tree.c   |   45 ++++++++----
 fs/btrfs/file.c          |    6 ++-
 fs/btrfs/inode.c         |  180 +++++++++++++++++++++++++++++++++++++---------
 fs/btrfs/ioctl.c         |    6 +-
 fs/btrfs/relocation.c    |    2 +
 fs/btrfs/scrub.c         |    8 ++-
 fs/btrfs/super.c         |   32 +++++++--
 fs/btrfs/volumes.c       |    8 ++-
 13 files changed, 309 insertions(+), 140 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2011-12-08 19:24 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2011-12-08 19:24 UTC (permalink / raw)
  To: Linus Torvalds, LKML, linux-btrfs

Hi everyone,

The for-linus branch of the btrfs repository:

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

Has a few more fixes.  The most notable here are two more patches from
Alexandre's batch of allocator fixes.  The other two fix corner cases in
the state code and in the code to add devices.

Alexandre Oliva (2) commits (+49/-51):
    Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE (+18/-8)
    Btrfs: try cluster but don't advance in search list (+31/-43)

Liu Bo (1) commits (+16/-8):
    Btrfs: drop spin lock when memory alloc fails

Li Zefan (1) commits (+1/-1):
    Btrfs: check if the to-be-added device is writable

Total: (4) commits (+66/-60)

 fs/btrfs/extent-tree.c |  100 +++++++++++++++++++++++------------------------
 fs/btrfs/extent_io.c   |   24 ++++++++----
 fs/btrfs/volumes.c     |    2 +-
 3 files changed, 66 insertions(+), 60 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2011-11-22  1:30 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2011-11-22  1:30 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi everyone,

The for-linus branch of the linux-btrfs repo has some important fixes:

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

The most important in the bunch fixes the btrfs cache flushing.  This
one probably explains many of the corruptions that have been reported,
especially on multi-device filesystems.  I had a hard time hitting it
locally, partially because it is much less likely to happen for fsync
based commits and most of my tests used fsyncs to exercise the commit
code.  Ceph users running with -o notreelog were dramatically more
likely to trigger the corruptions.

The problem was that btrfs was triggering cache flushes before the last
copy of the super block, instead of doing them before the first copy.
We also needed to be more careful about getting flushes done to all the
devices in a multi-device FS before writing any of the supers.  To help
verify the new code, I wrote up a writeback-caching elevator, which I
sent posted earlier today for comments/review.

Many thanks to Alexandre Oliva and Arne Jansen for helping nail this
down.

Outside of the cache flushes, we also have a fix from Liu Bo for
corruptions when snapshotting with mount -o inode_cache enabled.

My for-linus branch is still against 3.1, but these were tested on Linus
git as well.

Josef Bacik (3) commits (+90/-42):
    Btrfs: wait on caching if we're loading the free space cache (+81/-41)
    Btrfs: clear pages dirty for io and set them extent mapped (+5/-0)
    Btrfs: sectorsize align offsets in fiemap (+4/-1)

Chris Mason (2) commits (+141/-18):
    Btrfs: remove free-space-cache.c WARN during log replay (+7/-1)
    Btrfs: fix barrier flushes (+134/-17)

Li Zefan (2) commits (+16/-38):
    Btrfs: avoid unnecessary bitmap search for cluster setup (+4/-38)
    Btrfs: fix to search one more bitmap for cluster setup (+12/-0)

Jan Schmidt (1) commits (+4/-4):
    btrfs: mirror_num should be int, not u64

Jeff Mahoney (1) commits (+9/-6):
    btrfs: Fix up 32/64-bit compatibility for new ioctls

Liu Bo (1) commits (+26/-1):
    Btrfs: fix tree corruption after multi-thread snapshots and inode_cache flush

Arnd Hannemann (1) commits (+3/-3):
    Btrfs: prefix resize related printks with btrfs:

David Sterba (1) commits (+4/-2):
    btrfs: fix stat blocks accounting

Total: (12) commits (+290/-111)

 fs/btrfs/backref.c          |    2 +-
 fs/btrfs/ctree.c            |   17 +++++-
 fs/btrfs/ctree.h            |    5 +-
 fs/btrfs/disk-io.c          |  147 +++++++++++++++++++++++++++++++++++++-----
 fs/btrfs/extent-tree.c      |  119 +++++++++++++++++++++++------------
 fs/btrfs/extent_io.c        |    9 ++-
 fs/btrfs/extent_io.h        |    2 +-
 fs/btrfs/free-space-cache.c |   63 ++++++++-----------
 fs/btrfs/inode.c            |    6 +-
 fs/btrfs/ioctl.c            |   15 +++--
 fs/btrfs/scrub.c            |    2 +-
 fs/btrfs/transaction.c      |    8 +++
 fs/btrfs/volumes.h          |    6 ++
 13 files changed, 290 insertions(+), 111 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2011-11-11 21:40 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2011-11-11 21:40 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi Linus,

The for-linus branch of the btrfs git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus
sha: 8965593e41dd2d0e2a2f1e6f245336005ea94a2c

Has our fixes since rc1.  These are pretty small, for the most part
we're nailing some regressions in the mount error handling code and
tweaking the ENOSPC throttling.

My for-linus tree is against 3.1, but this was tested against 3.2-rc1 as
well.

Miao Xie (6) commits (+47/-23):
    Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush} (+12/-16)
    Btrfs: fix deadlock caused by the race between relocation (+2/-2)
    Btrfs: fix no reserved space for writing out inode cache (+24/-4)
    Btrfs: fix unreleased path in btrfs_orphan_cleanup() (+3/-0)
    Btrfs: fix nocow when deleting the item (+4/-1)
    Btrfs: fix orphan backref nodes (+2/-0)

Ilya Dryomov (5) commits (+43/-46):
    Btrfs: avoid null dereference and leaks when bailing from open_ctree() (+15/-20)
    Btrfs: close devices on all error paths in open_ctree() (+3/-4)
    Btrfs: fix subvol_name leak on error in btrfs_mount() (+3/-1)
    Btrfs: fix memory leak in btrfs_parse_early_options() (+1/-0)
    Btrfs: rework error handling in btrfs_mount() (+21/-21)

Chris Mason (2) commits (+56/-33):
    Btrfs: fix oops on NULL trans handle in btrfs_truncate (+9/-7)
    Btrfs: tweak the delayed inode reservations again (+47/-26)

Josef Bacik (2) commits (+93/-16):
    Btrfs: only map pages if we know we need them when reading the space cache (+10/-7)
    Btrfs: fix our reservations for updating an inode when completing io (+83/-9)

slyich@gmail.com (1) commits (+5/-3):
    btrfs: fix double-free 'tree_root' in 'btrfs_mount()'

Arne Jansen (1) commits (+29/-35):
    Btrfs: handle bio_add_page failure gracefully in scrub

David Sterba (1) commits (+2/-2):
    btrfs: rename the option to nospace_cache

Total: (18) commits

 fs/btrfs/btrfs_inode.h      |    4 +--
 fs/btrfs/delayed-inode.c    |   58 +++++++++++++++++++++++++++++-
 fs/btrfs/disk-io.c          |   42 +++++++++------------
 fs/btrfs/extent-tree.c      |   50 ++++++++++++++++----------
 fs/btrfs/free-space-cache.c |   17 +++++----
 fs/btrfs/inode-map.c        |   28 ++++++++++++--
 fs/btrfs/inode.c            |   84 +++++++++++++++++++++++++++++--------------
 fs/btrfs/relocation.c       |    2 +
 fs/btrfs/scrub.c            |   64 +++++++++++++++------------------
 fs/btrfs/super.c            |   49 ++++++++++++++-----------
 fs/btrfs/transaction.c      |    4 +-
 fs/btrfs/volumes.c          |    5 ++-
 12 files changed, 262 insertions(+), 145 deletions(-)

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

* Re: [GIT PULL] Btrfs fixes
  2011-09-19 23:57 Chris Mason
@ 2011-09-20 16:19 ` Sage Weil
  0 siblings, 0 replies; 31+ messages in thread
From: Sage Weil @ 2011-09-20 16:19 UTC (permalink / raw)
  To: Chris Mason; +Cc: Linus Torvalds, linux-btrfs, linux-kernel

Hi Chris-

This pull misses the clone reservation fix again... :)

	http://www.spinics.net/lists/linux-btrfs/msg11826.html

Thanks!
sage



On Mon, 19 Sep 2011, Chris Mason wrote:

> Hi everyone,
> 
> The for-linus branch of the btrfs tree on github:
> 
> Head commit: a66e7cc626f42de6c745963fe0d807518fa49d39
> git://github.com/chrismason/linux.git for-linus
> 
> Has the following fixes.  for-linus is against rc6, since some of these
> are regression fixes for earlier 3.1 btrfs commits.  The most important
> of the bunch is Josef's dentry fix, which avoids enoents if we race with
> multiple procs hitting on the same inode.  This bug is btrfs-specific,
> it came in with his optimization to cache the inode location during
> readdir.
> 
> Li Zefan (3) commits (+9/-5):
>     Btrfs: don't make a file partly checksummed through file clone (+5/-0)
>     Btrfs: don't change inode flag of the dest clone file (+0/-1)
>     Btrfs: fix pages truncation in btrfs_ioctl_clone() (+4/-4)
> 
> Josef Bacik (1) commits (+11/-2):
>     Btrfs: only clear the need lookup flag after the dentry is setup
> 
> Jeff Liu (1) commits (+7/-2):
>     BTRFS: Fix lseek return value for error
> 
> Hidetoshi Seto (1) commits (+3/-2):
>     btrfs: fix d_off in the first dirent
> 
> Total: (6) commits (+30/-11)
> 
>  fs/btrfs/file.c  |    9 +++++++--
>  fs/btrfs/inode.c |   18 ++++++++++++++----
>  fs/btrfs/ioctl.c |   14 +++++++++-----
>  3 files changed, 30 insertions(+), 11 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
> 
> 

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

* [GIT PULL] Btrfs fixes
@ 2011-09-19 23:57 Chris Mason
  2011-09-20 16:19 ` Sage Weil
  0 siblings, 1 reply; 31+ messages in thread
From: Chris Mason @ 2011-09-19 23:57 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hi everyone,

The for-linus branch of the btrfs tree on github:

Head commit: a66e7cc626f42de6c745963fe0d807518fa49d39
git://github.com/chrismason/linux.git for-linus

Has the following fixes.  for-linus is against rc6, since some of these
are regression fixes for earlier 3.1 btrfs commits.  The most important
of the bunch is Josef's dentry fix, which avoids enoents if we race with
multiple procs hitting on the same inode.  This bug is btrfs-specific,
it came in with his optimization to cache the inode location during
readdir.

Li Zefan (3) commits (+9/-5):
    Btrfs: don't make a file partly checksummed through file clone (+5/-0)
    Btrfs: don't change inode flag of the dest clone file (+0/-1)
    Btrfs: fix pages truncation in btrfs_ioctl_clone() (+4/-4)

Josef Bacik (1) commits (+11/-2):
    Btrfs: only clear the need lookup flag after the dentry is setup

Jeff Liu (1) commits (+7/-2):
    BTRFS: Fix lseek return value for error

Hidetoshi Seto (1) commits (+3/-2):
    btrfs: fix d_off in the first dirent

Total: (6) commits (+30/-11)

 fs/btrfs/file.c  |    9 +++++++--
 fs/btrfs/inode.c |   18 ++++++++++++++----
 fs/btrfs/ioctl.c |   14 +++++++++-----
 3 files changed, 30 insertions(+), 11 deletions(-)

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

* Re: [GIT PULL] btrfs fixes
  2011-07-08 18:55 [GIT PULL] btrfs fixes Chris Mason
@ 2011-07-11 11:31 ` Tarkan Erimer
  0 siblings, 0 replies; 31+ messages in thread
From: Tarkan Erimer @ 2011-07-11 11:31 UTC (permalink / raw)
  To: Chris Mason; +Cc: Linus Torvalds, linux-btrfs, linux-kernel

On 07/08/2011 09:55 PM, Chris Mason wrote:
> 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 three more fixes.  We're fixing oopsen during space balancing (btrfs
> filesystem balance /mnt)) and during device removal.
>
> Dave Sterba also sent in a patch to make /proc/mounts properly match a
> few new mount options, which he (correctly I think) considers a
> regression fix because it makes it hard for testers/users to verify the
> options in a running config.
>

Hi Chris,

Maybe, any development regarding to the "[BUG] Btrfs: Corrupted root 
filesystem" subjected bug posted by me ?


Tarkan

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

* [GIT PULL] btrfs fixes
@ 2011-07-08 18:55 Chris Mason
  2011-07-11 11:31 ` Tarkan Erimer
  0 siblings, 1 reply; 31+ messages in thread
From: Chris Mason @ 2011-07-08 18:55 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

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 three more fixes.  We're fixing oopsen during space balancing (btrfs
filesystem balance /mnt)) and during device removal.

Dave Sterba also sent in a patch to make /proc/mounts properly match a
few new mount options, which he (correctly I think) considers a
regression fix because it makes it hard for testers/users to verify the
options in a running config.

Josef Bacik (1) commits (+2/-1):
    Btrfs: don't panic if we get an error while balancing V2

David Sterba (1) commits (+11/-0):
    btrfs: add missing options displayed in mount output

Miao Xie (1) commits (+7/-5):
    btrfs: fix oops when doing space balance

Total: (3) commits (+20/-6)

 fs/btrfs/ctree.h   |    5 +++++
 fs/btrfs/inode.c   |   12 +++++++-----
 fs/btrfs/super.c   |    6 ++++++
 fs/btrfs/volumes.c |    3 ++-
 4 files changed, 20 insertions(+), 6 deletions(-)

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

* [GIT PULL] Btrfs fixes
@ 2010-04-12 20:00 Chris Mason
  0 siblings, 0 replies; 31+ messages in thread
From: Chris Mason @ 2010-04-12 20:00 UTC (permalink / raw)
  To: linux-kernel, linux-btrfs, Linus Torvalds

Hi Linus

The last pull was missing two fixes, which you can find in the
master branch of the btrfs-unstable repo:

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

Josef's commit helps close another enospc problem, and the other one
fixes an oops where we try to allocate a zero sized extent off the
drive.

Chris Mason (1) commits (+6/-0):
    Btrfs: make sure the chunk allocator doesn't create zero length chunks

Josef Bacik (1) commits (+15/-5):
    Btrfs: fix data enospc check overflow

Total: (2) commits

 fs/btrfs/extent-tree.c |   20 +++++++++++++++-----
 fs/btrfs/volumes.c     |    6 ++++++
 2 files changed, 21 insertions(+), 5 deletions(-)

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

end of thread, other threads:[~2017-01-13 22:01 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-13 22:01 [GIT PULL] Btrfs fixes Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2015-05-15 19:11 Chris Mason
2015-05-01 14:08 Chris Mason
2015-04-26 13:18 Chris Mason
2015-03-20 16:55 Chris Mason
2015-01-23 18:49 Chris Mason
2015-01-08 18:28 Chris Mason
2014-11-01 16:05 Chris Mason
2014-09-19 19:47 Chris Mason
2013-03-17 12:34 Chris Mason
2013-02-07  0:13 Chris Mason
2013-01-23  0:48 Chris Mason
2013-01-23  1:28 ` Liu Bo
2013-01-23  1:40   ` Chris Mason
2013-01-24 21:52 ` Chris Mason
2013-01-25  3:13   ` Linus Torvalds
2012-10-26 14:19 Chris Mason
2012-05-06 13:35 Chris Mason
2012-04-28 12:27 Chris Mason
2012-01-27 16:34 Chris Mason
2011-12-23 17:24 Chris Mason
2011-12-16 17:53 Chris Mason
2011-12-16 18:20 ` Chris Mason
2011-12-08 19:24 Chris Mason
2011-11-22  1:30 Chris Mason
2011-11-11 21:40 Chris Mason
2011-09-19 23:57 Chris Mason
2011-09-20 16:19 ` Sage Weil
2011-07-08 18:55 [GIT PULL] btrfs fixes Chris Mason
2011-07-11 11:31 ` Tarkan Erimer
2010-04-12 20:00 [GIT PULL] Btrfs fixes Chris Mason

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