linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Btrfs updates
@ 2012-08-29 16:01 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-08-29 16:01 UTC (permalink / raw)
  To: Linus Torvalds, Linux Btrfs List, LKML

Hi Linus,

I've split out the big send/receive update from my last pull request and
now have just the fixes in my for-linus branch:

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

For anyone who wants send/receive updates, they are maintained as well.
But it is has enough cleanups (without fixes) that we shouldn't be asking
Linus to take it right now.  The send/recv branch will wander over to
linux-next shortly though.

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

The largest patches in this pull are Josef's patches to fix DIO locking
problems and his patch to fix a crash during balance.
They are both well tested.

The rest are smaller fixes that we've had queued.  The last rc came out
while I was hacking new and exciting ways to recover from a misplaced rm
-rf on my dev box, so these missed rc3.

Josef Bacik (9) commits (+322/-216):
    Btrfs: don't allocate a seperate csums array for direct reads (+19/-32)
    Btrfs: do not use missing devices when showing devname (+2/-0)
    Btrfs: fix enospc problems when deleting a subvol (+1/-1)
    Btrfs: increase the size of the free space cache (+7/-8)
    Btrfs: lock extents as we map them in DIO (+127/-129)
    Btrfs: fix deadlock with freeze and sync V2 (+9/-4)
    Btrfs: allow delayed refs to be merged (+142/-27)
    Btrfs: do not strdup non existent strings (+5/-3)
    Btrfs: barrier before waitqueue_active (+10/-12)

Stefan Behrens (5) commits (+16/-77):
    Btrfs: fix that repair code is spuriously executed for transid failures (+6/-2)
    Btrfs: revert checksum error statistic which can cause a BUG() (+2/-39)
    Btrfs: fix a misplaced address operator in a condition (+1/-1)
    Btrfs: remove superblock writing after fatal error (+5/-33)
    Btrfs: fix that error value is changed by mistake (+2/-2)

Dan Carpenter (4) commits (+16/-8):
    Btrfs: unlock on error in btrfs_delalloc_reserve_metadata() (+3/-1)
    Btrfs: fix some error codes in btrfs_qgroup_inherit() (+6/-2)
    Btrfs: fix some endian bugs handling the root times (+4/-4)
    Btrfs: checking for NULL instead of IS_ERR (+3/-1)

Liu Bo (2) commits (+25/-6):
    Btrfs: fix ordered extent leak when failing to start a transaction (+5/-2)
    Btrfs: fix a dio write regression (+20/-4)

Arne Jansen (2) commits (+38/-73):
    Btrfs: fix deadlock in wait_for_more_refs (+21/-73)
    Btrfs: fix race in run_clustered_refs (+17/-0)

Chris Mason (1) commits (+3/-0):
    Btrfs: don't run __tree_mod_log_free_eb on leaves

Fengguang Wu (1) commits (+3/-2):
    btrfs: fix second lock in btrfs_delete_delayed_items()

Miao Xie (1) commits (+1/-0):
    Btrfs: fix wrong mtime and ctime when creating snapshots

Total: (25) commits (+424/-382)

 fs/btrfs/backref.c       |   4 +-
 fs/btrfs/compression.c   |   1 +
 fs/btrfs/ctree.c         |   9 +-
 fs/btrfs/ctree.h         |   3 +-
 fs/btrfs/delayed-inode.c |  12 +-
 fs/btrfs/delayed-ref.c   | 163 +++++++++++++++++++-----
 fs/btrfs/delayed-ref.h   |   4 +
 fs/btrfs/disk-io.c       |  53 ++------
 fs/btrfs/disk-io.h       |   2 +-
 fs/btrfs/extent-tree.c   | 123 +++++++++---------
 fs/btrfs/extent_io.c     |  17 +--
 fs/btrfs/file-item.c     |   4 +-
 fs/btrfs/inode.c         | 326 ++++++++++++++++++++++++-----------------------
 fs/btrfs/ioctl.c         |   2 +-
 fs/btrfs/locking.c       |   2 +-
 fs/btrfs/qgroup.c        |  12 +-
 fs/btrfs/root-tree.c     |   4 +-
 fs/btrfs/super.c         |  15 ++-
 fs/btrfs/transaction.c   |   3 +-
 fs/btrfs/volumes.c       |  33 +----
 fs/btrfs/volumes.h       |   2 -
 21 files changed, 418 insertions(+), 376 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2013-05-18 14:30 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2013-05-18 14:30 UTC (permalink / raw)
  To: Linus Torvalds, lkml, linux-btrfs

Hi Linus,

Please pull my for-linus branch:

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

Miao Xie has been very busy, fixing races and enospc problems and many
other small but important pieces.

Alexandre Oliva discovered some problems with how our error handling was
interacting with the block layer and for now has disabled our partial
handling of sub-page writes.  The real sub-page work is in a series of
patches from IBM that we still need to integrate and test.  The code
Alexandre has turned off was really incomplete.

Josef has more error handling fixes and an important fix for the new
skinny extent format.

This also has my fix for the tracepoint crash from late in 3.9.  It's
the first stage in a larger clean up to get rid of btrfs_bio and make
a proper bioset for all the items we need to tack into the bio.  For now
the bioset only holds our mirror_num and stripe_index, but for the next
merge window I'll shuffle more in.

Miao Xie (10) commits (+87/-69):
    Btrfs: don't steal the reserved space from the global reserve if their space type is different (+4/-2)
    Btrfs: don't abort the current transaction if there is no enough space for inode cache (+2/-1)
    Btrfs: don't invoke btrfs_invalidate_inodes() in the spin lock context (+6/-0)
    Btrfs: don't use global block reservation for inode cache truncation (+34/-22)
    Btrfs: fix unprotected root node of the subvolume's inode rb-tree (+3/-4)
    Btrfs: remove BUG_ON() in btrfs_read_fs_tree_no_radix() (+0/-1)
    Btrfs: pause the space balance when remounting to R/O (+1/-0)
    Btrfs: optimize the error handle of use_block_rsv() (+28/-37)
    Btrfs: update the global reserve if it is empty (+8/-1)
    Btrfs: fix accessing a freed tree root (+1/-1)

Josef Bacik (4) commits (+35/-32):
    Btrfs: make sure roots are assigned before freeing their nodes (+21/-18)
    Btrfs: handle running extent ops with skinny metadata (+12/-10)
    Btrfs: remove warn on in free space cache writeout (+1/-3)
    Btrfs: don't null pointer deref on abort (+1/-1)

Stefan Behrens (3) commits (+8/-1):
    Btrfs: explicitly use global_block_rsv for quota_tree (+2/-0)
    Btrfs: fix possible memory leak in replace_path() (+1/-1)
    Btrfs: don't allow device replace on RAID5/RAID6 (+5/-0)

Liu Bo (2) commits (+8/-4):
    Btrfs: return errno if possible when we fail to allocate memory (+6/-2)
    Btrfs: fix off-by-one in fiemap (+2/-2)

Gabriel de Perthuis (1) commits (+5/-5):
    btrfs: don't stop searching after encountering the wrong item

Alexandre Oliva (1) commits (+30/-55):
    btrfs: do away with non-whole_page extent I/O

Chris Mason (1) commits (+120/-72):
    Btrfs: use a btrfs bioset instead of abusing bio internals

David Sterba (1) commits (+4/-4):
    btrfs: annotate quota tree for lockdep

Wang Shilong (1) commits (+2/-1):
    Btrfs: fix possible memory leak in the find_parent_nodes()

Andreas Philipp (1) commits (+6/-7):
    Correct allowed raid levels on balance.

Total: (25) commits (+305/-250)

 fs/btrfs/backref.c          |   3 +-
 fs/btrfs/check-integrity.c  |   2 +-
 fs/btrfs/ctree.c            |   4 +-
 fs/btrfs/ctree.h            |   8 +--
 fs/btrfs/delayed-ref.h      |   1 +
 fs/btrfs/dev-replace.c      |   5 ++
 fs/btrfs/disk-io.c          |  52 ++++++++++-------
 fs/btrfs/extent-tree.c      |  94 ++++++++++++++++--------------
 fs/btrfs/extent_io.c        | 138 +++++++++++++++++++++++---------------------
 fs/btrfs/extent_io.h        |   2 +
 fs/btrfs/free-space-cache.c |  43 +++++++-------
 fs/btrfs/free-space-cache.h |   2 +
 fs/btrfs/inode-map.c        |   8 ++-
 fs/btrfs/inode.c            |  81 +++++++++++++++++---------
 fs/btrfs/ioctl.c            |  10 ++--
 fs/btrfs/raid56.c           |   2 +-
 fs/btrfs/relocation.c       |   7 ++-
 fs/btrfs/scrub.c            |  10 ++--
 fs/btrfs/super.c            |   1 +
 fs/btrfs/volumes.c          |  54 ++++-------------
 fs/btrfs/volumes.h          |  20 +++++++
 21 files changed, 301 insertions(+), 246 deletions(-)

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

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

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 had a busy two weeks of bug fixing.  The biggest patches in here
are some long standing early-enospc problems (Josef) and a very old race
where compression and mmap combine forces to lose writes (me).  I'm
fairly sure the mmap bug goes all the way back to the introduction of
the compression code, which is proof that fsx doesn't trigger every
possible mmap corner after all.

I'm sure you'll notice one of these is from this morning, it's a small
and isolated use-after-free fix in our scrub error reporting.  I double
checked it here.

Josef Bacik (6) commits (+90/-18):
    Btrfs: hold the ordered operations mutex when waiting on ordered extents (+2/-0)
    Btrfs: don't drop path when printing out tree errors in scrub (+2/-1)
    Btrfs: fix space leak when we fail to reserve metadata space (+41/-6)
    Btrfs: fix space accounting for unlink and rename (+2/-4)
    Btrfs: limit the global reserve to 512mb (+1/-1)
    Btrfs: handle a bogus chunk tree nicely (+42/-6)

Jan Schmidt (2) commits (+24/-16):
    Btrfs: fix EIO from btrfs send in is_extent_unchanged for punched holes (+4/-6)
    Btrfs: fix locking on ROOT_REPLACE operations in tree mod log (+20/-10)

Wang Shilong (2) commits (+10/-2):
    Btrfs: fix double free in the btrfs_qgroup_account_ref() (+1/-2)
    Btrfs: fix missing qgroup reservation before fallocating (+9/-0)

Miao Xie (2) commits (+5/-3):
    Btrfs: fix wrong return value of btrfs_lookup_csum() (+3/-1)
    Btrfs: fix wrong reservation of csums (+2/-2)

Chris Mason (1) commits (+49/-0):
    Btrfs: fix race between mmap writes and compression

Liu Bo (1) commits (+1/-1):
    Btrfs: update to use fs_state bit

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

Total: (15) commits

 fs/btrfs/ctree.c        | 30 ++++++++++++------
 fs/btrfs/disk-io.c      | 14 ++++++---
 fs/btrfs/extent-tree.c  | 84 ++++++++++++++++++++++++++++++++++++++++++-------
 fs/btrfs/extent_io.c    | 33 +++++++++++++++++++
 fs/btrfs/extent_io.h    |  2 ++
 fs/btrfs/file-item.c    |  6 ++--
 fs/btrfs/file.c         |  9 ++++++
 fs/btrfs/inode.c        | 22 ++++++++++---
 fs/btrfs/ordered-data.c |  2 ++
 fs/btrfs/qgroup.c       |  3 +-
 fs/btrfs/scrub.c        |  3 +-
 fs/btrfs/send.c         | 10 +++---
 fs/btrfs/volumes.c      | 13 +++++++-
 13 files changed, 188 insertions(+), 43 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2013-03-09  0:38 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2013-03-09  0:38 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hi Linus,

Please grab my for-linus:

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

These are scattered fixes and one performance improvement.  The biggest
functional change is in how we throttle metadata changes.  The new code
bumps our average file creation rate up by ~13% in fs_mark, and lowers
CPU usage.

Stefan bisected out a regression in our allocation code that made
balance loop on extents larger than 256MB.

Liu Bo (6) commits (+71/-19):
    Btrfs: build up error handling for merge_reloc_roots (+35/-12)
    Btrfs: check for NULL pointer in updating reloc roots (+2/-0)
    Btrfs: avoid deadlock on transaction waiting list (+7/-0)
    Btrfs: free all recorded tree blocks on error (+6/-3)
    Btrfs: do not BUG_ON on aborted situation (+12/-3)
    Btrfs: do not BUG_ON in prepare_to_reloc (+9/-1)

Chris Mason (2) commits (+96/-63):
    Btrfs: enforce min_bytes parameter during extent allocation (+4/-2)
    Btrfs: improve the delayed inode throttling (+92/-61)

Miao Xie (2) commits (+45/-39):
    Btrfs: fix unclosed transaction handler when the async transaction commitment fails (+4/-0)
    Btrfs: fix wrong handle at error path of create_snapshot() when the commit fails (+41/-39)

Stefan Behrens (1) commits (+0/-8):
    Btrfs: allow running defrag in parallel to administrative tasks

Ilya Dryomov (1) commits (+5/-0):
    Btrfs: fix a mismerge in btrfs_balance()

Josef Bacik (1) commits (+4/-1):
    Btrfs: use set_nlink if our i_nlink is 0

Total: (13) commits (+221/-130)

 fs/btrfs/delayed-inode.c | 151 ++++++++++++++++++++++++++++-------------------
 fs/btrfs/delayed-inode.h |   2 +
 fs/btrfs/disk-io.c       |  16 +++--
 fs/btrfs/inode.c         |   6 +-
 fs/btrfs/ioctl.c         |  18 ++----
 fs/btrfs/relocation.c    |  74 +++++++++++++++++------
 fs/btrfs/transaction.c   |  65 ++++++++++++--------
 fs/btrfs/tree-log.c      |   5 +-
 fs/btrfs/volumes.c       |  14 ++++-
 9 files changed, 221 insertions(+), 130 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2013-02-16  1:55 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2013-02-16  1:55 UTC (permalink / raw)
  To: linux-kernel, Linus Torvalds, linux-btrfs

Hi Linus,

If you're doing another RC, please grab these two.  Otherwise I'll send
them off to -stable.

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

This fixes a long standing problem where the btrfs scan ioctl was racing
with mkfs.btrfs and dropping dirty pages created by mkfs.  It also fixes
a crash during tree log replay with quota enabled.

David Sterba (1) commits (+64/-6):
    btrfs: access superblock via pagecache in scan_one_device

Arne Jansen (1) commits (+1/-1):
    Btrfs: fix crash in log replay with qgroups enabled

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

 fs/btrfs/ctree.c   |  2 +-
 fs/btrfs/volumes.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 65 insertions(+), 7 deletions(-)


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

* [GIT PULL] Btrfs updates
@ 2012-12-17 21:44 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-12-17 21:44 UTC (permalink / raw)
  To: Linus Torvalds, LKML, Btrfs

[ sorry, resend.  My lbdb autocompleted with an extra r in kernel.org ]

Hi everyone,

My for-linus branch has a big set of fixes and features:

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

This was against 3.7, and it has two easy conflicts against Linus'
current head.  My -next branch has the resolutions, but Linus wills
surely fix these himself.

In terms of line count, most of the code comes from Stefan, who added
the ability to replace a single drive in place.  This is different from
how btrfs normally replaces drives, and is much much much faster.

Josef is plowing through our synchronous write performance.  This pull
request does not include the DIO_OWN_WAITING patch that was discussed on
the list, but it has a number of other improvements to cut down our
latencies and CPU time during fsync/O_DIRECT writes.

Miao Xie has a big series of fixes and is spreading out ordered
operations over more CPUs.  This improves performance and reduces
contention.

I've put in fixes for error handling around hash collisions.  These are
going back to individual stable kernels as I test against them.

Otherwise we have a lot of fixes and cleanups, thanks everyone!  raid5/6
is being rebased against the device replacement code.  I'll have it
posted this Friday along with a nice series of benchmarks.

Stefan Behrens (33) commits (+3446/-831):
    Btrfs: change core code of btrfs to support the device replace operations (+111/-14)
    Btrfs: allow repair code to include target disk when searching mirrors (+154/-5)
    Btrfs: changes to live filesystem are also written to replacement disk (+49/-1)
    Btrfs: introduce GET_READ_MIRRORS functionality for btrfs_map_block() (+11/-7)
    Btrfs: remove the block device pointer from the scrub context struct (+73/-60)
    Btrfs: disallow some operations on the device replace target device (+54/-18)
    Btrfs: disallow mutually exclusive admin operations from user mode (+40/-17)
    Btrfs: Pass fs_info to btrfs_num_copies() instead of mapping_tree (+15/-15)
    Btrfs: fix BUG() in scrub when first superblock reading gives EIO (+11/-0)
    Btrfs: pass fs_info to btrfs_map_block() instead of mapping_tree (+32/-37)
    Btrfs: Don't trust the superblock label and simply printk("%s") it (+5/-2)
    Btrfs: don't allow degraded mount if too many devices are missing (+16/-0)
    Btrfs: optionally avoid reads from device replace source drive (+35/-11)
    Btrfs: fix race in check-integrity caused by usage of bitfield (+1/-1)
    Btrfs: in scrub repair code, optimize the reading of mirrors (+12/-23)
    Btrfs: add code to scrub to copy read data to another disk (+851/-73)
    Btrfs: in scrub repair code, simplify alloc error handling (+26/-35)
    Btrfs: enhance btrfs structures for device replace support (+44/-0)
    Btrfs: make the scrub page array dynamically allocated (+121/-74)
    Btrfs: increase BTRFS_MAX_MIRRORS by one for dev replace (+1/-1)
    Btrfs: handle errors from btrfs_map_bio() everywhere (+65/-33)
    Btrfs: avoid risk of a deadlock in btrfs_handle_error (+10/-1)
    Btrfs: fix a scrub regression in case of write errors (+2/-1)
    Btrfs: add new sources for device replace code (+1069/-1)
    Btrfs: move some common code into a subfunction (+50/-43)
    Btrfs: introduce a btrfs_dev_replace_item type (+69/-0)
    Btrfs: add btrfs_scratch_superblock() function (+19/-0)
    Btrfs: cleanup scrub bio and worker wait code (+71/-35)
    Btrfs: fix a build warning for an unused label (+0/-1)
    Btrfs: add support for device replace ioctls (+52/-3)
    Btrfs: rename the scrub context structure (+253/-253)
    Btrfs: add two more find_device() methods (+64/-0)
    Btrfs: pass fs_info instead of root (+60/-66)

Miao Xie (32) commits (+840/-471):
    Btrfs: fix missing reserved space release in error path of delalloc reservation (+7/-0)
    Btrfs: fix off-by-one error of the same page check in btrfs_punch_hole() (+2/-2)
    Btrfs: fix unprotected extent map operation when logging file extents (+2/-0)
    Btrfs: fix unnecessary while loop when search the free space, cache (+10/-20)
    Btrfs: fix off-by-one error of the reserved size of btrfs_allocate() (+2/-2)
    Btrfs: fix joining the same transaction handler more than 2 times (+48/-30)
    Btrfs: fix missing log when BTRFS_INODE_NEEDS_FULL_SYNC is set (+4/-1)
    Btrfs: pass root object into btrfs_ioctl_{start, wait}_sync() (+6/-6)
    Btrfs: get write access when setting the default subvolume (+28/-12)
    Btrfs: make ordered operations be handled by multi-task (+45/-21)
    Btrfs: fix wrong return value of btrfs_wait_for_commit() (+8/-7)
    Btrfs: don't start a new transaction when starting sync (+18/-9)
    Btrfs: fix missing flush when committing a transaction (+47/-35)
    Btrfs: fix wrong return value of btrfs_truncate_page() (+1/-2)
    Btrfs: make delalloc inodes be flushed by multi-task (+103/-8)
    Btrfs: use existing align macros in btrfs_allocate() (+4/-4)
    Btrfs: make ordered extent be flushed by multi-task (+37/-9)
    Btrfs: don't auto defrag a file when doing directIO (+0/-3)
    Btrfs: fix unprotected defragable inode insertion (+55/-15)
    Btrfs: restructure btrfs_run_defrag_inodes() (+109/-91)
    Btrfs: get write access for qgroup operations (+48/-25)
    Btrfs: get write access when removing a device (+8/-4)
    Btrfs: cleanup duplicated division functions (+46/-40)
    Btrfs: punch hole past the end of the file (+12/-10)
    Btrfs: use slabs for auto defrag allocation (+34/-5)
    Btrfs: get write access when doing resize fs (+8/-2)
    Btrfs: fix wrong comment in can_overcommit() (+3/-3)
    Btrfs: improve the noflush reservation (+97/-86)
    Btrfs: fix the page that is beyond EOF (+9/-7)
    Btrfs: fix wrong file extent length (+23/-9)
    Btrfs: get write access for scrub (+13/-3)
    Btrfs: fix freeze vs auto defrag (+3/-0)

Josef Bacik (18) commits (+805/-361):
    Btrfs: don't take inode delalloc mutex if we're a free space inode (+19/-6)
    Btrfs: only clear dirty on the buffer if it is marked as dirty (+4/-4)
    Btrfs: recheck bio against block device when we map the bio (+131/-28)
    Btrfs: do not mark ems as prealloc if we are writing to them (+5/-4)
    Btrfs: don't bother copying if we're only logging the inode (+34/-6)
    Btrfs: log changed inodes based on the extent map tree (+372/-210)
    Btrfs: only log the inode item if we can get away with it (+11/-2)
    Btrfs: keep track of the extents original block length (+24/-4)
    Btrfs: fill the global reserve when unpinning space (+24/-5)
    Btrfs: do not call file_update_time in aio_write (+48/-29)
    Btrfs: use tokens where we can in the tree log (+73/-54)
    Btrfs: move checks in set_page_dirty under DEBUG (+2/-0)
    Btrfs: only unlock and relock if we have to (+4/-1)
    Btrfs: fix autodefrag and umount lockup (+17/-2)
    Btrfs: inline csums if we're fsyncing (+21/-1)
    Btrfs: add path->really_keep_locks (+6/-2)
    Btrfs: optimize leaf_space_used (+9/-2)
    Btrfs: don't memset new tokens (+1/-1)

Liu Bo (17) commits (+124/-151):
    Btrfs: MOD_LOG_KEY_REMOVE_WHILE_MOVING never change node's nritems (+2/-2)
    Btrfs: fix a double free on pending snapshots in error handling (+5/-1)
    Btrfs: reorder tree mod log operations in deleting a pointer (+6/-4)
    Btrfs: fix a deadlock in aborting transaction due to ENOSPC (+7/-0)
    Btrfs: skip adding an acl attribute if we don't have to (+2/-0)
    Btrfs: get right arguments for btrfs_wait_ordered_range (+1/-1)
    Btrfs: parse parent 0 into correct value in tracepoint (+2/-1)
    Btrfs: do not log extents when we only log new names (+2/-1)
    Btrfs: put raid properties into global table (+29/-33)
    Btrfs: cleanup for btrfs_btree_balance_dirty (+34/-81)
    Btrfs: kill unnecessary arguments in del_ptr (+7/-9)
    Btrfs: don't add a NULL extended attribute (+10/-0)
    Btrfs: protect devices list with its mutex (+5/-4)
    Btrfs: cleanup for btrfs_wait_order_range (+0/-3)
    Btrfs: fix an while-loop of listxattr (+1/-1)
    Btrfs: fix a bug of per-file nocow (+5/-3)
    Btrfs: cleanup unused arguments (+6/-7)

Filipe Brandenburger (3) commits (+21/-12):
    Btrfs: refactor error handling to drop inode in btrfs_create() (+11/-12)
    Btrfs: fix permissions of empty files not affected by umask (+4/-0)
    Btrfs: fix permissions of empty files not affected by umask (+6/-0)

Julia Lawall (2) commits (+26/-48):
    fs/btrfs: drop if around WARN_ON (+5/-10)
    fs/btrfs: use WARN (+21/-38)

Wang Sheng-Hui (2) commits (+9/-12):
    Btrfs: use ctl->unit for free space calculation instead of block_group->sectorsize (+9/-11)
    Btrfs: do not warn_on io_ctl->cur in io_ctl_map_page (+0/-1)

Tsutomu Itoh (2) commits (+11/-0):
    Btrfs: set hole punching time properly (+3/-0)
    Btrfs: add fiemap's flag check (+8/-0)

Lukas Czerner (1) commits (+16/-0):
    btrfs: Notify udev when removing device

Anand Jain (1) commits (+16/-16):
    Btrfs: rename root_times_lock to root_item_lock

Alexander Block (1) commits (+11/-2):
    Btrfs: merge inode_list in __merge_refs

Chris Mason (1) commits (+95/-2):
    Btrfs: fix hash overflow handling

Masanari Iida (1) commits (+2/-2):
    Btrfs: Fix typo in fs/btrfs

jeff.liu (1) commits (+1/-4):
    Btrfs: Remove the invalid shrink size check up from btrfs_shrink_dev()

Total: (115) commits (+5423/-1912)

 fs/btrfs/Makefile            |    2 +-
 fs/btrfs/acl.c               |    2 +
 fs/btrfs/backref.c           |   16 +-
 fs/btrfs/btrfs_inode.h       |    4 +
 fs/btrfs/check-integrity.c   |   31 +-
 fs/btrfs/compression.c       |    6 +-
 fs/btrfs/ctree.c             |  241 ++++--
 fs/btrfs/ctree.h             |  184 ++++-
 fs/btrfs/delayed-inode.c     |   11 +-
 fs/btrfs/dev-replace.c       |  856 ++++++++++++++++++++
 fs/btrfs/dev-replace.h       |   44 +
 fs/btrfs/dir-item.c          |   59 ++
 fs/btrfs/disk-io.c           |  142 ++--
 fs/btrfs/disk-io.h           |    4 +-
 fs/btrfs/extent-tree.c       |  227 +++---
 fs/btrfs/extent_io.c         |   37 +-
 fs/btrfs/extent_io.h         |    4 +-
 fs/btrfs/extent_map.c        |   24 +-
 fs/btrfs/extent_map.h        |    2 +
 fs/btrfs/file-item.c         |   21 +-
 fs/btrfs/file.c              |  406 ++++++----
 fs/btrfs/free-space-cache.c  |   51 +-
 fs/btrfs/inode-map.c         |    5 +-
 fs/btrfs/inode.c             |  484 ++++++-----
 fs/btrfs/ioctl.c             |  317 ++++++--
 fs/btrfs/ioctl.h             |   48 +-
 fs/btrfs/math.h              |   44 +
 fs/btrfs/ordered-data.c      |   90 ++-
 fs/btrfs/ordered-data.h      |    7 +-
 fs/btrfs/print-tree.c        |    3 +
 fs/btrfs/reada.c             |   31 +-
 fs/btrfs/relocation.c        |   40 +-
 fs/btrfs/root-tree.c         |    4 +-
 fs/btrfs/scrub.c             | 1836 ++++++++++++++++++++++++++++++------------
 fs/btrfs/send.c              |    8 +-
 fs/btrfs/super.c             |   48 +-
 fs/btrfs/transaction.c       |  170 ++--
 fs/btrfs/transaction.h       |    2 +-
 fs/btrfs/tree-log.c          |  477 ++++++-----
 fs/btrfs/volumes.c           |  966 +++++++++++++++++-----
 fs/btrfs/volumes.h           |   35 +-
 fs/btrfs/xattr.c             |   13 +-
 include/trace/events/btrfs.h |    3 +-
 43 files changed, 5258 insertions(+), 1747 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] 47+ messages in thread

* [GIT PULL] Btrfs updates
@ 2012-07-05 19:55 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-07-05 19:55 UTC (permalink / raw)
  To: Linus Torvalds, Btrfs mailing list, linux-kernel

Hi Linus

I held off on my rc5 pull because I hit an oops during log recovery
after a crash.  I wanted to make sure it wasn't a regression because
we have some logging fixes in here.

It turns out that a commit during the merge window just made it much
more likely to trigger directory logging instead of full commits, which
exposed an old bug.

Please grab my for-linus branch:

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

The new backref walking code got some additional fixes.  This should
be the final set of them.

Josef fixed up a corner where our O_DIRECT writes and buffered reads
could expose old file contents (not stale, just not the most recent).
He and Liu Bo fixed crashes during tree log recover as well.

Ilya fixed errors while we resume disk balancing operations on readonly
mounts.

Jan Schmidt (7) commits (+50/-36):
    Btrfs: leave critical region in btrfs_find_all_roots as soon as possible (+1/-2)
    Btrfs: always put insert_ptr modifications into the tree mod log (+7/-7)
    Btrfs: resolve tree mod log locking issue in btrfs_next_leaf (+12/-0)
    Btrfs: fix tree mod log for root replacements at leaf level (+15/-13)
    Btrfs: support root level changes in __resolve_indirect_ref (+8/-4)
    Btrfs: avoid waiting for delayed refs when we must not (+6/-5)
    Btrfs: fix tree mod log rewind of ADD operations (+1/-5)

Josef Bacik (3) commits (+116/-111):
    Btrfs: hold a ref on the inode during writepages (+14/-0)
    Btrfs: fix tree log remove space corner case (+52/-93)
    Btrfs: fix dio write vs buffered read race (+50/-18)

Ilya Dryomov (2) commits (+73/-43):
    Btrfs: resume balance on rw (re)mounts properly (+47/-18)
    Btrfs: restore restriper state on all mounts (+26/-25)

Stefan Behrens (1) commits (+12/-10):
    Btrfs: don't count I/O statistic read errors for missing devices

Liu Bo (1) commits (+1/-1):
    Btrfs: fix wrong check during log recovery

Alexander Block (1) commits (+1/-1):
    Btrfs: use _IOR for BTRFS_IOC_SUBVOL_GETFLAGS

Chris Mason (1) commits (+6/-0):
    Btrfs: run delayed directory updates during log replay

Total: (16) commits (+259/-202)

 fs/btrfs/backref.c          |  15 +++--
 fs/btrfs/ctree.c            |  60 ++++++++++--------
 fs/btrfs/disk-io.c          |  34 +++++++----
 fs/btrfs/extent-tree.c      |  11 ++--
 fs/btrfs/extent_io.c        |  14 +++++
 fs/btrfs/file.c             |  13 ----
 fs/btrfs/free-space-cache.c | 145 ++++++++++++++++----------------------------
 fs/btrfs/inode.c            |  57 +++++++++++++++--
 fs/btrfs/ioctl.h            |   2 +-
 fs/btrfs/super.c            |   4 ++
 fs/btrfs/tree-log.c         |   6 ++
 fs/btrfs/volumes.c          |  95 +++++++++++++++++------------
 fs/btrfs/volumes.h          |   3 +-
 13 files changed, 258 insertions(+), 201 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2012-06-21 15:47 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-06-21 15:47 UTC (permalink / raw)
  To: torvalds, Kernel development list, linux-btrfs

Hi Linus,

Please grab my for-linus branch:

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

This is a small pull with btrfs fixes.  The biggest of the bunch is
another fix for the new backref walking code.

We're still hammering out one btrfs dio vs buffered reads problem, but
that one will have to wait for the next rc.

Josef Bacik (2) commits (+3/-2):
    Btrfs: delay iput with async extents (+2/-2)
    Btrfs: add a missing spin_lock (+1/-0)

Alexander Block (2) commits (+59/-44):
    Btrfs: don't assume to be on the correct extent in add_all_parents (+52/-42)
    Btrfs: introduce btrfs_next_old_item (+7/-2)

Total: (4) commits (+62/-46)

 fs/btrfs/backref.c |   94 +++++++++++++++++++++++++++++-----------------------
 fs/btrfs/ctree.h   |    9 +++--
 fs/btrfs/disk-io.c |    1 +
 fs/btrfs/inode.c   |    4 +--
 4 files changed, 62 insertions(+), 46 deletions(-)

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

* Re: [GIT PULL] Btrfs updates
  2012-06-15 23:57 ` Linus Torvalds
@ 2012-06-16  0:21   ` Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-06-16  0:21 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-btrfs, linux-kernel

On Fri, Jun 15, 2012 at 05:57:42PM -0600, Linus Torvalds wrote:
> On Fri, Jun 15, 2012 at 11:09 AM, Chris Mason <chris.mason@fusionio.com> wrote:
> >
> > Please pull my for-linus branch:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus
> 
> This seems to introduce a new warning:
> 
>   In file included from fs/btrfs/ctree.c:22:0:
>   fs/btrfs/ctree.c: In function ‘btrfs_search_old_slot’:
>   fs/btrfs/ctree.h:2117:240: warning: ‘old_generation’ may be used
> uninitialized in this function [-Wmaybe-uninitialized]
>   fs/btrfs/ctree.c:1178:6: note: ‘old_generation’ was declared here
> 
> which looks like just gcc being unable to see that it is only used
> when set, but it's still annoying. I'd suggest initializing it to 0
> just to shut up the compiler. Ok?
> 

Yes, this does look like noise.  It is only used when old_root is set,
but it'll be really easy to add bugs there later.

I've pushed two commits out, the second one is a printk cast on 32 bit
machines.  Neither of these are fatal but they are in for-linus:

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

Chris Mason (2) commits (+3/-2):
    Btrfs: cast devid to unsigned long long for printk %llu (+2/-1)
    Btrfs: init old_generation in get_old_root (+1/-1)

Total: (2) commits (+3/-2)

 fs/btrfs/ctree.c |    2 +-
 fs/btrfs/ioctl.c |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

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

* Re: [GIT PULL] Btrfs updates
  2012-06-15 18:09 Chris Mason
@ 2012-06-15 23:57 ` Linus Torvalds
  2012-06-16  0:21   ` Chris Mason
  0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2012-06-15 23:57 UTC (permalink / raw)
  To: Chris Mason, torvalds, linux-btrfs, linux-kernel

On Fri, Jun 15, 2012 at 11:09 AM, Chris Mason <chris.mason@fusionio.com> wrote:
>
> Please pull my for-linus branch:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus

This seems to introduce a new warning:

  In file included from fs/btrfs/ctree.c:22:0:
  fs/btrfs/ctree.c: In function ‘btrfs_search_old_slot’:
  fs/btrfs/ctree.h:2117:240: warning: ‘old_generation’ may be used
uninitialized in this function [-Wmaybe-uninitialized]
  fs/btrfs/ctree.c:1178:6: note: ‘old_generation’ was declared here

which looks like just gcc being unable to see that it is only used
when set, but it's still annoying. I'd suggest initializing it to 0
just to shut up the compiler. Ok?

                 Linus

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

* [GIT PULL] Btrfs updates
@ 2012-06-15 18:09 Chris Mason
  2012-06-15 23:57 ` Linus Torvalds
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2012-06-15 18:09 UTC (permalink / raw)
  To: torvalds, linux-btrfs, linux-kernel

Hi Linus,

Please pull my for-linus branch:

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

The dates look like I had to rebase this morning because there was a compiler
warning for a printk arg that I had missed earlier.

These are all fixes, including one to prevent using stale pointers for
device names, and lots of fixes around transaction abort cleanups
(Josef, Liu Bo).

Jan Schmidt also sent in a number of fixes for the new reference number
tracking code.

Liu Bo beat me to updating the MAINTAINERS file.  Since he thought to
also fix the git url, I kept his commit.

Josef Bacik (10) commits (+303/-102):
    Btrfs: pass locked_page into extent_clear_unlock_delalloc if theres an error (+2/-2)
    Btrfs: unlock everything properly in the error case for nocow (+35/-2)
    Btrfs: wake up transaction waiters when aborting a transaction (+7/-6)
    Btrfs: call filemap_fdatawrite twice for compression (+31/-7)
    Btrfs: fix locking in btrfs_destroy_delayed_refs (+17/-13)
    Btrfs: keep inode pinned when compressing writes (+6/-2)
    Btrfs: abort the transaction if the commit fails (+8/-2)
    Btrfs: use rcu to protect device->name (+162/-64)
    Btrfs: fix btrfs_destroy_marked_extents (+2/-4)
    Btrfs: implement ->show_devname (+33/-0)

Jan Schmidt (6) commits (+72/-37):
    Btrfs: remove obsolete btrfs_next_leaf call from __resolve_indirect_ref (+1/-9)
    Btrfs: remove call to btrfs_header_nritems with no effect (+0/-3)
    Btrfs: fix return value for __tree_mod_log_oldest_root (+20/-13)
    Btrfs: use btrfs_read_lock_root_node in get_old_root (+16/-4)
    Btrfs: fix race in tree mod log addition (+19/-4)
    Btrfs: add btrfs_next_old_leaf (+16/-4)

Liu Bo (5) commits (+29/-5):
    Btrfs: avoid memory leak of extent state in error handling routine (+2/-0)
    Btrfs: make sure that we've made everything in pinned tree clean (+11/-0)
    Btrfs: update MAINTAINERS info for BTRFS FILE SYSTEM (+2/-2)
    Btrfs: fix missing inherited flag in rename (+6/-3)
    Btrfs: do not resize a seeding device (+8/-0)

Li Zefan (2) commits (+50/-49):
    Btrfs: fix incompat flags setting (+1/-1)
    Btrfs: fix defrag regression (+49/-48)

Miao Xie (1) commits (+27/-0):
    Btrfs: destroy the items of the delayed inodes in error handling routine

Total: (24) commits (+481/-193)

 MAINTAINERS                |    4 +-
 fs/btrfs/backref.c         |   17 ++-----
 fs/btrfs/btrfs_inode.h     |    1 +
 fs/btrfs/check-integrity.c |   16 +++---
 fs/btrfs/ctree.c           |   86 +++++++++++++++++++++++---------
 fs/btrfs/ctree.h           |    2 +
 fs/btrfs/delayed-inode.c   |   18 +++++++
 fs/btrfs/delayed-inode.h   |    3 ++
 fs/btrfs/disk-io.c         |   76 +++++++++++++++++-----------
 fs/btrfs/extent_io.c       |    7 +--
 fs/btrfs/inode.c           |   73 +++++++++++++++++++++------
 fs/btrfs/ioctl.c           |  118 +++++++++++++++++++++++++-------------------
 fs/btrfs/ordered-data.c    |   22 ++++++++-
 fs/btrfs/rcu-string.h      |   56 +++++++++++++++++++++
 fs/btrfs/scrub.c           |   30 ++++++-----
 fs/btrfs/super.c           |   33 +++++++++++++
 fs/btrfs/transaction.c     |   14 +++++-
 fs/btrfs/volumes.c         |   92 +++++++++++++++++++++-------------
 fs/btrfs/volumes.h         |    2 +-
 19 files changed, 479 insertions(+), 191 deletions(-)

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

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

Hi everyone,

My for-linus branch is updated for 3.5:

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

This includes a fairly large change from Josef around data writeback
completion.  Before, the writeback wasn't completed until the metadata
insertions for the extent were done, and this made for fairly large
latency spikes on the last page of each ordered extent.

We already had a separate mechanism for tracking pending metadata
insertions, so Josef just needed to tweak things a little to end
writeback earlier on the page.  Overall it makes us much friendly to
memory reclaim and lowers latencies quite a lot for synchronous IO.

Jan Schmidt has finished some background work required to track btree
blocks as they go through changes in ownership.  It's the missing piece
he needed for both btrfs send/receive and subvolume quotas.  Neither of
those are ready yet, but the new tracking code is included here.  Most
of the time, the new code is off.  It is only used by scrub and other
backref walkers.

Stefan Behrens has added io failure tracking.  This includes counters
for which drives are causing the most trouble so the admin (or an
automated tool) can choose to kick them out.  We're tracking IO errors,
crc errors, and generation checks we do on each metadata block.

RAID5/6 did miss the cut this time because I'm having trouble with
corruptions.  I'll nail it down next week and post as a beta testing
before 3.6

Jan Schmidt (21) commits (+1405/-290):
    Btrfs: bugfix: ignore the wrong key for indirect tree block backrefs (+135/-50)
    Btrfs: add del_ptr and insert_ptr modifications to the tree mod log (+32/-10)
    Btrfs: add inodes before dropping the extent lock in find_all_leafs (+43/-6)
    Btrfs: fix tree mod log rewinded level and rewinding of moved keys (+4/-2)
    Btrfs: use delayed ref sequence numbers for all fs-tree updates (+13/-23)
    Btrfs: add missing spin_lock for insertion into tree mod log (+18/-5)
    Btrfs: don't set for_cow parameter for tree block functions (+20/-20)
    Btrfs: use the tree modification log for backref resolving (+29/-17)
    Btrfs: put all block modifications into the tree mod log (+36/-0)
    Btrfs: tree mod log sanity checks in join_transaction (+18/-0)
    Btrfs: look into the extent during find_all_leafs (+158/-84)
    Btrfs: fs_info variable for join_transaction (+19/-18)
    Btrfs: dummy extent buffers for tree mod log (+76/-7)
    Btrfs: add tree modification log functions (+412/-1)
    Btrfs: bugfix in btrfs_find_parent_nodes (+3/-2)
    Btrfs: move struct seq_list to ctree.h (+7/-5)
    Btrfs: add tree_mod_dont_log helper (+15/-9)
    Btrfs: add tree mod log to fs_info (+14/-0)
    Btrfs: add btrfs_search_old_slot (+317/-4)
    Btrfs: fix tree mod log del_ptr (+7/-6)
    Btrfs: ulist realloc bugfix (+29/-21)

Josef Bacik (13) commits (+330/-322):
    Btrfs: convert the inode bit field to use the actual bit operations (+44/-44)
    Btrfs: check to see if the inode is in the log before fsyncing (+16/-17)
    Btrfs: merge contigous regions when loading free space cache (+41/-0)
    Btrfs: fall back to non-inline if we don't have enough space (+4/-1)
    Btrfs: do not check delalloc when updating disk_i_size (+3/-16)
    Btrfs: do not do filemap_write_and_wait_range in fsync (+6/-5)
    Btrfs: finish ordered extents in their own thread (+164/-191)
    Btrfs: remove useless waiting and extra filemap work (+2/-15)
    Btrfs: fix how we deal with the orphan block rsv (+24/-22)
    Btrfs: use i_version instead of our own sequence (+19/-10)
    Btrfs: fix return code in drop_objectid_items (+2/-0)
    Btrfs: fix compile warnings in extent_io.c (+1/-1)
    Btrfs: cache no acl on new inodes (+4/-0)

Stefan Behrens (7) commits (+985/-174):
    Btrfs: read device stats on mount, write modified ones during commit (+232/-0)
    Btrfs: add device counters for detected IO and checksum errors (+230/-24)
    Btrfs: fix runtime warning in check-integrity check data mode (+22/-3)
    Btrfs: change integrity checker to support big blocks (+415/-146)
    Btrfs: fix false positive in check-integrity on unmount (+1/-1)
    Btrfs: add ioctl to get and reset the device stats (+77/-0)
    Btrfs: set ioprio of scrub readahead to idle (+8/-0)

Wang Sheng-Hui (5) commits (+7/-8):
    Btrfs: remove the useless assignment to *entry in function tree_insert of file extent_io.c (+0/-1)
    Btrfs: fix btrfs_release_extent_buffer_page with the right usage of num_extent_pages (+3/-1)
    btrfs/ctree.c: remove the unnecessary 'return -1;' at the end of bin_search (+2/-4)
    Btrfs: cleanup the comment for clear_state_bit in extent_io.c (+1/-1)
    Btrfs: fix the comment for find_first_extent_bit (+1/-1)

Jim Meyering (3) commits (+32/-44):
    Btrfs: NUL-terminate path buffer in DEV_INFO ioctl result (+4/-2)
    Btrfs: avoid buffer overrun in mount option handling (+26/-41)
    Btrfs: avoid buffer overrun in btrfs_printk (+2/-1)

Liu Bo (3) commits (+28/-30):
    Btrfs: use fastpath in extent state ops as much as possible (+18/-26)
    Btrfs: fix wrong error returned by adding a device (+1/-1)
    Btrfs: do not do balance in readonly mode (+9/-3)

Sergei Trofimovich (1) commits (+40/-5):
    btrfs: allow changing 'thread_pool' size at remount time

Daniel J Blueman (1) commits (+5/-6):
    Fix minor type issues

Dan Carpenter (1) commits (+1/-1):
    Btrfs: cleanup: use consistent lock naming

Asias He (1) commits (+0/-14):
    btrfs: Drop unused function btrfs_abort_devices()

Miao Xie (1) commits (+39/-10):
    Btrfs: fix the same inode id problem when doing auto defragment

Tsutomu Itoh (1) commits (+18/-4):
    Btrfs: return value of btrfs_read_buffer is checked correctly

Total: (58) commits

 fs/btrfs/acl.c              |    4 +
 fs/btrfs/backref.c          |  495 +++++++++++++++++--------
 fs/btrfs/backref.h          |    3 +-
 fs/btrfs/btrfs_inode.h      |   50 ++-
 fs/btrfs/check-integrity.c  |  584 +++++++++++++++++++++--------
 fs/btrfs/ctree.c            |  861 +++++++++++++++++++++++++++++++++++++++++--
 fs/btrfs/ctree.h            |   77 +++-
 fs/btrfs/delayed-inode.c    |    8 +-
 fs/btrfs/delayed-ref.c      |   10 +-
 fs/btrfs/delayed-ref.h      |   24 --
 fs/btrfs/disk-io.c          |   57 ++-
 fs/btrfs/disk-io.h          |    1 -
 fs/btrfs/extent-tree.c      |   23 +-
 fs/btrfs/extent_io.c        |  168 ++++++---
 fs/btrfs/extent_io.h        |    8 +-
 fs/btrfs/file.c             |   76 ++--
 fs/btrfs/free-space-cache.c |   45 ++-
 fs/btrfs/inode.c            |  264 +++++++------
 fs/btrfs/ioctl.c            |   50 ++-
 fs/btrfs/ioctl.h            |   33 ++
 fs/btrfs/ordered-data.c     |  165 ++++-----
 fs/btrfs/ordered-data.h     |   13 +-
 fs/btrfs/print-tree.c       |    3 +
 fs/btrfs/reada.c            |    5 +
 fs/btrfs/scrub.c            |   65 +++-
 fs/btrfs/super.c            |  117 +++---
 fs/btrfs/transaction.c      |   59 ++-
 fs/btrfs/tree-log.c         |   35 +-
 fs/btrfs/ulist.c            |   38 +-
 fs/btrfs/ulist.h            |   15 +-
 fs/btrfs/volumes.c          |  306 ++++++++++++++-
 fs/btrfs/volumes.h          |   52 +++
 fs/btrfs/xattr.c            |    1 +
 33 files changed, 2849 insertions(+), 866 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2012-04-13 13:38 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-04-13 13:38 UTC (permalink / raw)
  To: Linus Torvalds, LKML, linux-btrfs

Hi Linus,

My for-linus branch has btrfs fixes and updates:

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

The top commit is the only one that isn't strictly a bug fix.  It
updates the btrfs metadata checker code to support metadata blocks
larger than the page size.  This code isn't compiled in by default, and
it is only used by developers.  I put it at the top so you could just
peel it off if you didn't want it.  I also put a for-linus-min branch
without this commit:

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

The others are pure bug fixes.  We have a use-after-free in there, along
with errors when mount -o discard is enabled, and a BUG_ON(we should
compile with UP more often).

Stefan Behrens (1) commits (+415/-146):
    Btrfs: change integrity checker to support big blocks

Chris Mason (2) commits (+2/-2):
    Revert "Btrfs: increase the global block reserve estimates" (+1/-1)
    Btrfs: fix uninit variable in repair_eb_io_failure (+1/-1)

Dave Jones (1) commits (+5/-4):
    Btrfs: fix use-after-free in __btrfs_end_transaction

Liu Bo (1) commits (+18/-2):
    Btrfs: fix eof while discarding extents

Ilya Dryomov (1) commits (+2/-3):
    Btrfs: remove lock assert from get_restripe_target()

Josef Bacik (1) commits (+3/-10):
    Btrfs: use commit root when loading free space cache

Tsutomu Itoh (1) commits (+10/-0):
    Btrfs: check return value of bio_alloc() properly

Total: (8) commits (+455/-167)

 fs/btrfs/check-integrity.c  |  561 ++++++++++++++++++++++++++++++++-----------
 fs/btrfs/compression.c      |    2 +
 fs/btrfs/extent-tree.c      |   11 +-
 fs/btrfs/extent_io.c        |    6 +-
 fs/btrfs/free-space-cache.c |    9 +-
 fs/btrfs/scrub.c            |    4 +
 fs/btrfs/transaction.c      |    9 +-
 fs/btrfs/volumes.c          |   20 +-
 8 files changed, 455 insertions(+), 167 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2012-03-10  2:01 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-03-10  2:01 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi Linus,

I have two additional and btrfs fixes in my for-linus branch

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

One is a casting error that leads to memory corruption on i386 during
scrub, and the other fixes a corner case in the backref walking code
(also triggered by scrub).

These are reviewed and tested.  I was holding off on this while trying
to track enospc bug reports, but it isn't yet clear if those are
regressions.  These are valid fixes either way.

Chris Mason (1) commits (+1/-1):
    Btrfs: fix casting error in scrub reada code

Li Zefan (1) commits (+6/-2):
    btrfs: fix locking issues in find_parent_nodes()

Total: (2) commits (+7/-3)
 fs/btrfs/backref.c |    8 ++++++--
 fs/btrfs/reada.c   |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2012-02-24 16:41 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2012-02-24 16:41 UTC (permalink / raw)
  To: linux-btrfs, LKML, Linus Torvalds

Hi Linus,

Please pull the for-linus branch of the btrfs repo:

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

This is later than I wanted because I got backed up running through
btrfs bugs from the Oracle QA teams.  But they are all bug fixes that
we've queued and tested since rc1.

Nothing in particular stands out, this just reflects bug fixing and QA
done in parallel by all the btrfs developers.  The most user visible of
these is:

Btrfs: clear the extent uptodate bits during parent transid failures 

Because that helps deal with out of date drives (say an iscsi disk that
has gone away and come back).  The old code wasn't always properly
retrying the other mirror for this type of failure.

Liu Bo (6) commits (+24/-15):
    Btrfs: be less strict on finding next node in clear_extent_bit (+1/-2)
    Btrfs: skip states when they does not contain bits to clear (+10/-5)
    Btrfs: kick out redundant stuff in convert_extent_bit (+0/-5)
    Btrfs: increase the global block reserve estimates (+1/-1)
    Btrfs: fix trim 0 bytes after a device delete (+8/-1)
    Btrfs: fix a bug on overcommit stuff (+4/-1)

Chris Mason (6) commits (+93/-47):
    Btrfs: clear the extent uptodate bits during parent transid failures (+3/-4)
    Btrfs: add extra sanity checks on the path names in btrfs_mksubvol (+6/-0)
    Btrfs: don't reserve data with extents locked in btrfs_fallocate (+10/-15)
    Btrfs: improve error handling for btrfs_insert_dir_item callers (+26/-7)
    Btrfs: fix compiler warnings on 32 bit systems (+26/-20)
    Btrfs: make sure we update latest_bdev (+22/-1)

Tsutomu Itoh (3) commits (+15/-8):
    Btrfs: check return value of lookup_extent_mapping() correctly (+4/-2)
    Btrfs: fix memory leak in load_free_space_cache() (+1/-0)
    Btrfs: fix return value check of extent_io_ops (+10/-6)

David Sterba (2) commits (+17/-3):
    btrfs: fix structs where bitfields and spinlock/atomic share 8B word (+3/-3)
    btrfs: silence warning in raid array setup (+14/-0)

Jan Schmidt (1) commits (+2/-0):
    Btrfs: avoid positive number with ERR_PTR

Jeff Mahoney (1) commits (+53/-27):
    btrfs: delalloc for page dirtied out-of-band in fixup worker

Keith Mannthey (1) commits (+6/-0):
    btrfs: Sector Size check during Mount

Arne Jansen (1) commits (+5/-3):
    btrfs: don't check DUP chunks twice

Jeff Liu (1) commits (+2/-2):
    Btrfs: return the internal error unchanged if btrfs_get_extent_fiemap() call failed for SEEK_DATA/SEEK_HOLE inquiry

Miao Xie (1) commits (+29/-24):
    Btrfs: fix deadlock on page lock when doing auto-defragment

Florian Albrechtskirchinger (1) commits (+4/-2):
    btrfs: honor umask when creating subvol root

Total: (24) commits (+250/-131)

 fs/btrfs/backref.c          |    2 +
 fs/btrfs/check-integrity.c  |    2 +-
 fs/btrfs/compression.c      |    2 +
 fs/btrfs/ctree.h            |    2 +-
 fs/btrfs/disk-io.c          |   12 +++++
 fs/btrfs/extent-tree.c      |   51 ++++++++++++-------
 fs/btrfs/extent_io.c        |  113 +++++++++++++++++++++++++------------------
 fs/btrfs/extent_io.h        |    1 +
 fs/btrfs/extent_map.h       |    4 +-
 fs/btrfs/file.c             |   29 +++++-------
 fs/btrfs/free-space-cache.c |    1 +
 fs/btrfs/inode-map.c        |    6 ++-
 fs/btrfs/inode.c            |   40 +++++++++++++--
 fs/btrfs/ioctl.c            |   59 +++++++++++++---------
 fs/btrfs/scrub.c            |    8 ++-
 fs/btrfs/transaction.c      |   16 ++++---
 fs/btrfs/volumes.c          |   33 ++++++++++++-
 17 files changed, 250 insertions(+), 131 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-12-01 15:39 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-12-01 15:39 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

Hi everyone,

The for-linus branch of the btrfs tree:

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

Has our current set of fixes.  This is fairly small, Alexandre Oliva has
been chasing problems in our block allocator and kicked out important
fixes.

Jan Schmidt fixed a merge error in the raid repair code, we're now
properly repairing failed blocks (io errors or crc errors) without
having to run a scrub.

Alexandre Oliva (5) commits (+8/-8):
    Btrfs: skip block groups without enough space for a cluster (+1/-1)
    Btrfs: start search for new cluster at the beginning (+2/-4)
    Btrfs: reset cluster's max_size when creating bitmap (+1/-0)
    Btrfs: skip allocation attempt from empty cluster (+3/-3)
    Btrfs: initialize new bitmaps' list (+1/-0)

Li Zefan (1) commits (+3/-3):
    Btrfs: fix oops when calling statfs on readonly device

Arnd Hannemann (1) commits (+2/-2):
    Fix URL of btrfs-progs git repository in docs

Jan Schmidt (1) commits (+20/-7):
    Btrfs: fix meta data raid-repair merge problem

Dan Carpenter (1) commits (+5/-0):
    btrfs scrub: handle -ENOMEM from init_ipath()

Mike Fleetwood (1) commits (+1/-1):
    Btrfs: Don't error on resizing FS to same size

Miao Xie (1) commits (+22/-5):
    Btrfs: fix deadlock on metadata reservation when evicting a inode

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

 Documentation/filesystems/btrfs.txt |    4 ++--
 fs/btrfs/ctree.h                    |    3 +++
 fs/btrfs/extent-tree.c              |   34 +++++++++++++++++++++++-----------
 fs/btrfs/extent_io.c                |   27 ++++++++++++++++++++-------
 fs/btrfs/free-space-cache.c         |    2 ++
 fs/btrfs/inode.c                    |    2 +-
 fs/btrfs/ioctl.c                    |    2 +-
 fs/btrfs/scrub.c                    |    5 +++++
 fs/btrfs/super.c                    |    6 +++---
 9 files changed, 60 insertions(+), 25 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-08-18 18:04 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-08-18 18:04 UTC (permalink / raw)
  To: Linus Torvalds, Linux Kernel Mailing List, BTRFS Mailing list

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 pull request for 3.1-rc.  The for-linus branch includes
3.1-rc2 because it two fixes from Dan Carpenter and Jeff Mahoney that
only apply to 3.1.

The master branch of btrfs-unstable is based on 3.0, and includes
everything except those two changes.

This is a variety pack of fixes.  We do have another fix pending for a
race in our readdir optimizations, but Josef will work that out with Al
Viro and send it in later this week (or early next).

Chris Mason (1) commits (+17/-0):
    Btrfs: force unplugs when switching from high to regular priority bios

Dan Carpenter (2) commits (+10/-4):
    btrfs: unlock on error in btrfs_file_llseek() (+8/-4)
    btrfs: memory leak in btrfs_add_inode_defrag() (+2/-0)

Jeff Mahoney (1) commits (+8/-4):
    btrfs: btrfs_permission's RO check shouldn't apply to device nodes

Josef Bacik (2) commits (+43/-2):
    Btrfs: set i_size properly when fallocating (+14/-0)
    Btrfs: detect wether a device supports discard (+29/-2)

Li Zefan (1) commits (+2/-4):
    Btrfs: use plain page_address() in header fields setget functions

Miao Xie (2) commits (+12/-6):
    Btrfs: fix uninitialized sync_pending (+1/-1)
    Btrfs: fix wrong free space information (+11/-5)

Sage Weil (1) commits (+4/-0):
    Btrfs: truncate pages from clone ioctl target range

Tsutomu Itoh (1) commits (+16/-10):
    Btrfs: forced readonly when btrfs_drop_snapshot() fails

liubo (3) commits (+72/-14):
    Btrfs: check if there is enough space for balancing smarter (+35/-6)
    Btrfs: fix a bug of balance on full multi-disk partitions (+13/-4)
    Btrfs: fix an oops of log replay (+24/-4)

Total: (14) commits (+183/-43)

 fs/btrfs/ctree.h            |   10 ++---
 fs/btrfs/extent-tree.c      |   75 +++++++++++++++++++++++++++++++++---------
 fs/btrfs/file.c             |   28 ++++++++++++++--
 fs/btrfs/free-space-cache.c |   16 ++++++---
 fs/btrfs/inode.c            |   12 ++++--
 fs/btrfs/ioctl.c            |    4 ++
 fs/btrfs/tree-log.c         |   28 ++++++++++++++--
 fs/btrfs/volumes.c          |   51 +++++++++++++++++++++++++++--
 fs/btrfs/volumes.h          |    2 +
 9 files changed, 183 insertions(+), 43 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-07-27 22:46 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-07-27 22:46 UTC (permalink / raw)
  To: linux-btrfs, Linus Torvalds, Linux-kernel

Hi everyone,

The for-linus branch of the btrfs-unstable repo is reading for pulling:

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

This started off as a larger pull, but I had to pull out a number of
cleanups from Fujitsu, Novell and a few others (sorry guys) while
hunting a crash during stress.sh.  It looks like it is unrelated to
those commits, but I had to pull out a bunch of them until I can be sure
I understand the bug.

I'll have another pull request with the fully tested cleanups on Monday.
Depending on how Linus does rc1, they might end up as the start of my
3.2 branch.

This pull has the commits that I've been able to run through extensive
testing.  The biggest change here is switching the btrfs tree locks to a
reader/writer lock.  This has been one of our biggest bottlenecks for
some time, and it was consistently at the top of profiles on large
machines.

The new locks do away with all the adaptive spinning inside of btrfs and
rely on the spinning/blocking hints in the code to decide when it must
block.

The reader/writer locks break the code I had in place to use kmap on
metadata buffers, so all of our metadata is now in lowmem.  I did test
this on a 32 bit VM, but x86-32 users will want to poke gently.

I also adapted Tejun's lockdep fixes for the btrfs locks, and so far I
haven't seen any lockdep warnings.

Josef has a series of enospc fixes and tweaks here as well.  His bigger
patch to start reworking the enospc reservations seems to be causing the
corruptions during stress.sh, so it will wait for 3.2.

Josef Bacik (11) commits (+320/-322):
    Btrfs: use the normal checksumming infrastructure for free space cache (+59/-110)
    Btrfs: do transaction space reservation before joining the transaction (+17/-42)
    Btrfs: fix how we merge extent states and deal with cached states (+11/-12)
    Btrfs: try to only do one btrfs_search_slot in do_setxattr (+42/-33)
    Btrfs: use find_or_create_page instead of grab_cache_page (+9/-7)
    Btrfs: serialize flushers in reserve_metadata_bytes (+51/-21)
    Btrfs: fix deadlock when throttling transactions (+9/-2)
    Btrfs: fix enospc problems with delalloc (+86/-60)
    Btrfs: use a worker thread to do caching (+27/-29)
    Btrfs: don't flush delalloc arbitrarily (+0/-3)
    Btrfs: tag pages for writeback in sync (+9/-3)

Chris Mason (7) commits (+642/-699):
    Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors (+6/-1)
    Btrfs: use the commit_root for reading free_space_inode crcs (+28/-19)
    Btrfs: reduce extent_state lock contention for metadata (+41/-14)
    Btrfs: switch the btrfs tree locks to reader/writer (+431/-218)
    Btrfs: remove lockdep magic from btrfs_next_leaf (+5/-31)
    Btrfs: stop using highmem for extent_buffers (+52/-378)
    Btrfs: make a lockdep class for each root (+79/-38)

Miao Xie (1) commits (+21/-7):
    Btrfs: fix BUG_ON() caused by ENOSPC when relocating space

Total: (19)

 fs/btrfs/btrfs_inode.h      |   16 ++-
 fs/btrfs/ctree.c            |  457 +++++++++++++++++++------------------------
 fs/btrfs/ctree.h            |   14 +-
 fs/btrfs/delayed-inode.c    |    2 +-
 fs/btrfs/dir-item.c         |    9 +-
 fs/btrfs/disk-io.c          |  116 ++++++++----
 fs/btrfs/disk-io.h          |   10 +-
 fs/btrfs/extent-tree.c      |  285 +++++++++++++++-------------
 fs/btrfs/extent_io.c        |  168 ++++++++--------
 fs/btrfs/extent_io.h        |   35 ++--
 fs/btrfs/file-item.c        |   41 +---
 fs/btrfs/file.c             |   11 +-
 fs/btrfs/free-space-cache.c |  173 ++++++-----------
 fs/btrfs/inode.c            |   90 ++++------
 fs/btrfs/ioctl.c            |    8 +-
 fs/btrfs/locking.c          |  280 ++++++++++++++-------------
 fs/btrfs/locking.h          |   36 ++++-
 fs/btrfs/relocation.c       |    3 +-
 fs/btrfs/struct-funcs.c     |  100 +++-------
 fs/btrfs/transaction.c      |   47 +++--
 fs/btrfs/tree-log.c         |    6 +-
 fs/btrfs/volumes.c          |    2 +-
 fs/btrfs/xattr.c            |   66 ++++---
 23 files changed, 965 insertions(+), 1010 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-06-27 18:15 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-06-27 18:15 UTC (permalink / raw)
  To: Linus Torvalds, Btrfs mailing list, linux-kernel

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

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

* [GIT PULL] Btrfs updates
@ 2011-06-20  1:12 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-06-20  1:12 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, LKML

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

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

* Re: [GIT PULL] Btrfs updates
  2011-06-13  1:02 ` Andi Kleen
  2011-06-13  1:52   ` Chris Mason
@ 2011-06-13  2:05   ` Li Zefan
  1 sibling, 0 replies; 47+ messages in thread
From: Li Zefan @ 2011-06-13  2:05 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Chris Mason, Linus Torvalds, linux-btrfs, linux-kernel

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?
> 

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

* Re: [GIT PULL] Btrfs updates
  2011-06-13  1:02 ` Andi Kleen
@ 2011-06-13  1:52   ` Chris Mason
  2011-06-13  2:05   ` Li Zefan
  1 sibling, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-06-13  1:52 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Linus Torvalds, linux-btrfs, linux-kernel

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

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

* Re: [GIT PULL] Btrfs updates
  2011-06-12 11:57 Chris Mason
  2011-06-12 18:08 ` Linus Torvalds
@ 2011-06-13  1:02 ` Andi Kleen
  2011-06-13  1:52   ` Chris Mason
  2011-06-13  2:05   ` Li Zefan
  1 sibling, 2 replies; 47+ messages in thread
From: Andi Kleen @ 2011-06-13  1:02 UTC (permalink / raw)
  To: Chris Mason; +Cc: Linus Torvalds, linux-btrfs, linux-kernel

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

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

* Re: [GIT PULL] Btrfs updates
  2011-06-12 11:57 Chris Mason
@ 2011-06-12 18:08 ` Linus Torvalds
  2011-06-13  1:02 ` Andi Kleen
  1 sibling, 0 replies; 47+ messages in thread
From: Linus Torvalds @ 2011-06-12 18:08 UTC (permalink / raw)
  To: Chris Mason; +Cc: linux-btrfs, linux-kernel

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

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

* [GIT PULL] Btrfs updates
@ 2011-06-12 11:57 Chris Mason
  2011-06-12 18:08 ` Linus Torvalds
  2011-06-13  1:02 ` Andi Kleen
  0 siblings, 2 replies; 47+ messages in thread
From: Chris Mason @ 2011-06-12 11:57 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

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

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

* [GIT PULL] Btrfs updates
@ 2011-06-04 14:37 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-06-04 14:37 UTC (permalink / raw)
  To: Linus, 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 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(-)

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

* Re: [GIT PULL] Btrfs updates
  2011-05-27 19:55 Chris Mason
@ 2011-05-27 21:44 ` Chester
  0 siblings, 0 replies; 47+ messages in thread
From: Chester @ 2011-05-27 21:44 UTC (permalink / raw)
  To: Chris Mason; +Cc: Linus Torvalds, linux-btrfs, linux-kernel

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

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

* [GIT PULL] Btrfs updates
@ 2011-05-27 19:55 Chris Mason
  2011-05-27 21:44 ` Chester
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2011-05-27 19:55 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

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

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

* [GIT PULL] Btrfs updates
@ 2011-05-15 14:47 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-05-15 14:47 UTC (permalink / raw)
  To: linux-btrfs, linux-kernel, Linus Torvalds


Hi everyone,

The master branch of the btrfs unstable tree has a few more fixes:

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

These include small fixes in the new per-file flags, an oops in
the btrfs acl code and ENOSPC fixes for mixed block groups (used in very
small filesystems).

Li Zefan (3) commits (+15/-10):
    Btrfs: fix FS_IOC_SETFLAGS ioctl (+2/-0)
    Btrfs: fix FS_IOC_GETFLAGS ioctl (+7/-0)
    fs: remove FS_COW_FL (+6/-10)

Daniel J Blueman (1) commits (+3/-2):
    Prevent oopsing in posix_acl_valid()

liubo (1) commits (+26/-11):
    Btrfs: fix easily get into ENOSPC in mixed case

Total: (5) commits (+44/-23)

 fs/btrfs/acl.c         |    5 +++--
 fs/btrfs/extent-tree.c |   37 ++++++++++++++++++++++++++-----------
 fs/btrfs/ioctl.c       |   24 +++++++++++++++---------
 include/linux/fs.h     |    1 -
 4 files changed, 44 insertions(+), 23 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-04-26 14:24 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-04-26 14:24 UTC (permalink / raw)
  To: Linus Torvalds, Linux Btrfs, linux-kernel

Hi everyone,

The master branch of the btrfs unstable repo:

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

Has a few bug fixes.  Josef fixed up a crash in the free space cache
error handling code, and it should close out the open bugs there.

Li Zefan found a slab corruption in btrfs fitrim support.

Otherwise, these are smaller fixes for corner cases.

This is a separate pull from my plugging fixes because this is against
2.6.38, while the plugging stuff was on top of 2.6.39-rc4.

David Sterba (1) commits (+1/-0):
    btrfs: add missing spin_unlock to a rare exit path

Itaru Kitayama (1) commits (+1/-1):
    btrfs: fix wrong allocating flag when reading page

Josef Bacik (2) commits (+8/-5):
    Btrfs: free bitmaps properly when evicting the cache (+7/-4)
    Btrfs: put the right bio if we have an error (+1/-1)

Li Zefan (1) commits (+1/-1):
    Btrfs: Free free_space item properly in btrfs_trim_block_group()

Tsutomu Itoh (3) commits (+21/-8):
    Btrfs: fix missing mutex_unlock in btrfs_del_dir_entries_in_log() (+5/-2)
    Btrfs: cleanup error handling in inode.c (+9/-6)
    Btrfs: check return value of kmalloc() (+7/-0)

Total: (8) commits (+32/-15)

 fs/btrfs/disk-io.c          |    1 +
 fs/btrfs/extent-tree.c      |    4 ++++
 fs/btrfs/extent_io.c        |    2 +-
 fs/btrfs/free-space-cache.c |   13 ++++++++-----
 fs/btrfs/inode.c            |   20 +++++++++++++-------
 fs/btrfs/tree-log.c         |    7 +++++--
 6 files changed, 32 insertions(+), 15 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-04-18 14:26 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-04-18 14:26 UTC (permalink / raw)
  To: Linus Torvalds, Linux Btrfs, linux-kernel

Hi everyone,

The master branch of the btrfs unstable repo:

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

Has a nice pile of btrfs fixes.  Josef tackled a variety of DIO problems
including latencies and crc errors.  He also fixed a crash in the
mount -o free_space_cache mode, and dramatically reduced contention on
the journal mutex.  Less contention means we finish up endio processing
faster and we're able to process delalloc much faster as space gets
tight.

Our ENOSPC fixes have returned.  The cluster allocation code was
sometimes getting out of hand and leaving us with a filesystem full of
metadata chunks.

Fujitsu continues a long series of error handling improvements and
fixes, and Sergei Trofimovich fixed a memcpy vs memmove bug.

I've removed a duplicate commit from the shortlog below.  Josef and I
both managed to take his iov_base fix.  Git did the right thing and the
resulting code is correct.

Josef Bacik (10) commits (+224/-133):
    Btrfs: reuse the extent_map we found when calling btrfs_get_extent (+28/-8)
    Btrfs: do not call btrfs_update_inode in endio if nothing changed (+10/-5)
    Btrfs: deal with the case that we run out of space in the cache (+69/-74)
    Btrfs: avoid taking the trans_mutex in btrfs_end_transaction (+19/-24)
    Btrfs: check for duplicate iov_base's when doing dio reads (+16/-1)
    Btrfs: avoid taking the chunk_mutex in do_chunk_alloc (+28/-6)
    Btrfs: map the inode item when doing fill_inode_item (+12/-0)
    Btrfs: do not use async submit for small DIO io's (+19/-5)
    Btrfs: don't split dio bios if we don't have to (+13/-7)
    Btrfs: only retry transaction reservation once (+10/-1)

Chris Mason (4) commits (+78/-29):
    Btrfs end_bio_extent_readpage should look for locked bits (+1/-1)
    Btrfs: don't force chunk allocation in find_free_extent (+73/-22)
    Btrfs: make uncache_state unconditional (+3/-5)
    Btrfs: fix free space cache leak (+1/-1)

Li Zefan (2) commits (+22/-39):
    Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir() (+10/-18)
    Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr() (+12/-21)

Miao Xie (2) commits (+8/-7):
    Btrfs: Fix incorrect inode nlink in btrfs_link() (+3/-3)
    Btrfs: Check validity before setting an acl (+5/-4)

Sergei Trofimovich (1) commits (+11/-3):
    btrfs: properly handle overlapping areas in memmove_extent_buffer

Yoshinori Sano (1) commits (+4/-1):
    Btrfs: fix memory leaks in btrfs_new_inode()

Xin Zhong (1) commits (+33/-9):
    Btrfs: fix subvolume mount by name problem when default mount subvolume is set

Daniel J Blueman (1) commits (+1/-1):
    fix user annotation in ioctl.c

Arne Jansen (1) commits (+55/-19):
    btrfs: using cached extent_state in set/unlock combinations

Total: (24) commits (+452/-240)

 fs/btrfs/acl.c              |    9 ++-
 fs/btrfs/ctree.h            |    9 ++-
 fs/btrfs/disk-io.c          |    2 +-
 fs/btrfs/extent-tree.c      |  125 +++++++++++++++++++++++++-------
 fs/btrfs/extent_io.c        |   82 ++++++++++++++++-----
 fs/btrfs/extent_io.h        |    2 +-
 fs/btrfs/file.c             |   21 +++---
 fs/btrfs/free-space-cache.c |  119 +++++++++++++++----------------
 fs/btrfs/inode.c            |  165 ++++++++++++++++++++++++++++++-------------
 fs/btrfs/ioctl.c            |    2 +-
 fs/btrfs/super.c            |   42 +++++++++---
 fs/btrfs/transaction.c      |   48 +++++++------
 fs/btrfs/transaction.h      |    4 +-
 fs/btrfs/xattr.c            |   33 +++------
 14 files changed, 430 insertions(+), 233 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-02-15  3:49 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-02-15  3:49 UTC (permalink / raw)
  To: Linus Torvalds, Linux Btrfs, linux-kernel

Hi everyone,

The master branch of the btrfs unstable tree has some important btrfs
fixes:

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

I was seeing very rare metadata corruptions during long stress runs, and
eventually tracked it down to two different races in the btrfs
releasepage code.  One was making btrfs think pages were up to date when
they really weren't and the other lead to corrupted csum fields in
metadata.

Chris Mason (2) commits (+50/-6):
    Btrfs: don't release pages when we can't clear the uptodate bits (+9/-1)
    Btrfs: fix page->private races (+41/-5)

Zheng Yan (1) commits (+1/-0):
    Btrfs: Fix balance panic

Dan Rosenberg (1) commits (+8/-2):
    btrfs: prevent heap corruption in btrfs_ioctl_space_info()

Tsutomu Itoh (1) commits (+7/-3):
    Btrfs: check return value of alloc_extent_map()

Ilya Dryomov (1) commits (+2/-0):
    Btrfs - Fix memory leak in btrfs_init_new_device()

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

 fs/btrfs/disk-io.c     |    8 ++++++--
 fs/btrfs/extent-tree.c |    2 +-
 fs/btrfs/extent_io.c   |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 fs/btrfs/extent_map.c  |    4 ++--
 fs/btrfs/file.c        |    1 +
 fs/btrfs/inode.c       |    3 +++
 fs/btrfs/ioctl.c       |   10 ++++++++--
 fs/btrfs/relocation.c  |    1 +
 fs/btrfs/volumes.c     |    2 ++
 9 files changed, 68 insertions(+), 11 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-02-07 20:12 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-02-07 20:12 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel, linux-btrfs

Hi everyone,

This pull was delayed by a week because my test rig kept throwing out
corruptions.  After a long series of bisects, it looks like the hardware
is just silently corrupting blocks and btrfs is catching it early and
often.

So, here is our collection of bug fixes since rc1.  We have an
assortment of ENOSPC tweaks, allocator fixes  and better error handling
in general.

Linus please pull the master branch of the btrfs-unstable repo:

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

Li Zefan (8) commits (+107/-65):
    btrfs: Fix threshold calculation for block groups smaller than 1GB (+6/-2)
    btrfs: Check mergeable free space when removing a cluster (+20/-6)
    btrfs: Update stats when allocating from a cluster (+14/-3)
    Btrfs: Fix file clone when source offset is not 0 (+4/-1)
    btrfs: Add a helper try_merge_free_space() (+43/-32)
    btrfs: Free fully occupied bitmap in cluster (+2/-0)
    btrfs: Add helper function free_bitmap() (+16/-21)
    Btrfs: Fix memory leak at umount (+2/-0)

Josef Bacik (8) commits (+86/-18):
    Btrfs: do not release more reserved bytes to the global_block_rsv than we need (+14/-2)
    Btrfs: make sure search_bitmap finds something in remove_from_bitmap (+1/-0)
    Btrfs: use the global block reserve if we cannot reserve space (+27/-1)
    Btrfs: fix check_path_shared so it returns the right value (+3/-2)
    Btrfs: exclude super blocks when we read in block groups (+18/-8)
    Btrfs: handle no memory properly in prepare_pages (+6/-2)
    Btrfs: make shrink_delalloc a little friendlier (+14/-3)
    Btrfs: do error checking in btrfs_del_csums (+3/-0)

Tsutomu Itoh (5) commits (+100/-21):
    btrfs: check return value of btrfs_start_ioctl_transaction() properly (+1/-1)
    btrfs: fix return value check of btrfs_start_transaction() (+37/-6)
    btrfs: fix return value check of btrfs_join_transaction() (+51/-13)
    btrfs: cleanup error handling in btrfs_unlink_inode() (+1/-1)
    btrfs: checking NULL or not in some functions (+10/-0)

liubo (3) commits (+59/-4):
    btrfs: fix uncheck memory allocation in btrfs_submit_compressed_read (+25/-4)
    btrfs: fix several uncheck memory allocations (+33/-0)
    btrfs: fix missing break in switch phrase (+1/-0)

Miao Xie (2) commits (+7/-0):
    Btrfs: Don't return acl info when mounting with noacl option (+6/-0)
    Btrfs: Fix memory leak in writepage fixup work (+1/-0)

Chris Mason (2) commits (+3/-2):
    Btrfs: avoid uninit variable warnings in ordered-data.c (+1/-1)
    Btrfs: catch errors from btrfs_sync_log (+2/-1)

Zheng Yan (1) commits (+4/-4):
    Btrfs: Fix page count calculation

Julia Lawall (1) commits (+1/-1):
    fs/btrfs/inode.c: Add missing IS_ERR test

Tero Roponen (1) commits (+3/-2):
    Btrfs: Free correct pointer after using strsep

Ian Kent (1) commits (+2/-0):
    Btrfs: Fix memory leak on finding existing super

Alexey Charkov (1) commits (+1/-1):
    btrfs: Drop __exit attribute on btrfs_exit_compress

Total: (33) commits (+373/-118)

 fs/btrfs/acl.c              |    6 ++
 fs/btrfs/compression.c      |   27 +++++++-
 fs/btrfs/disk-io.c          |    7 ++
 fs/btrfs/export.c           |    2 +
 fs/btrfs/extent-tree.c      |   98 +++++++++++++++++++++-----
 fs/btrfs/extent_io.c        |    6 +-
 fs/btrfs/file-item.c        |    5 ++
 fs/btrfs/file.c             |   20 ++++--
 fs/btrfs/free-space-cache.c |  162 ++++++++++++++++++++++++++----------------
 fs/btrfs/inode.c            |   35 ++++++---
 fs/btrfs/ioctl.c            |   19 ++++--
 fs/btrfs/ordered-data.c     |    2 +-
 fs/btrfs/print-tree.c       |    1 +
 fs/btrfs/relocation.c       |   29 +++++++-
 fs/btrfs/super.c            |    9 ++-
 fs/btrfs/transaction.c      |    5 ++
 fs/btrfs/tree-log.c         |   35 +++++++++-
 fs/btrfs/volumes.c          |   19 +++++-
 18 files changed, 371 insertions(+), 116 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2011-01-17 21:13 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2011-01-17 21:13 UTC (permalink / raw)
  To: Linus Torvalds, Linux Btrfs, linux-kernel

Hi everyone,

The for-linus branch of the btrfs-unstable git tree:

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

Has our collection of features and fixes for 2.6.38-rc1.  The git tree
is actually against 2.6.36 and these commits have been tested against
.36, .37 and Linus' current git.  There's no particular reason for the
.36 part, other than it's what one of my build boxes was running.

The highlights this time around are LZO compression from Li Zefan and a
large collection of multi-device fixes from Miao Xie.  Liubo kicked in
the start of our forced-readonly support, which will be the building
block for ripping out a big collection of BUG_ONs and replacing them
with kinder gentler error messages.

Li Zefan also added readonly snapshot support, and I'll have the
corresponding btrfs-progs changes integrated this week.

This pull does have a duplicate for the btrfs ctree.c build fix that
Linus already has in his tree.  Git merge seems to do magic on this one,
it applies without doing a duplicate #include.

Li Zefan (9) commits (+1354/-542):
    Btrfs: Add BTRFS_IOC_SUBVOL_GETFLAGS/SETFLAGS ioctls (+85/-0)
    btrfs: Allow to specify compress method when defrag (+26/-2)
    btrfs: Allow to add new compression algorithm (+473/-282)
    btrfs: Extract duplicate decompress code (+115/-194)
    Btrfs: Refactor btrfs_ioctl_snap_create() (+40/-44)
    Btrfs: Add readonly snapshots support (+75/-10)
    btrfs: Add lzo compression support (+527/-8)
    btrfs: Fix error handling in zlib (+8/-0)
    btrfs: Fix bugs in zlib workspace (+5/-2)

Miao Xie (6) commits (+695/-186):
    btrfs: make the chunk allocator utilize the devices better (+300/-103)
    btrfs: try to reclaim some space when chunk allocation fails (+7/-2)
    btrfs: fix wrong free space information of btrfs (+286/-7)
    btrfs: restructure find_free_dev_extent() (+91/-68)
    btrfs: fix wrong calculation of stripe size (+8/-2)
    btrfs: fix wrong data space statistics (+3/-4)

Jesper Juhl (2) commits (+5/-1):
    btrfs: Don't pass NULL ptr to func that may deref it. (+2/-0)
    btrfs: Mem leak in btrfs_get_acl() (+3/-1)

Tsutomu Itoh (2) commits (+17/-0):
    btrfs: Fix memory leak in btrfs_read_fs_root_no_radix() (+1/-0)
    btrfs: check NULL or not (+16/-0)

Stefan Schmidt (1) commits (+1/-0):
    fs/btrfs: Fix build of ctree

Ben Hutchings (1) commits (+4/-0):
    btrfs: Require CAP_SYS_ADMIN for filesystem rebalance

Chris Mason (1) commits (+2/-1):
    Btrfs: fix off by one while setting block groups readonly

Dave Young (1) commits (+8/-4):
    btrfs: mount failure return value fix

liubo (1) commits (+523/-2):
    Btrfs: forced readonly mounts on errors

Josef Bacik (1) commits (+0/-5):
    Btrfs: don't warn if we get ENOSPC in btrfs_block_rsv_check

Total: (25) commits (+2609/-741)

 fs/btrfs/Kconfig        |    2 +
 fs/btrfs/Makefile       |    2 +-
 fs/btrfs/acl.c          |    4 +-
 fs/btrfs/btrfs_inode.h  |    2 +-
 fs/btrfs/compression.c  |  329 ++++++++++++++++++++++++-
 fs/btrfs/compression.h  |   72 ++++--
 fs/btrfs/ctree.c        |    8 +
 fs/btrfs/ctree.h        |   49 ++++-
 fs/btrfs/disk-io.c      |  412 ++++++++++++++++++++++++++++++-
 fs/btrfs/disk-io.h      |    1 +
 fs/btrfs/extent-tree.c  |   90 ++++++-
 fs/btrfs/extent_io.c    |    7 +-
 fs/btrfs/extent_io.h    |   17 ++-
 fs/btrfs/extent_map.c   |    2 +
 fs/btrfs/extent_map.h   |    3 +-
 fs/btrfs/file.c         |   13 +
 fs/btrfs/inode.c        |   90 +++++---
 fs/btrfs/ioctl.c        |  220 +++++++++++++----
 fs/btrfs/ioctl.h        |   12 +-
 fs/btrfs/lzo.c          |  420 +++++++++++++++++++++++++++++++
 fs/btrfs/ordered-data.c |   18 ++-
 fs/btrfs/ordered-data.h |    8 +-
 fs/btrfs/super.c        |  281 ++++++++++++++++++++--
 fs/btrfs/transaction.c  |   11 +
 fs/btrfs/transaction.h  |    1 +
 fs/btrfs/volumes.c      |  626 ++++++++++++++++++++++++++++++++++-------------
 fs/btrfs/volumes.h      |   27 ++
 fs/btrfs/xattr.c        |   18 ++
 fs/btrfs/zlib.c         |  369 ++++++----------------------
 29 files changed, 2491 insertions(+), 623 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2010-12-14  1:54 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2010-12-14  1:54 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hi everyone,

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

Has an assortment of bug fixes.  It includes some corruption fixes when
mounting the filesystem in degraded mode, and related oopsen as we try
to mount damaged filesystems.

The async snapshot ioctl added in rc1 is fixed to properly do
synchronous snapshots unless the new async ioctl is used.  It is also
updated to be ready for the readonly snapshot feature we'll add in
2.6.38.

Xin Zhong from Intel pitched in a deadlock during copy_from_user and
Josef has fixes for the new fast caching code and a few other bugs.

Josef Bacik (5) commits (+38/-21):
    Btrfs: do not BUG if we fail to remove the orphan item for dead snapshots (+7/-3)
    Btrfs: do not do fast caching if we are allocating blocks for tree_root (+12/-6)
    Btrfs: fixup return code for btrfs_del_orphan_item (+5/-1)
    Btrfs: deal with space cache errors better (+13/-9)
    Btrfs: fix use after free in O_DIRECT (+1/-2)

Chris Mason (3) commits (+59/-5):
    Btrfs: account for missing devices in RAID allocation profiles (+36/-3)
    Btrfs: prevent RAID level downgrades when space is low (+19/-1)
    Btrfs: EIO when we fail to read tree roots (+4/-1)

Li Zefan (2) commits (+37/-23):
    Btrfs: Make async snapshot ioctl more generic (+36/-22)
    Btrfs: Fix a crash when mounting a subvolume (+1/-1)

Zheng Yan (1) commits (+1/-1):
    Btrfs: Fix page leak in compressed writeback path

Xin Zhong (1) commits (+60/-32):
    Btrfs: pwrite blocked when writing from the mmaped buffer of the same page

Sage Weil (1) commits (+11/-9):
    Btrfs: fix sync subvol/snapshot creation

Jan Beulich (1) commits (+5/-7):
    Btrfs: fix compiler warnings

Total: (14) commits (+211/-98)

 fs/btrfs/disk-io.c          |   11 +++--
 fs/btrfs/extent-tree.c      |   75 +++++++++++++++++++++++++++-------
 fs/btrfs/file.c             |   92 ++++++++++++++++++++++++++++---------------
 fs/btrfs/free-space-cache.c |   12 +++--
 fs/btrfs/inode.c            |   11 ++---
 fs/btrfs/ioctl.c            |   56 ++++++++++++++++----------
 fs/btrfs/ioctl.h            |   14 ++++--
 fs/btrfs/orphan.c           |    6 ++-
 fs/btrfs/super.c            |    2 +-
 fs/btrfs/volumes.c          |   20 +++++++++-
 fs/btrfs/volumes.h          |    2 +
 11 files changed, 207 insertions(+), 94 deletions(-)

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

* Re: [GIT PULL] Btrfs updates
  2010-05-27 15:15 Chris Mason
  2010-05-27 17:18 ` Linus Torvalds
  2010-06-02  2:59 ` Miao Xie
@ 2010-09-12 12:38 ` Felipe Contreras
  2 siblings, 0 replies; 47+ messages in thread
From: Felipe Contreras @ 2010-09-12 12:38 UTC (permalink / raw)
  To: Chris Mason, Linus Torvalds, linux-btrfs, linux-kernel, linux-fsdevel

On Thu, May 27, 2010 at 6:15 PM, Chris Mason <chris.mason@oracle.com> wrote:
>    Btrfs: Fix block generation verification race (+1/-1)

This seems to cause a hang when there are "parent transid verify failed" errors.

Somebody on #btrfs told me to revert it, and at least the system
doesn't hang any more.

-- 
Felipe Contreras

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

* Re: [GIT PULL] Btrfs updates
  2010-05-27 15:15 Chris Mason
  2010-05-27 17:18 ` Linus Torvalds
@ 2010-06-02  2:59 ` Miao Xie
  2010-09-12 12:38 ` Felipe Contreras
  2 siblings, 0 replies; 47+ messages in thread
From: Miao Xie @ 2010-06-02  2:59 UTC (permalink / raw)
  To: Chris Mason, Linus Torvalds, linux-btrfs, linux-kernel, linux-fsdevel

Hi, Chris

on 2010-5-27 23:15, Chris Mason wrote: 
> My commits here are just integrating the two and fixing a few bugs in
> the result.
> 
> Zheng Yan (13) commits (+4076/-2679):
>     Btrfs: Integrate metadata reservation with start_transaction (+678/-528)
>     Btrfs: Update metadata reservation for delayed allocation (+232/-415)
>     Btrfs: Shrink delay allocated space in a synchronized (+88/-121)
>     Btrfs: Introduce contexts for metadata reservation (+853/-385)
>     Btrfs: Link block groups of different raid types (+121/-55)
>     Btrfs: Metadata ENOSPC handling for balance (+1163/-747)
>     Btrfs: Metadata ENOSPC handling for tree log (+156/-128)
>     Btrfs: Metadata reservation for orphan inodes (+365/-66)
>     Btrfs: Pre-allocate space for data relocation (+92/-45)
>     Btrfs: Introduce global metadata reservation (+241/-76)
>     Btrfs: Fix block generation verification race (+1/-1)
>     Btrfs: Kill allocate_wait in space_info (+58/-76)
>     Btrfs: Kill init_btrfs_i() (+28/-36)
> 
> Chris Mason (9) commits (+314/-80):
>     Btrfs: fix preallocation and nodatacow checks in O_DIRECT (+140/-16)
>     Btrfs: move O_DIRECT space reservation to btrfs_direct_IO (+8/-6)
>     Btrfs: don't walk around with task->state != TASK_RUNNING (+4/-3)
>     Btrfs: use async helpers for DIO write checksumming (+52/-17)
>     Btrfs: add more error checking to btrfs_dirty_inode (+13/-2)
>     Btrfs: avoid ENOSPC errors in btrfs_dirty_inode (+11/-3)
>     Btrfs: rework O_DIRECT enospc handling (+49/-30)
>     Btrfs: drop verbose enospc printk (+2/-0)
>     Btrfs: allow unaligned DIO (+35/-3)
> 
> Josef Bacik (5) commits (+829/-134):
>     direct-io: add a hook for the fs to provide its own submit_bio function (+45/-8)
>     fs: allow short direct-io reads to be completed via buffered IO (+31/-5)
>     direct-io: do not merge logically non-contiguous requests (+18/-2)
>     Btrfs: add basic DIO read/write support (+631/-36)
>     Btrfs: do aio_write instead of write (+104/-83)
> 
> Total: (27) commits
> 

In the following mail, You said that you had put the cleanups which Zhao Lei and I contributed
into a .35 queue, but I cannot find those patches have been merged into the .35 kernel...
  http://marc.info/?l=linux-btrfs&m=127049622906168&w=2

Is there anything wrong with those patches?

Regards
Miao


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

* Re: [GIT PULL] Btrfs updates
  2010-05-27 17:32   ` Chris Mason
@ 2010-05-27 17:47     ` Linus Torvalds
  0 siblings, 0 replies; 47+ messages in thread
From: Linus Torvalds @ 2010-05-27 17:47 UTC (permalink / raw)
  To: Chris Mason; +Cc: linux-btrfs, linux-kernel, linux-fsdevel



On Thu, 27 May 2010, Chris Mason wrote:
> 
> # git diff v2.6.34 HEAD | diffstat

That still has the potential to be wrong (but got the numbers I expected 
this time). It will be wrong in several cases:

 - "diffstat" has some random common prefix removal logic that I've never 
   figured out the exact rules for.

   You don't happen to see it, because you actually had changes outside of 
   fs/btrfs (so there was no common prefix to worry about), but if 
   everything had been inside fs/btrfs, then at least some versions of 
   diffstat will just remove that whole thing as common, and talk about 
   changes to 'ioctl.c' rather than 'fs/btrfs/ioctl.c'

   (And no, I'm not entirely sure what triggers it. It might only happen 
   for certain patterns and/or certain versions of diffstat, but it's a 
   reason to avoid diffstat in general, or at least use "-p1" to make it 
   reliable)

 - it will do the wrong thing for renames and copies.

 - it doesn't give the summary that pull-request does, which talks about 
   new, deleted and file-mode-changed files.

So just do

	git diff --stat --summary -M v2.6.34..HEAD

instead, which gets all the above cases right. Also, you don't even need 
to remember where you started - you might as well use git to do that too, 
and write it as (assuming you have an 'origin' branch that points to the 
upstream tree):

	git diff --stat --summary -M origin...HEAD

(note the *three* dots: that says that you should diff against the common 
ancestor, so git will just figure out where you started on its own).

		Linus

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

* Re: [GIT PULL] Btrfs updates
  2010-05-27 17:18 ` Linus Torvalds
@ 2010-05-27 17:32   ` Chris Mason
  2010-05-27 17:47     ` Linus Torvalds
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2010-05-27 17:32 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-btrfs, linux-kernel, linux-fsdevel

On Thu, May 27, 2010 at 10:18:04AM -0700, Linus Torvalds wrote:
> 
> 
> On Thu, 27 May 2010, Chris Mason wrote:
> > 
> >  fs/btrfs/extent-tree.c  | 2317 ++++++++++++++++++++++++++++--------------------
> >  fs/btrfs/relocation.c   | 1991 +++++++++++++++++++++++++----------------
> >  fs/btrfs/inode.c        | 1797 +++++++++++++++++++++++++++++--------
> >  fs/btrfs/file.c         |  304 +++---
> >  fs/btrfs/tree-log.c     |  241 +++-
> > ...
> 
> What kind of bogus diffstat is this? 
> 
> Don't do that. I cannot compare your bogus diffstat with what I get, 
> because it's just random noise. You've apparently sorted it by size of the 
> damage, but the numbers are total crap too. That is _not_ the actual size 
> of the changes at all.

My the btrfs-unstable repo is against v2.6.34, here is a 'pure'
diffstat.  My script ends up piping the git log -p output through
diffstat, which does give different numbers.  I'll use the git diff
variant from now on.

# git diff v2.6.34 HEAD | diffstat
 fs/btrfs/async-thread.c |    1 
 fs/btrfs/btrfs_inode.h  |    3 
 fs/btrfs/ctree.c        |  109 +-
 fs/btrfs/ctree.h        |  163 ++-
 fs/btrfs/delayed-ref.c  |  101 --
 fs/btrfs/delayed-ref.h  |    3 
 fs/btrfs/disk-io.c      |  169 +--
 fs/btrfs/disk-io.h      |    4 
 fs/btrfs/extent-tree.c  | 2255 ++++++++++++++++++++++++++++--------------------
 fs/btrfs/extent_io.c    |   85 -
 fs/btrfs/extent_io.h    |   14 
 fs/btrfs/file-item.c    |   28 
 fs/btrfs/file.c         |  166 ++-
 fs/btrfs/inode-item.c   |   27 
 fs/btrfs/inode.c        | 1713 ++++++++++++++++++++++++++++--------
 fs/btrfs/ioctl.c        |  206 ++--
 fs/btrfs/ordered-data.c |   82 +
 fs/btrfs/ordered-data.h |    9 
 fs/btrfs/relocation.c   | 1971 +++++++++++++++++++++++++----------------
 fs/btrfs/root-tree.c    |   23 
 fs/btrfs/super.c        |   30 
 fs/btrfs/transaction.c  |  232 +++-
 fs/btrfs/transaction.h  |   24 
 fs/btrfs/tree-defrag.c  |    7 
 fs/btrfs/tree-log.c     |  241 +++--
 fs/btrfs/tree-log.h     |    2 
 fs/btrfs/volumes.c      |   17 
 fs/btrfs/xattr.c        |   12 
 fs/direct-io.c          |   62 +
 include/linux/fs.h      |   11 
 mm/filemap.c            |   36 
 31 files changed, 5066 insertions(+), 2740 deletions(-)

-chris

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

* Re: [GIT PULL] Btrfs updates
  2010-05-27 15:15 Chris Mason
@ 2010-05-27 17:18 ` Linus Torvalds
  2010-05-27 17:32   ` Chris Mason
  2010-06-02  2:59 ` Miao Xie
  2010-09-12 12:38 ` Felipe Contreras
  2 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2010-05-27 17:18 UTC (permalink / raw)
  To: Chris Mason; +Cc: linux-btrfs, linux-kernel, linux-fsdevel



On Thu, 27 May 2010, Chris Mason wrote:
> 
>  fs/btrfs/extent-tree.c  | 2317 ++++++++++++++++++++++++++++--------------------
>  fs/btrfs/relocation.c   | 1991 +++++++++++++++++++++++++----------------
>  fs/btrfs/inode.c        | 1797 +++++++++++++++++++++++++++++--------
>  fs/btrfs/file.c         |  304 +++---
>  fs/btrfs/tree-log.c     |  241 +++-
> ...

What kind of bogus diffstat is this? 

Don't do that. I cannot compare your bogus diffstat with what I get, 
because it's just random noise. You've apparently sorted it by size of the 
damage, but the numbers are total crap too. That is _not_ the actual size 
of the changes at all.

I suspect you have some script that adds up all the patches, but that's 
wrong. If a subsequent patch changes the things that an earlier patch has 
done, then the numbers don't just add up.

And if the diffstat doesn't match what I get when I pull, then my reaction 
inevitably is "ok, that's not what they asked me to pull, so I'll just 
reject it out-of-hand". So don't play games with diffstats - that just 
means that things won't get pulled.

		Linus

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

* [GIT PULL] Btrfs updates
@ 2010-05-27 15:15 Chris Mason
  2010-05-27 17:18 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Chris Mason @ 2010-05-27 15:15 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel, linux-fsdevel

Hi everyone,

The master branch of the btrfs-unstable tree:

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

Has the first round of btrfs updates for 2.6.35-rc.  I still have some
pending fixes and patches queued up from other people, but this pull
request has the two major features for this release.

First we've got a large ENOSPC improvement from Yan Zheng.  He hit on
all the difficult corners including space balancing, drive management,
fsync logging and many others.  This has been in the works for sometime
and it has held up very well in testing.

The second batch is O_DIRECT work from Josef Bacik.  We've had a few
different iterations on ENOSPC floating on the btrfs list, and this one
takes a much less complex road by hooking into the generic
fs/direct-io.c code.  Josef added a hook for bio submission to
fs/direct-io.c so that we could do proper block number transaction and
properly do multi-device IO.

There are small changes in here to fs/direct-io.c, mm/filemap.c and
include/linux/fs.h.  These have been sent out for review a few times and
commented on.  The filemap.c change allows O_DIRECT reads to fall back
to buffered IO, which we need to support compression and do checksumming
IOs < 1 page.

My commits here are just integrating the two and fixing a few bugs in
the result.

Zheng Yan (13) commits (+4076/-2679):
    Btrfs: Integrate metadata reservation with start_transaction (+678/-528)
    Btrfs: Update metadata reservation for delayed allocation (+232/-415)
    Btrfs: Shrink delay allocated space in a synchronized (+88/-121)
    Btrfs: Introduce contexts for metadata reservation (+853/-385)
    Btrfs: Link block groups of different raid types (+121/-55)
    Btrfs: Metadata ENOSPC handling for balance (+1163/-747)
    Btrfs: Metadata ENOSPC handling for tree log (+156/-128)
    Btrfs: Metadata reservation for orphan inodes (+365/-66)
    Btrfs: Pre-allocate space for data relocation (+92/-45)
    Btrfs: Introduce global metadata reservation (+241/-76)
    Btrfs: Fix block generation verification race (+1/-1)
    Btrfs: Kill allocate_wait in space_info (+58/-76)
    Btrfs: Kill init_btrfs_i() (+28/-36)

Chris Mason (9) commits (+314/-80):
    Btrfs: fix preallocation and nodatacow checks in O_DIRECT (+140/-16)
    Btrfs: move O_DIRECT space reservation to btrfs_direct_IO (+8/-6)
    Btrfs: don't walk around with task->state != TASK_RUNNING (+4/-3)
    Btrfs: use async helpers for DIO write checksumming (+52/-17)
    Btrfs: add more error checking to btrfs_dirty_inode (+13/-2)
    Btrfs: avoid ENOSPC errors in btrfs_dirty_inode (+11/-3)
    Btrfs: rework O_DIRECT enospc handling (+49/-30)
    Btrfs: drop verbose enospc printk (+2/-0)
    Btrfs: allow unaligned DIO (+35/-3)

Josef Bacik (5) commits (+829/-134):
    direct-io: add a hook for the fs to provide its own submit_bio function (+45/-8)
    fs: allow short direct-io reads to be completed via buffered IO (+31/-5)
    direct-io: do not merge logically non-contiguous requests (+18/-2)
    Btrfs: add basic DIO read/write support (+631/-36)
    Btrfs: do aio_write instead of write (+104/-83)

Total: (27) commits

 fs/btrfs/extent-tree.c  | 2317 ++++++++++++++++++++++++++++--------------------
 fs/btrfs/relocation.c   | 1991 +++++++++++++++++++++++++----------------
 fs/btrfs/inode.c        | 1797 +++++++++++++++++++++++++++++--------
 fs/btrfs/file.c         |  304 +++---
 fs/btrfs/tree-log.c     |  241 +++-
 fs/btrfs/transaction.c  |  232 +++-
 fs/btrfs/ioctl.c        |  206 ++--
 fs/btrfs/disk-io.c      |  171 +--
 fs/btrfs/ctree.h        |  163 ++-
 fs/btrfs/ctree.c        |  109 +-
 fs/btrfs/delayed-ref.c  |  101 --
 fs/btrfs/extent_io.c    |   85 -
 fs/btrfs/ordered-data.c |   82 +
 fs/direct-io.c          |   62 +
 mm/filemap.c            |   36 
 fs/btrfs/super.c        |   30 
 fs/btrfs/file-item.c    |   28 
 fs/btrfs/inode-item.c   |   27 
 fs/btrfs/transaction.h  |   24 
 fs/btrfs/root-tree.c    |   23 
 fs/btrfs/volumes.c      |   17 
 fs/btrfs/extent_io.h    |   14 
 fs/btrfs/xattr.c        |   12 
 include/linux/fs.h      |   11 
 fs/btrfs/ordered-data.h |    9 
 fs/btrfs/tree-defrag.c  |    7 
 fs/btrfs/disk-io.h      |    4 
 fs/btrfs/delayed-ref.h  |    3 
 fs/btrfs/btrfs_inode.h  |    3 
 fs/btrfs/tree-log.h     |    2 
 fs/btrfs/async-thread.c |    1 
 31 files changed, 5219 insertions(+), 2893 deletions(-)

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

* Re: [GIT PULL] Btrfs updates
  2010-04-05 19:36 Chris Mason
@ 2010-04-06 15:40 ` Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2010-04-06 15:40 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

On Mon, Apr 05, 2010 at 03:36:37PM -0400, Chris Mason wrote:
> Hello everyone,
> 
> The master branch of the btrfs-unstable repo has a collection of fixes:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master
> 

That pull request was missing another enospc fix from Josef, and Yan
Zheng noticed we were sometimes trying to allocate zero sized chunks
from the disk pool.  I've updated the git tree with two new commits,
here is the corrected shortlog:

Josef Bacik (5) commits (+47/-96):
    Btrfs: fail to mount if we have problems reading the block groups (+12/-4)
    Btrfs: fix small race with delalloc flushing waitqueue's (+4/-5)
    Btrfs: fix chunk allocate size calculation (+3/-1)
    Btrfs: fix data enospc check overflow (+15/-5)
    Btrfs: kill max_extent mount option (+13/-81)

Zhao Lei (3) commits (+9/-12):
    Btrfs: Simplify num_stripes's calculation logical for __btrfs_alloc_chunk() (+2/-2)
    Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree() (+2/-0)
    Btrfs: Remove unnecessary finish_wait() in wait_current_trans() (+5/-10)

Dan Carpenter (3) commits (+5/-1):
    Btrfs: handle kmalloc() failure in inode lookup ioctl (+3/-0)
    Btrfs: check btrfs_get_extent return for IS_ERR() (+1/-1)
    Btrfs: dereferencing freed memory (+1/-0)

Chris Mason (2) commits (+10/-0):
    Btrfs: make sure the chunk allocator doesn't create zero length chunks (+6/-0)
    Btrfs: add check for changed leaves in setup_leaf_for_split (+4/-0)

Sage Weil (1) commits (+31/-66):
    Btrfs: create snapshot references in same commit as snapshot

Andrea Gelmini (1) commits (+0/-1):
    Btrfs: remove duplicate include in ioctl.c

Miao Xie (1) commits (+4/-1):
    Btrfs: add NULL check for do_walk_down()

Nick Piggin (1) commits (+5/-32):
    Btrfs: use add_to_page_cache_lru, use __page_cache_alloc

Total: (17) commits

 fs/btrfs/transaction.c  |  112 +++++++++++++++---------------------------------
 fs/btrfs/inode.c        |   59 +------------------------
 fs/btrfs/extent-tree.c  |   43 ++++++++++++------
 fs/btrfs/super.c        |   23 +--------
 fs/btrfs/compression.c  |   22 +--------
 fs/btrfs/volumes.c      |   16 +++++-
 fs/btrfs/extent_io.c    |   15 ------
 fs/btrfs/disk-io.c      |   12 +++--
 fs/btrfs/ioctl.c        |    7 ++-
 fs/btrfs/ordered-data.c |    6 +-
 fs/btrfs/ctree.c        |    4 +
 fs/btrfs/ctree.h        |    1 
 12 files changed, 111 insertions(+), 209 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2010-04-05 19:36 Chris Mason
  2010-04-06 15:40 ` Chris Mason
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2010-04-05 19:36 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hello everyone,

The master branch of the btrfs-unstable repo has a collection of fixes:

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

Josef fixed a few different ENOSPC problems, and removed the mount -o
max_extent mount option, which was not used and didn't fit in well with
enospc at all.

Sage fixed up when and how we add the directory entries that go with
snapshots, which will avoid dangling directory entries if we crash at
the wrong time during snapshot creation.

Nick Piggin made the btrfs page cache code a little bit less of a special
snowflake, switching us back to the proper API.

Zhao Lei and Miao Xie contributed a long series of cleanups and fixes.
I've put the cleanups into a .35 queue and the fixes are here.

Josef Bacik (4) commits (+32/-91):
    Btrfs: fail to mount if we have problems reading the block groups (+12/-4)
    Btrfs: fix small race with delalloc flushing waitqueue's (+4/-5)
    Btrfs: fix chunk allocate size calculation (+3/-1)
    Btrfs: kill max_extent mount option (+13/-81)

Zhao Lei (3) commits (+9/-12):
    Btrfs: Simplify num_stripes's calculation logical for __btrfs_alloc_chunk() (+2/-2)
    Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree() (+2/-0)
    Btrfs: Remove unnecessary finish_wait() in wait_current_trans() (+5/-10)

Dan Carpenter (3) commits (+5/-1):
    Btrfs: handle kmalloc() failure in inode lookup ioctl (+3/-0)
    Btrfs: check btrfs_get_extent return for IS_ERR() (+1/-1)
    Btrfs: dereferencing freed memory (+1/-0)

Sage Weil (1) commits (+31/-66):
    Btrfs: create snapshot references in same commit as snapshot

Andrea Gelmini (1) commits (+0/-1):
    Btrfs: remove duplicate include in ioctl.c

Chris Mason (1) commits (+4/-0):
    Btrfs: add check for changed leaves in setup_leaf_for_split

Miao Xie (1) commits (+4/-1):
    Btrfs: add NULL check for do_walk_down()

Nick Piggin (1) commits (+5/-32):
    Btrfs: use add_to_page_cache_lru, use __page_cache_alloc

Total: (15) commits

 fs/btrfs/transaction.c  |  112 +++++++++++++++---------------------------------
 fs/btrfs/inode.c        |   59 +------------------------
 fs/btrfs/super.c        |   23 +--------
 fs/btrfs/extent-tree.c  |   23 ++++++---
 fs/btrfs/compression.c  |   22 +--------
 fs/btrfs/extent_io.c    |   15 ------
 fs/btrfs/disk-io.c      |   12 +++--
 fs/btrfs/volumes.c      |   10 +++-
 fs/btrfs/ioctl.c        |    7 ++-
 fs/btrfs/ordered-data.c |    6 +-
 fs/btrfs/ctree.c        |    4 +
 fs/btrfs/ctree.h        |    1 
 12 files changed, 90 insertions(+), 204 deletions(-)


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

* Re: [GIT PULL] Btrfs updates
  2010-03-16 21:01 ` Chris Mason
@ 2010-03-18 16:59   ` Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2010-03-18 16:59 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

On Tue, Mar 16, 2010 at 05:01:50PM -0400, Chris Mason wrote:
> On Mon, Mar 15, 2010 at 03:18:07PM -0400, Chris Mason wrote:
> > Hello everyone,
> > 
> > The master branch of the btrfs unstable tree has a collection of fixes
> > and features:
> > 

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

> 
> I've updated the master tree with 3 small fixes.  Thanks to Sage for
> sending along a one liner for a bad cast in the searching ioctl, really
> not sure why my gcc isn't giving the same warnings his was.
> 
> I fixed the new space info ioctl to avoid scheduling in a
> rcu_read_lock.  Sage also turned u64 to __u64 in the space_info ioctl
> args struct.

I mentioned how the new searching ioctl could be used to very quickly
find updated files, and that I was planning on adding this.  There were
a few questions about how it might work, so I worked up a prototype.

I had to make some small mods to the kernel side to be more friendly to
userland, mostly just fixing up how we advance through the keys.  For an
example of how this works, cloned the linux-26 git repo onto a fresh FS,
then modified a single file.

I timed how long it took find to find my one modified file (via find
-newer) and I timed my ioctl.

Find took 9s, the ioctl took .024s.

A repeat of the test on a much larger filesystem had find timed in at
25s and the ioctl at 2s.

The prototype is called btrfs subvol find-new and it can be found in the
master branch of the btrfs-progs-unstable repo.  I've updated the master branch
on the kernel side.  Here are the updates since my last pull request:

Chris Mason (4) commits (+35/-18):
    Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree (+6/-3)
    Btrfs: fix key checks and advance in the search ioctl (+25/-14)
    Btrfs: return keys for large items to the search ioctl (+1/-1)
    Btrfs: allow treeid==0 in the inode lookup ioctl (+3/-0)

Total: (4) commits

 fs/btrfs/ioctl.c |   53 +++++++++++++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 18 deletions(-)

And here is the full log of things missing from Linus' git tree right
now.

Chris Mason (11) commits (+654/-85):
    Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree (+6/-3)
    Btrfs: run the backing dev more often in the submit_bio helper (+10/-10)
    Btrfs: finish read pages in the order they are submitted (+4/-3)
    Btrfs: fix key checks and advance in the search ioctl (+25/-14)
    Btrfs: return keys for large items to the search ioctl (+1/-1)
    Btrfs: allow treeid==0 in the inode lookup ioctl (+3/-0)
    Btrfs: buffer results in the space_info ioctl (+46/-11)
    Btrfs: don't look at bio flags after submit_bio (+3/-3)
    Btrfs: be more selective in the defrag ioctl (+140/-10)
    Btrfs: add search and inode lookup ioctls (+299/-16)
    Btrfs: add new defrag-range ioctl. (+117/-14)

Josef Bacik (10) commits (+517/-160):
    Btrfs: make set/get functions for the super compat_ro flags use compat_ro (+1/-1)
    Btrfs: change the ordered tree to use a spinlock instead of a mutex (+19/-19)
    Btrfs: add ioctl and incompat flag to set the default mount subvol (+80/-1)
    Btrfs: cache the extent state everywhere we possibly can V2 (+148/-90)
    Btrfs: make subvolid=0 mount the original default root (+9/-3)
    Btrfs: make df be a little bit more understandable (+26/-3)
    Btrfs: cache extent state in find_delalloc_range (+8/-3)
    Btrfs: cache ordered extent when completing io (+10/-5)
    Btrfs: change how we mount subvolumes (+158/-34)
    Btrfs: add a "df" ioctl for btrfs (+58/-1)

Sage Weil (3) commits (+7/-10):
    Btrfs: flush data on snapshot creation (+1/-4)
    Btrfs: fix search_ioctl key advance (+1/-1)
    Btrfs: use __u64 types in ioctl.h (+5/-5)

TARUISI Hiroaki (2) commits (+99/-0):
    Btrfs: add a function to lookup a directory path by following backrefs (+92/-0)
    btrfs: Update existing btrfs_device for renaming device (+7/-0)

Xiao Guangrong (1) commits (+3/-3):
    btrfs: using btrfs_stack_device_id() get devid

Akinobu Mita (1) commits (+4/-30):
    btrfs: use memparse

Miao Xie (1) commits (+1/-1):
    btrfs: fix btrfs_mkdir goto for no free objectids

Nick Piggin (1) commits (+1/-1):
    Btrfs: fix gfp flags masking in the compression code

Total: (30) commits

 fs/btrfs/ioctl.c        |  810 +++++++++++++++++++++++++++++++++++++++++++-----
 fs/btrfs/super.c        |  244 ++++++++++----
 fs/btrfs/inode.c        |  139 +++++---
 fs/btrfs/ioctl.h        |  123 ++++++-
 fs/btrfs/extent_io.c    |   79 ++--
 fs/btrfs/ordered-data.c |   41 +-
 fs/btrfs/volumes.c      |   39 +-
 fs/btrfs/file.c         |   23 -
 fs/btrfs/disk-io.c      |   15 
 fs/btrfs/ctree.h        |   13 
 fs/btrfs/extent-tree.c  |   11 
 fs/btrfs/extent_io.h    |   10 
 fs/btrfs/ordered-data.h |    7 
 fs/btrfs/transaction.c  |    5 
 fs/btrfs/btrfs_inode.h  |    5 
 fs/btrfs/relocation.c   |    4 
 fs/btrfs/export.c       |    4 
 fs/btrfs/tree-log.c     |    2 
 fs/btrfs/compression.c  |    2 
 19 files changed, 1286 insertions(+), 290 deletions(-)


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

* Re: [GIT PULL] Btrfs updates
  2010-03-15 19:18 Chris Mason
@ 2010-03-16 21:01 ` Chris Mason
  2010-03-18 16:59   ` Chris Mason
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2010-03-16 21:01 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

On Mon, Mar 15, 2010 at 03:18:07PM -0400, Chris Mason wrote:
> Hello everyone,
> 
> The master branch of the btrfs unstable tree has a collection of fixes
> and features:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

I've updated the master tree with 3 small fixes.  Thanks to Sage for
sending along a one liner for a bad cast in the searching ioctl, really
not sure why my gcc isn't giving the same warnings his was.

I fixed the new space info ioctl to avoid scheduling in a
rcu_read_lock.  Sage also turned u64 to __u64 in the space_info ioctl
args struct.

Here is the corrected shortlog:

Josef Bacik (10) commits (+517/-160):
    Btrfs: make set/get functions for the super compat_ro flags use compat_ro (+1/-1)
    Btrfs: change the ordered tree to use a spinlock instead of a mutex (+19/-19)
    Btrfs: add ioctl and incompat flag to set the default mount subvol (+80/-1)
    Btrfs: cache the extent state everywhere we possibly can V2 (+148/-90)
    Btrfs: make subvolid=0 mount the original default root (+9/-3)
    Btrfs: make df be a little bit more understandable (+26/-3)
    Btrfs: cache extent state in find_delalloc_range (+8/-3)
    Btrfs: cache ordered extent when completing io (+10/-5)
    Btrfs: change how we mount subvolumes (+158/-34)
    Btrfs: add a "df" ioctl for btrfs (+58/-1)

Chris Mason (7) commits (+619/-67):
    Btrfs: run the backing dev more often in the submit_bio helper (+10/-10)
    Btrfs: finish read pages in the order they are submitted (+4/-3)
    Btrfs: buffer results in the space_info ioctl (+46/-11)
    Btrfs: don't look at bio flags after submit_bio (+3/-3)
    Btrfs: be more selective in the defrag ioctl (+140/-10)
    Btrfs: add search and inode lookup ioctls (+299/-16)
    Btrfs: add new defrag-range ioctl. (+117/-14)

Sage Weil (3) commits (+7/-10):
    Btrfs: flush data on snapshot creation (+1/-4)
    Btrfs: fix search_ioctl key advance (+1/-1)
    Btrfs: use __u64 types in ioctl.h (+5/-5)

TARUISI Hiroaki (2) commits (+99/-0):
    Btrfs: add a function to lookup a directory path by following backrefs (+92/-0)
    btrfs: Update existing btrfs_device for renaming device (+7/-0)

Xiao Guangrong (1) commits (+3/-3):
    btrfs: using btrfs_stack_device_id() get devid

Akinobu Mita (1) commits (+4/-30):
    btrfs: use memparse

Miao Xie (1) commits (+1/-1):
    btrfs: fix btrfs_mkdir goto for no free objectids

Nick Piggin (1) commits (+1/-1):
    Btrfs: fix gfp flags masking in the compression code

Total: (26) commits

 fs/btrfs/ioctl.c        |  757 ++++++++++++++++++++++++++++++++++++++++++++----
 fs/btrfs/super.c        |  244 +++++++++++----
 fs/btrfs/inode.c        |  139 +++++---
 fs/btrfs/ioctl.h        |  123 +++++++
 fs/btrfs/extent_io.c    |   79 +++--
 fs/btrfs/ordered-data.c |   41 +-
 fs/btrfs/volumes.c      |   39 +-
 fs/btrfs/file.c         |   23 -
 fs/btrfs/disk-io.c      |   15 
 fs/btrfs/ctree.h        |   13 
 fs/btrfs/extent-tree.c  |   11 
 fs/btrfs/extent_io.h    |   10 
 fs/btrfs/ordered-data.h |    7 
 fs/btrfs/transaction.c  |    5 
 fs/btrfs/btrfs_inode.h  |    5 
 fs/btrfs/relocation.c   |    4 
 fs/btrfs/export.c       |    4 
 fs/btrfs/tree-log.c     |    2 
 fs/btrfs/compression.c  |    2 
 19 files changed, 1251 insertions(+), 272 deletions(-)



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

* [GIT PULL] Btrfs updates
@ 2010-03-15 19:18 Chris Mason
  2010-03-16 21:01 ` Chris Mason
  0 siblings, 1 reply; 47+ messages in thread
From: Chris Mason @ 2010-03-15 19:18 UTC (permalink / raw)
  To: Linus Torvalds, linux-btrfs, linux-kernel

Hello everyone,

The master branch of the btrfs unstable tree has a collection of fixes
and features:

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

If Linus decides this pull is too big/too late, we'll maintain a bug fix
only branch for .34 and keep this branch stable for people that want to
pull in the new features.

One big feature from this code is the ability to change which subvolume
or snapshot is mounted by default.  For a while, we've had mount -o
subvol, which lets you jump into a subvolume instead of using the
default root.  Something like this:

mkfs.btrfs /dev/xxx
mount /dev/xxx /mnt
# did I mention the new 'btrfs' command in btrfs-progs-unstable?
btrfs subvolume create /mnt/new_subvol
umount /mnt
mount -o subvol=new_subvol /dev/xxx /mnt

The new ioctl allows you to set this once and have it used as the new
default for every mount (without any mount options), until you change it
again.  This is part of snapshot assisted upgrades, where you can take a
snapshot and revert back to the old tree if it didn't work out.

But (and this is why I mention it up top), the ioctl also sets an
incompat bit on the super block because we ended up doing it differently
than I had planned in the disk format.  People would end up with a big
surprise if they mounted with 2.6.33 and got one directory tree but
mounted with 2.6.32 and got another, so we flip an incompat bit when the
ioctl is run.

The incompat bit is only set if you run the set-default ioctl.

The btrfs-unstable git tree is against 2.6.32 so you can pull
it into older trees.

The file defragging ioctl had some bugs that could lead to getting stuck
in balance_dirty_pages.  I fixed these up and changed it to only defrag
extents in the file that were actually fragmented.  I added the ability
to compress a single file on demand and defrag only a range of bytes in
the file.

When snapshots are taken, we now wait for all the delayed allocation
extents to hit the disk first.  When I originally made the snapshotting
code, there were many different threads flaming pony fsyncs and I had
this funny idea that people really wanted to run the btrfs sync ioctl
before snapshotting.  At any rate, we have snapshotting ponies now.

There's a new ioctl to list all the subvolumes on the filesystem.  This
makes use of a new interface that runs tree searches from userland,
which we'll build on and use for incremental backups in later
btrfs-progs releases.

Josef changed the math for df a little to better reflect space available
for data, and factors in duplication for raid and single spindle dup.
He also added a space info ioctl which shows how much space is tied up
in metadata, and shows the raid level used for metadata/data.

The short log shows that most of these changes are in the ioctls, but we
have performance fixes in the mix as well, mostly to reduce contention
on the in-ram extent mapping and state trees for each file.

Josef Bacik (10) commits (+517/-160):
    Btrfs: make set/get functions for the super compat_ro flags use compat_ro (+1/-1)
    Btrfs: change the ordered tree to use a spinlock instead of a mutex (+19/-19)
    Btrfs: add ioctl and incompat flag to set the default mount subvol (+80/-1)
    Btrfs: cache the extent state everywhere we possibly can V2 (+148/-90)
    Btrfs: make subvolid=0 mount the original default root (+9/-3)
    Btrfs: make df be a little bit more understandable (+26/-3)
    Btrfs: cache extent state in find_delalloc_range (+8/-3)
    Btrfs: cache ordered extent when completing io (+10/-5)
    Btrfs: change how we mount subvolumes (+158/-34)
    Btrfs: add a "df" ioctl for btrfs (+58/-1)

Chris Mason (6) commits (+573/-56):
    Btrfs: run the backing dev more often in the submit_bio helper (+10/-10)
    Btrfs: finish read pages in the order they are submitted (+4/-3)
    Btrfs: don't look at bio flags after submit_bio (+3/-3)
    Btrfs: be more selective in the defrag ioctl (+140/-10)
    Btrfs: add search and inode lookup ioctls (+299/-16)
    Btrfs: add new defrag-range ioctl. (+117/-14)

TARUISI Hiroaki (2) commits (+99/-0):
    Btrfs: add a function to lookup a directory path by following backrefs (+92/-0)
    btrfs: Update existing btrfs_device for renaming device (+7/-0)

Sage Weil (1) commits (+1/-4):
    Btrfs: flush data on snapshot creation

Xiao Guangrong (1) commits (+3/-3):
    btrfs: using btrfs_stack_device_id() get devid

Akinobu Mita (1) commits (+4/-30):
    btrfs: use memparse

Miao Xie (1) commits (+1/-1):
    btrfs: fix btrfs_mkdir goto for no free objectids

Nick Piggin (1) commits (+1/-1):
    Btrfs: fix gfp flags masking in the compression code

Total: (23) commits

 fs/btrfs/btrfs_inode.h  |    5 
 fs/btrfs/compression.c  |    2 
 fs/btrfs/ctree.h        |   13 
 fs/btrfs/disk-io.c      |   15 -
 fs/btrfs/export.c       |    4 
 fs/btrfs/extent-tree.c  |   11 
 fs/btrfs/extent_io.c    |   79 +++--
 fs/btrfs/extent_io.h    |   10 
 fs/btrfs/file.c         |   23 -
 fs/btrfs/inode.c        |  139 +++++----
 fs/btrfs/ioctl.c        |  698 +++++++++++++++++++++++++++++++++++++++++++++---
 fs/btrfs/ioctl.h        |  113 +++++++
 fs/btrfs/ordered-data.c |   41 +-
 fs/btrfs/ordered-data.h |    7 
 fs/btrfs/relocation.c   |    4 
 fs/btrfs/super.c        |  244 ++++++++++++----
 fs/btrfs/transaction.c  |    5 
 fs/btrfs/tree-log.c     |    2 
 fs/btrfs/volumes.c      |   39 +-
 19 files changed, 1199 insertions(+), 255 deletions(-)

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

* [GIT PULL] Btrfs updates
@ 2009-10-15  0:06 Chris Mason
  0 siblings, 0 replies; 47+ messages in thread
From: Chris Mason @ 2009-10-15  0:06 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel, linux-btrfs

Hello everyone,

The master branch of btrfs-unstable:

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

Has an assortment of bug fixes and performance improvements.  We've
updated the btrfs fsync code to make sure we don't trigger log commits
when the file hasn't changed, and also tuned the log commit writeback.
This makes a pretty big different for rpm and yum.

Also, Christoph Hellwig spent some time testing btrfs discard support
with his qemu code, so I've included his patches to enable that.

Chris Mason (5) commits (+139/-27):
    Btrfs: avoid tree log commit when there are no changes (+71/-16)
    Btrfs: streamline tree-log btree block writeout (+53/-4)
    Btrfs: only write one super copy during fsync (+1/-1)
    Btrfs: always pin metadata in discard mode (+8/-0)
    Btrfs: fix btrfs acl #ifdef checks (+6/-6)

Christoph Hellwig (2) commits (+10/-7):
    Btrfs: enable discard support (+0/-6)
    Btrfs: add -o discard option (+10/-1)

Josef Bacik (1) commits (+24/-3):
    Btrfs: fix possible ENOSPC problems with truncate

Zheng Yan (1) commits (+6/-5):
    Btrfs: properly wait log writers during log sync

Total: (9) commits

 fs/btrfs/acl.c         |    6 +++---
 fs/btrfs/btrfs_inode.h |    6 ++++++
 fs/btrfs/ctree.h       |    4 +++-
 fs/btrfs/disk-io.c     |    2 ++
 fs/btrfs/extent-tree.c |   17 +++++++++++------
 fs/btrfs/file.c        |   41 ++++++++++++++++++++++++++---------------
 fs/btrfs/inode.c       |   33 +++++++++++++++++++++++++++++----
 fs/btrfs/super.c       |    9 +++++++--
 fs/btrfs/transaction.c |   45 ++++++++++++++++++++++++++++++++++++++++++---
 fs/btrfs/transaction.h |    5 +++++
 fs/btrfs/tree-log.c    |   48 +++++++++++++++++++++++++++++++++++++++++-------
 fs/btrfs/tree-log.h    |    3 +++
 fs/btrfs/xattr.c       |    2 +-
 13 files changed, 179 insertions(+), 42 deletions(-)

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

end of thread, other threads:[~2013-05-18 14:30 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-29 16:01 [GIT PULL] Btrfs updates Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2013-05-18 14:30 Chris Mason
2013-03-29 17:47 Chris Mason
2013-03-09  0:38 Chris Mason
2013-02-16  1:55 Chris Mason
2012-12-17 21:44 Chris Mason
2012-07-05 19:55 Chris Mason
2012-06-21 15:47 Chris Mason
2012-06-15 18:09 Chris Mason
2012-06-15 23:57 ` Linus Torvalds
2012-06-16  0:21   ` Chris Mason
2012-06-01 13:18 Chris Mason
2012-04-13 13:38 Chris Mason
2012-03-10  2:01 Chris Mason
2012-02-24 16:41 Chris Mason
2011-12-01 15:39 Chris Mason
2011-08-18 18:04 Chris Mason
2011-07-27 22:46 Chris Mason
2011-06-27 18:15 Chris Mason
2011-06-20  1:12 Chris Mason
2011-06-12 11:57 Chris Mason
2011-06-12 18:08 ` Linus Torvalds
2011-06-13  1:02 ` Andi Kleen
2011-06-13  1:52   ` Chris Mason
2011-06-13  2:05   ` Li Zefan
2011-06-04 14:37 Chris Mason
2011-05-27 19:55 Chris Mason
2011-05-27 21:44 ` Chester
2011-05-15 14:47 Chris Mason
2011-04-26 14:24 Chris Mason
2011-04-18 14:26 Chris Mason
2011-02-15  3:49 Chris Mason
2011-02-07 20:12 Chris Mason
2011-01-17 21:13 Chris Mason
2010-12-14  1:54 Chris Mason
2010-05-27 15:15 Chris Mason
2010-05-27 17:18 ` Linus Torvalds
2010-05-27 17:32   ` Chris Mason
2010-05-27 17:47     ` Linus Torvalds
2010-06-02  2:59 ` Miao Xie
2010-09-12 12:38 ` Felipe Contreras
2010-04-05 19:36 Chris Mason
2010-04-06 15:40 ` Chris Mason
2010-03-15 19:18 Chris Mason
2010-03-16 21:01 ` Chris Mason
2010-03-18 16:59   ` Chris Mason
2009-10-15  0:06 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).