aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Btrfs: disable leak debugging checks in extent_io.cChris Mason2009-02-04
| | | | | | | | | | | | | | | extent_io.c has debugging code to report and free leaked extent_state and extent_buffer objects at rmmod time. This helps track down leaks and it saves you from rebooting just to properly remove the kmem_cache object. But, the code runs under a fairly expensive spinlock and the checks to see if it is currently enabled are not entirely consistent. Some use #ifdef and some #if. This changes everything to #if and disables the leak checking. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: sort references by byte number during btrfs_inc_refChris Mason2009-02-04
| | | | | | | | | | | | When a block goes through cow, we update the reference counts of everything that block points to. The internal pointers of the block can be in just about any order, and it is likely to have clusters of things that are close together and clusters of things that are not. To help reduce the seeks that come with updating all of these reference counts, sort them by byte number before actual updates are done. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: async threads should try harder to find workChris Mason2009-02-04
| | | | | | | | | | | | Tracing shows the delay between when an async thread goes to sleep and when more work is added is often very short. This commit adds a little bit of delay and extra checking to the code right before we schedule out. It allows more work to be added to the worker without requiring notifications from other procs. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: selinux supportJim Owens2009-02-04
| | | | | | | | | | | Add call to LSM security initialization and save resulting security xattr for new inodes. Add xattr support to symlink inode ops. Set inode->i_op for existing special files. Signed-off-by: jim owens <jowens@hp.com>
* Btrfs: make btrfs acls selectableChristian Hesse2009-02-04
| | | | | | | | | | This patch adds a menu entry to kconfig to enable acls for btrfs. This allows you to enable FS_POSIX_ACL at kernel compile time. (updated by Jeff Mahoney to make the changes in fs/btrfs/Kconfig instead) Signed-off-by: Christian Hesse <mail@earthworm.de> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
* Btrfs: Catch missed bios in the async bio submission threadChris Mason2009-02-04
| | | | | | | The async bio submission thread was missing some bios that were added after it had decided there was no work left to do. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Btrfs: fix readdir on 32 bit machinesChris Mason2009-01-28
| | | | | | | | | | | | | | | | | | | | After btrfs_readdir has gone through all the directory items, it sets the directory f_pos to the largest possible int. This way applications that mix readdir with creating new files don't end up in an endless loop finding the new directory items as they go. It was a workaround for a bug in git, but the assumption was that if git could make this looping mistake than it would be a common problem. The largest possible int chosen was INT_LIMIT(typeof(file->f_pos), and it is possible for that to be a larger number than 32 bit glibc expects to come out of readdir. This patches switches that to INT_LIMIT(off_t), which should keep applications happy on 32 and 64 bit machines. Signed-off-by: Chris Mason <chris.mason@oracle.com>
* Merge branch 'master' of ↵Chris Mason2009-01-28
|\ | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable Fix fs/btrfs/super.c conflict around #includes
| * Btrfs: do less aggressive btree readaheadChris Mason2009-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Just before reading a leaf, btrfs scans the node for blocks that are close by and reads them too. It tries to build up a large window of IO looking for blocks that are within a max distance from the top and bottom of the IO window. This patch changes things to just look for blocks within 64k of the target block. It will trigger less IO and make for lower latencies on the read size. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: fiemap supportYehuda Sadeh2009-01-21
| | | | | | | | | | | | | | | | | | Now that bmap support is gone, this is the only way to get extent mappings for userland. These are still not valid for IO, but they can tell us if a file has holes or how much fragmentation there is. Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
| * Btrfs: stop providing a bmap operation to avoid swapfile corruptionsChris Mason2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Swapfiles use bmap to build a list of extents belonging to the file, and they assume these extents won't change over the life of the file. They also use resulting list to do IO directly to the block device. This causes problems for btrfs in a few ways: btrfs returns logical block numbers through bmap, and these are not suitable for IO. They might translate to different devices, raid etc. COW means that file block mappings are going to change frequently. Using swapfiles on btrfs will lead to corruption, so we're avoiding the problem for now by dropping bmap support entirely. A later commit will add fiemap support for people that really want to know how a file is laid out. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: fix tree logs parallel syncYan Zheng2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To improve performance, btrfs_sync_log merges tree log sync requests. But it wrongly merges sync requests for different tree logs. If multiple tree logs are synced at the same time, only one of them actually gets synced. This patch has following changes to fix the bug: Move most tree log related fields in btrfs_fs_info to btrfs_root. This allows merging sync requests separately for each tree log. Don't insert root item into the log root tree immediately after log tree is allocated. Root item for log tree is inserted when log tree get synced for the first time. This allows syncing the log root tree without first syncing all log trees. At tree-log sync, btrfs_sync_log first sync the log tree; then updates corresponding root item in the log root tree; sync the log root tree; then update the super block. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
| * Btrfs: open_ctree() error handling can oops on fs_infoQinghuang Feng2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a bug in open_ctree: struct btrfs_root *open_ctree(..) { .... if (!extent_root || !tree_root || !fs_info || !chunk_root || !dev_root || !csum_root) { err = -ENOMEM; goto fail; //When code flow goes to "fail", fs_info may be NULL or uninitialized. } .... fail: btrfs_close_devices(fs_info->fs_devices);// ! btrfs_mapping_tree_free(&fs_info->mapping_tree);// ! kfree(extent_root); kfree(tree_root); bdi_destroy(&fs_info->bdi);// ! ... ) Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: fix stop searching test in replace_one_extentYan Zheng2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | replace_one_extent searches tree leaves for references to a given extent. It stops searching if it goes beyond the last possible position. The last possible position is computed by adding the starting offset of a found file extent to the full size of the extent. The code uses physical size of the extent as the full size. This is incorrect when compression is used. The fix is get the full size from ram_bytes field of file extent item. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
| * Btrfs: change/remove typedefJan Engelhardt2009-01-21
| | | | | | | | | | | | | | | | Change one typedef to a regular enum, and remove an unused one. Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: remove duplicated #includeHuang Weiyi2009-01-21
| | | | | | | | | | | | | | | | | | Removed duplicated #include "compat.h"in fs/btrfs/extent-tree.c Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: Fix infinite loop in btrfs_extent_post_opYan Zheng2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btrfs_extent_post_op calls finish_current_insert and del_pending_extents. They both may enter infinite loops. finish_current_insert enters infinite loop if it only finds some backrefs to update. The fix is to check for pending backref updates before restarting the loop. The infinite loop in del_pending_extents is due to a the skipped variable not being properly reset before looping around. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
| * Btrfs: fix locking issue in btrfs_remove_block_groupYan Zheng2009-01-21
| | | | | | | | | | | | | | | | We should hold the block_group_cache_lock while modifying the block groups red-black tree. Thank you, Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
| * Btrfs: simplify iteration codesQinghuang Feng2009-01-21
| | | | | | | | | | | | | | | | Merge list_for_each* and list_entry to list_for_each_entry* Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: check return value for kthread_run() correctlyQinghuang Feng2009-01-21
| | | | | | | | | | | | | | | | kthread_run() returns the kthread or ERR_PTR(-ENOMEM), not NULL. Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: Remove extra KERN_INFO in the middle of a lineRoland Dreier2009-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "devid <xxx> transid <xxx>" printk in btrfs_scan_one_device() actually follows another printk that doesn't end in a newline (since the intention is for the two printks to make one line of output), so the KERN_INFO just ends up messing up the output: device label exp <6>devid 1 transid 9 /dev/sda5 Fix this by changing the extra KERN_INFO to KERN_CONT. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: removed unused #include <version.h>'sHuang Weiyi2009-01-21
| | | | | | | | | | | | | | | | Removed unused #include <version.h>'s in btrfs Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: cleanup xattr codeJosef Bacik2009-01-21
| | | | | | | | | | | | | | | | | | | | Andrew's review of the xattr code revealed some minor issues that this patch addresses. Just an error return fix, got rid of a useless statement and commented one of the trickier parts of __btrfs_getxattr. Signed-off-by: Josef Bacik <jbacik@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: MAINTAINERS entryJoe Perches2009-01-21
| | | | | | | | | | Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * Btrfs: cleanup fs/btrfs/super.c::btrfs_control_ioctl()Wang Cong2009-01-21
| | | | | | | | | | | | | | | | | | - Remove the unused local variable 'len'; - Check return value of kmalloc(). Signed-off-by: Wang Cong <wangcong@zeuux.org> Signed-off-by: Chris Mason <chris.mason@oracle.com>
* | Linux 2.6.29-rc3v2.6.29-rc3Linus Torvalds2009-01-28
| |
* | Merge branch 'merge' of ↵Linus Torvalds2009-01-28
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code powerpc/pseries: Correct VIO bus accounting problem in CMO env. powerpc: More printing warning fixes for the l64 to ll64 conversion powerpc: Remove arch/ppc cruft from Kconfig powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c powerpc/embedded6xx: Update defconfigs powerpc/8xx: Update defconfigs powerpc/86xx: Update defconfigs powerpc/83xx: Update defconfigs powerpc/85xx: Update defconfigs powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed powerpc/4xx: Update multi-board PowerPC 4xx defconfigs powerpc/44x: Update PowerPC 44x defconfigs powerpc/40x: Update PowerPC 40x defconfigs powerpc/85xx: Fix typo in mpc8572ds dts powerpc/44x: Warp patches for the new NDFC driver powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info
| * | powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup codeGerhard Pircher2009-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL. Thus it has to be masked out, if the BAT mapping should be non cacheable or CPU_FTR_NEED_COHERENT is not set. This will work on normal SMP setups because we force-set CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP. Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| * | powerpc/pseries: Correct VIO bus accounting problem in CMO env.Robert Jennings2009-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the VIO bus code the wrappers for dma alloc_coherent and free_coherent calls are rounding to IOMMU_PAGE_SIZE. Taking a look at the underlying calls, the actual mapping is promoted to PAGE_SIZE. Changing the rounding in these two functions fixes under-reporting the entitlement used by the system. Without this change, the system could run out of entitlement before it believes it has and incur mapping failures at the firmware level. Also in the VIO bus code, the wrapper for dma map_sg is not exiting in an error path where it should. Rather than fall through to code for the success case, this patch adds the return that is needed in the error path. Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| * | powerpc: More printing warning fixes for the l64 to ll64 conversionStephen Rothwell2009-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are all powerpc specific drivers. res.start in fsl_elbc_nand.c needs to be cast since it may be either 32 or 64 bit. Thanks to Scott Wood for noticing. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Arnd Bergmann <arnd@arndb.de> call_edac bits in particular Acked-by: Olof Johansson <olof@lixom.net> pasemi_nand peices Acked-by: Scott Wood <scottwood@freescale.com> fsl_elbc fixes Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| * | powerpc: Remove arch/ppc cruft from KconfigJosh Boyer2009-01-28
| | | | | | | | | | | | | | | | | | | | | | | | Remove some leftover cruft from the arch/ppc days Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| * | powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.cStephen Rothwell2009-01-28
| | | | | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| * | Merge commit 'jwb/jwb-merge' into mergeBenjamin Herrenschmidt2009-01-28
| |\ \ | | | | | | | | | | | | | | | | Manual merge of: arch/powerpc/configs/44x/warp_defconfig
| | * | powerpc/4xx: Update multi-board PowerPC 4xx defconfigsJosh Boyer2009-01-23
| | | | | | | | | | | | | | | | | | | | | | | | Update the multi-board configs for 2.6.29-rc2 Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | powerpc/44x: Update PowerPC 44x defconfigsJosh Boyer2009-01-23
| | | | | | | | | | | | | | | | | | | | | | | | Update the 44x defconfigs for 2.6.29-rc2 Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | powerpc/40x: Update PowerPC 40x defconfigsJosh Boyer2009-01-20
| | | | | | | | | | | | | | | | | | | | | | | | Update the 40x defconfigs for 2.6.29-rc2 Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | powerpc/44x: Warp patches for the new NDFC driverSean MacLennan2009-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert the Warp platform to use the newly merged NDFC driver - warp.dts changed to work with ndfc - warp-nand.c no longer needed - removed obsolete rev A support from cuboot-warp.c Signed-off-by: Sean MacLennan <smaclennan@pikatech.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt InfoGrant Erickson2009-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added additional information for type and compatibility strings and interrupt information to the SDRAM0 memory-controller device tree nodes for AMCC PowerPC 405EX[r]-based boards to facilitate binding with the new "ibm,sdram-4xx-ddr2" EDAC memory controller adapter driver. Signed-off-by: Grant Erickson <gerickson@nuovations.com> Acked-by: Stefan Roese <sr@denx.de> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| * | | Merge commit 'kumar/kumar-merge' into mergeBenjamin Herrenschmidt2009-01-28
| |\ \ \
| | * | | powerpc/embedded6xx: Update defconfigsKumar Gala2009-01-26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/8xx: Update defconfigsKumar Gala2009-01-26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/86xx: Update defconfigsKumar Gala2009-01-26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/83xx: Update defconfigsKumar Gala2009-01-26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/85xx: Update defconfigsKumar Gala2009-01-26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/mpc8313erdb: fix kernel panic because mdio device is not probedLi Yang2009-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probe the new mdio node added by b31a1d8b. Fix kernel panic problem when gianfar driver wants to get the of_platform_device of that mdio. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | powerpc/85xx: Fix typo in mpc8572ds dtsKumar Gala2009-01-20
| | |/ / | | | | | | | | | | | | | | | | | | | | The localbus node flash had a minor typo for a read-only property. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | | Merge branch 'for-linus' of ↵Linus Torvalds2009-01-28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: fix 5329 ColdFire periphal addressing uclinux: add process name to allocation error message m68knommu: correct the mii calculations for 532x ColdFire FEC m68knommu: add ColdFire M532x to the FEC configuration options m68knommu: fix syscall restarting m68knommu: remove the obsolete and long unused comempci chip support m68knommu: remove the no longer used PCI support option m68knommu: remove obsolete and unused eLIA board m68knommu: set NO_DMA m68knommu: fix cache flushing for the 527x ColdFire processors m68knommu: fix ColdFire 5272 serial baud rates in mcf.c m68knommu: use one exist from execption
| * | | | m68knommu: fix 5329 ColdFire periphal addressingMatt Waddel2009-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 5329 ColdFire peripheral IO register addresses are not relative to the MBAR register. So fix the serial platform setup array and IRQ acking to use just the direct addresses. Signed-off-by: Matt Waddel <Matt.Waddel@freescale.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * | | | uclinux: add process name to allocation error messageGreg Ungerer2009-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the name of the process to the bad allocation error message on non-MMU systems. Changed suggested by jsujjavanich@syntech-fuelmaster.com Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * | | | m68knommu: correct the mii calculations for 532x ColdFire FECMatt Waddel2009-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matt Waddel <Matt.Waddel@freescale.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>