Yan
65555a06b4
Btrfs: Off by one fixes in extent_map.c
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
f578d4bd7e
Btrfs: Optimize csum insertion to create larger items when possible
...
This reduces the number of calls to btrfs_extend_item and greatly lowers
the cpu usage while writing large files.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
5ee78ac70f
Btrfs: Fix split_leaf to avoid incorrect double splits
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
ff190c0c00
Btrfs: Avoid recursive KM_USER1 mappings in copy_extent_buffer
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
3685f79165
Btrfs: CPU usage optimizations in push and the extent_map code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
59d169e2b3
Btrfs: Fix read/write_extent_buffer to use KM_USER1 instead of KM_USER0
...
This avoids recursive use of KM_USER0 during btrfs_file_write
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Jens Axboe
b4a2a0edfd
Btrfs: sysfs compile fixup
...
Just use kobject_set_name(), that works in all kernels (I think...).
Kernels newer than 2.6.23 currently fail with:
/home/axboe/git/btrfs/btrfs-unstable/sysfs.c:188: error: unknown field
'name' specified in initializer
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Jens Axboe
bbf0d0062d
Btrfs: KM_IRQ0 usage in end_io handling
...
endio handling is typically called with interrupts disabled, but can
also be called with it enabled. So save interrupts before using KM_IRQ0
to be completely safe.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Jens Axboe
0a2118dfd4
Btrfs: Fix bi_end_io() functions on > 2.6.23 kernels
...
It now returns void and it is never called for partial completions, so
the bio->bi_size check must go.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Jens Axboe
ae2f5411c4
btrfs: 32-bit type problems
...
An assorted set of casts to get rid of the warnings on 32-bit archs.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Yan Zheng
44b36eb20b
Btrfs: Properly setup root key while reading the root
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
6d7231f7d3
Btrfs: Fix typo: owner is a 64 bit field
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
7936ca3883
Btrfs: Default to 8k max packed tails
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
a6b6e75e09
Btrfs: Defrag only leaves, and only when the parent node has a single objectid
...
This allows us to defrag huge directories, but skip the expensive defrag
case in more common usage, where it does not help as much.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
ff79f8190b
Btrfs: Add back file data checksumming
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:57 -04:00
Chris Mason
cf786e79e3
Btrfs: Defrag: only walk into nodes with the defrag bit set
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
304fced668
Btrfs: balance_dirty_pages_ratelimited is causing problems, use nr == 1 always
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
0f1ebbd159
Btrfs: Large block related defrag optimizations
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
19c00ddcc3
Btrfs: Add back metadata checksumming
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
0f82731fc5
Breakout BTRFS_SETGET_FUNCS into a separate C file, the inlines were too big.
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
810191ff30
Btrfs: extent_map optimizations to cut down on CPU usage
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
3326d1b07c
Btrfs: Allow tails larger than one page
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
4dc119046d
Btrfs: Add an extent buffer LRU to reduce radix tree hits
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
e19caa5f0e
Btrfs: Fix allocation routines to avoid intermixing data and metadata allocations
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
6b80053d02
Btrfs: Add back the online defragging code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
09e71a3263
Btrfs: Use an array of pages in the extent buffers to reduce the cost of find_get_page
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
14048ed0c4
Btrfs: Cache extent buffer mappings
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
db94535db7
Btrfs: Allow tree blocks larger than the page size
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
1a5bc167f6
Btrfs: Change the remaining radix trees used by extent-tree.c to extent_map trees
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
96b5179d0d
Btrfs: Stop using radix trees for the block group cache
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
f510cfecfc
Btrfs: Fix extent_buffer and extent_state leaks
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
ae5252bd51
Btrfs: Go back to kmaps instead of page_address in extent_buffers
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
6d36dcd48f
Btrfs: Avoid memcpy where possible in extent_buffers
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
479965d66e
Btrfs: Optimizations for the extent_buffer code
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
5f39d397df
Btrfs: Create extent_buffer interface for large blocksizes
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
50b78c24d5
btrfs_get_extent should treat inline extents as though they hold a whole block
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Christoph Hellwig
b3cfa35a49
Btrfs: factor page private preparations into a helper
...
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Yan
8e1cd76664
Btrfs: Fix double free and off by one in inode.c
...
The first change removes potential double free, the second fix a off
by one error.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Yan
bab9fb035f
Btrfs: truncate: don't update inode->i_blocks when extent is a hole
...
I think check whether extent is a hole before update 'inode->i_blocks'
is unconditional required. (original codes check it only when
del_item isn't equal to 0)
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Yan
23223584e4
create btrfs_path slab with the correct size
...
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Yan
a61721d5b7
fix found_type decrement in btrfs_truncate_in_trans
...
found_type has already been decreased by codes above the change, I
think decrease it by one again doesn't make sense.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
cf67582bb2
Btrfs: Fix duplicate ENOSPC checks in find_free_extent
...
find_free_extent would fail to wrap around to the start of the drive because
it was doing the enospc case checking twice in some cases, causing it
to return -ENOSPC early.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:03:56 -04:00
Chris Mason
d3c2fdcf7b
Btrfs: Use balance_dirty_pages_nr on btree blocks
...
btrfs_btree_balance_dirty is changed to pass the number of pages dirtied
for more accurate dirty throttling. This lets the VM make better decisions
about when to force some writeback.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:00:48 -04:00
Linus Torvalds
72d31053f6
Linux 2.6.27-rc7
2008-09-21 15:29:55 -07:00
Linus Torvalds
d541b22abd
Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
...
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
hwmon: (ad7414) Make ad7414_update_device() static
hwmon: (it87) Fix fan tachometer reading in IT8712F rev 0x7 (I)
hwmon: (atxp1) Fix device detection logic
2008-09-21 12:41:19 -07:00
Linus Torvalds
6f21d806f6
Merge branch 'kvm-updates/2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm
...
* 'kvm-updates/2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: ia64: 'struct fdesc' build fix
2008-09-21 12:40:56 -07:00
Linus Torvalds
e59e14b660
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
...
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] vmlinux.lds.S: handle .text.*
[MIPS] Fix potential latency problem due to non-atomic cpu_wait.
[MIPS] SMTC: Clear TIF_FPUBOUND on clone / fork.
[MIPS] Fix 64-bit IP checksum code
2008-09-21 12:40:30 -07:00
Linus Torvalds
5c0a95c73f
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
...
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
mmc_test: initialize mmc_test_lock statically
mmc_block: handle error from mmc_register_driver()
atmel-mci: Set MMC_CAP_NEEDS_POLL if no detect_pin
atmel-mci: Fix bogus debugfs file size
atmel-mci: Fix memory leak in atmci_regs_show
atmel-mci: debugfs: enable clock before dumping regs
tmio_mmc: fix compilation with debug enabled
2008-09-21 12:38:45 -07:00
Jean Delvare
baaea1dc0b
MAINTAINERS: Various fixes
...
* Normalize some S: entries to match the enumeration at the beginning
of the file.
* Change one mailing list entry from S: to L:.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-09-21 12:38:22 -07:00
Jean Delvare
795fb7e74d
MAINTAINERS: Trivial whitespace cleanups
...
* Drop trailing whitespace.
* Replace spaces and combinations of spaces and tabs by single tabs.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-09-21 12:38:22 -07:00