summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ARM: OMAP2+: UART: Cleanup part of clock gating mechanism for uartGovindraj.R2011-12-154-119/+2
| | | | | | | | | | | | | | | | | | | | | | Currently we use a shared irq handler to identify uart activity and then trigger a timer. By default the timeout value is zero and can be set or modified from sysfs. If there was no uart activity for the period set through sysfs, the timer will expire and call timer handler this will set a flag can_sleep using which decision to gate uart clocks can be taken. Since the clock gating mechanism is outside the uart driver, we currently use this mechanism. In preparation to runtime implementation for omap-serial driver we can cleanup this mechanism and use runtime API's to gate uart clocks. Removes the following: * timer related info from local uart_state struct * the code used to set timeout value from sysfs. * irqflags used to set shared irq handler. * un-used function omap_uart_check_wakeup. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes) Signed-off-by: Kevin Hilman <khilman@ti.com>
* ARM: OMAP2+: UART: cleanup 8250 console driver supportGovindraj.R2011-12-151-97/+0
| | | | | | | | | | | | | | | | | | | | | | | | | We had been using traditional 8250 driver as uart console driver prior to omap-serial driver. Since we have omap-serial driver in mainline kernel for some time now it has been used as default uart console driver on omap2+ platforms. Remove 8250 support for omap-uarts. Serial_in and serial_out override for 8250 serial driver is also removed. Empty fifo read fix is already taken care with omap-serial driver with data ready bit check from LSR reg before reading RX fifo. Also waiting for THRE(transmit hold reg empty) is done with wait_for_xmitr in omap-serial driver. Serial_in/out overrides are not neceesary for omap-serial driver and things that are taken with omap-serial driver are removed here. Remove headers that were necessary to support 8250 support and remove all config bindings done to keep 8250 backward compatibility while adding omap-serial driver. Remove omap_uart_reset needed for 8250 autoconf. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
* ARM: OMAP2+: UART: cleanup + remove uart pm specific APIGovindraj.R2011-12-154-119/+0
| | | | | | | | | | | | | | | | | | | | | | In preparation to UART runtime conversion remove uart specific calls from pm24xx/34xx files and their definition from serial.c These func calls will no more be used with upcoming uart runtime design. 1.) omap_uart_prepare_suspend :- can be taken care with driver suspend hooks. 2.) omap_uart_enable_irqs :- Used to enable/disable uart irq's in suspend path from PM code, this is removed as same is handled by uart_suspend_port/uart_resume_port in omap-serial driver which will do an port_shutdown on suspend freeing irq and port_startup on resume enabling back irq. 3.) Remove prepare_idle/resume_idle calls used to gate uart clocks. UART clocks can be gated within driver using runtime funcs and be woken up using irq_chaining from omap_prm driver. 4.) Remove console_locking from idle path as clock gating is done withing driver itself with runtime API. Remove is_suspending check used to acquire console_lock. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
* ARM: OMAP: TI814X: Add cpu type macros and detection supportHemant Pedanekar2011-12-134-0/+33
| | | | | | | | This patch adds cpu type, macros for identification of TI814X device. Signed-off-by: Hemant Pedanekar <hemantp@ti.com> [tony@atomide.com: left out CK_TI814X for now] Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: TI81XX: Prepare for addition of TI814X supportHemant Pedanekar2011-12-1316-76/+90
| | | | | | | | | | | | | | | | | This patch updates existing macros, functions used for TI816X, to enable addition of other SoCs belonging to TI81XX family (e.g., TI814X). The approach taken is to use TI81XX/ti81xx for code/data going to be common across all TI81XX devices. cpu_is_ti81xx() is introduced to handle code common across TI81XX devices. In addition, ti8168_evm_map_io() is now replaced with ti81xx_map_io() and moved in mach-omap2/common.c as same will be used for TI814X and is not board specific. Signed-off-by: Hemant Pedanekar <hemantp@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: ID: Chip detection for OMAP4470Leonid Iziumtsev2011-12-132-1/+17
| | | | | | | | | | Add support for detection of the next chip in the OMAP4 family: OMAP4470 ES1.0 For more details on OMAP4470, visit: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12869&contentId=123362 Signed-off-by: Leonid Iziumtsev <x0153368@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: id: add chip id recognition for omap4430 es2.3David Anders2011-12-132-2/+6
| | | | | | | | | | | | | | | allow for the omap4430 es2.3 revision to be recognized in the omap4_check_revision() function. most aspects of all omap4430 es2.x versions are identical, however a number of small variations such as default pullup or pulldown resistor configurations vary between revisions. detailed information on silicon errata for omap4430 revisions can be found at http://focus.ti.com/pdfs/wtbu/swpz009D.pdf Signed-off-by: David Anders <x0132446@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: am33xx: Update common OMAP machine specific sourcesAfzal Mohammed2011-12-1311-3/+105
| | | | | | | | | | | | | This patch updates the common machine specific source files for support for AM33XX/AM335x with cpu type, macros for identification of AM33XX/AM335X device. Signed-off-by: Afzal Mohammed <afzal@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Tested-by: Kevin Hilman <khilman@ti.com> [tony@atomide.com: updated for map_io and common.h changes, dropped CK_AM33XX] Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: am33xx: Update common omap platform filesAfzal Mohammed2011-12-136-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the common platform files with AM335X device support (AM33XX family). The approach taken in this patch is, AM33XX device will be considered as OMAP3 variant, and a separate SoC class created for AM33XX family of devices with a subclass type for AM335X device, which is newly added device in the family. This means, cpu_is_omap34xx(), cpu_is_am33xx() and cpu_is_am335x() checks will return success on AM335X device. A kernel config option CONFIG_SOC_OMAPAM33XX is added under OMAP3 to include support for AM33XX build. Also, cpu_mask and RATE_IN_XXX flags have crossed 8 bit hence struct clksel_rate.flags, struct prcm_config.flags and cpu_mask are changed to u16 from u8. Signed-off-by: Afzal Mohammed <afzal@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Cc: Hemant Pedanekar <hemantp@ti.com> [tony@atomide.com: left out CK_AM33XX for now] Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: 7194/1: OMAP: Fix build after a merge between v3.2-rc4 and ARM restart ↵Tony Lindgren2011-12-061-1/+2
| | | | | | | | | | | changes ARM restart changes needed changes to common.h to make it local. This conflicted with v3.2-rc4 DSS related hwmod changes that git mergetool was not able to handle. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: 7192/1: OMAP: Fix build error for omap1_defconfigTony Lindgren2011-12-061-0/+1
| | | | | | | | | | | Otherwise we get the following error: In function 'omap_init_consistent_dma_size': error: implicit declaration of function 'init_consistent_dma_size' Signed-off-by: Tony Lindgren <tony@atomide.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'vmalloc' of git://git.linaro.org/people/nico/linux into ↵Russell King2011-12-0696-1406/+179
|\ | | | | | | devel-stable
| * ARM: move VMALLOC_END down temporarily for shmobileNicolas Pitre2011-11-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | THIS IS A TEMPORARY HACK. The purpose of this is _only_ to avoid a regression on an existing machine while a better fix is implemented. On shmobile the consistent DMA memory area was set to 158MB in commit 28f0721a79 with no explanation. The documented size for this area should vary between 2MB and 14MB, and none of the other ARM targets exceed that. The included #warning is therefore meant to be noisy on purpose to get shmobile maintainers attention and this commit reverted once this consistent DMA size conflict is resolved. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Cc: Magnus Damm <damm@opensource.se> Cc: Paul Mundt <lethal@linux-sh.org>
| * ARM: big removal of now unused vmalloc.h filesNicolas Pitre2011-11-2759-866/+0
| | | | | | | | Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: add generic ioremap optimization by reusing static mappingsNicolas Pitre2011-11-273-25/+64
| | | | | | | | | | | | | | | | | | | | | | | | Now that we have all the static mappings from iotable_init() located in the vmalloc area, it is trivial to optimize ioremap by reusing those static mappings when the requested physical area fits in one of them, and so in a generic way for all platforms. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Kevin Hilman <khilman@ti.com> Tested-by: Jamie Iles <jamie@jamieiles.com>
| * ARM: simplify __iounmap() when dealing with section based mappingNicolas Pitre2011-11-271-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, there is no need to have a double pointer here as we're only walking the vmlist and not modifying it. Secondly, for the same reason, we don't need a write lock but only a read lock here, since the lock only protects the coherency of the list nothing else. Lastly, the reason for holding a lock is not what the comment says, so let's remove that misleading piece of information. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: move iotable mappings within the vmalloc regionNicolas Pitre2011-11-273-27/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to remove the build time variation between different SOCs with regards to VMALLOC_END, the iotable mappings are now allocated inside the vmalloc region. This allows for VMALLOC_END to be identical across all machines. The value for VMALLOC_END is now set to 0xff000000 which is right where the consistent DMA area starts. To accommodate all static mappings on machines with possible highmem usage, the default vmalloc area size is changed to 240 MB so that VMALLOC_START is no higher than 0xf0000000 by default. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Kevin Hilman <khilman@ti.com> Tested-by: Jamie Iles <jamie@jamieiles.com>
| * mm: add vm_area_add_early()Nicolas Pitre2011-11-182-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing vm_area_register_early() allows for early vmalloc space allocation. However upcoming cleanups in the ARM architecture require that some fixed locations in the vmalloc area be reserved also very early. The name "vm_area_register_early" would have been a good name for the reservation part without the allocation. Since it is already in use with different semantics, let's create vm_area_add_early() instead. Both vm_area_register_early() and vm_area_add_early() can be used together meaning that the former is now implemented using the later where it is ensured that no conflicting areas are added, but no attempt is made to make the allocation scheme in vm_area_register_early() more sophisticated. After all, you must know what you're doing when using those functions. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Andrew Morton <akpm@linux-foundation.org> Cc: linux-mm@kvack.org
| * ARM: move initialization of the high_memory variable earlierNicolas Pitre2011-11-183-2/+3
| | | | | | | | | | | | | | | | | | | | | | Some upcoming changes must know the VMALLOC_START value, which is based on high_memory, before bootmem_init() is called. The best location to set it is in sanity_check_meminfo() where the needed computation is already done, and in the non MMU case it is trivial to do now that the meminfo array is already sorted at that point. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: sort the meminfo array earlierNicolas Pitre2011-11-182-30/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | The meminfo array has to be sorted before sanity_check_meminfo() in arch/arm/mm/mmu.c is called for it to work properly. This also allows for a simpler find_limits() in arch/arm/mm/init.c. The sort is moved to arch/arm/kernel/setup.c because that's where the meminfo array is populated. Eventually this should be improved upon to make the memory bank parser a bit more robust against problems such as overlapping memory ranges. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: realview-eb11mp: fix map_desc alignmentRob Herring2011-11-181-2/+2
| | | | | | | | | | | | | | | | | | REALVIEW_EB11MP_GIC_CPU_BASE is not 4KB aligned which causes an overlapping mapping. Use REALVIEW_EB11MP_SCU_BASE instead which is aligned. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: realview: fix map_desc alignmentRob Herring2011-11-181-2/+2
| | | | | | | | | | | | | | | | | | REALVIEW_PBX_TILE_GIC_CPU_BASE is not 4KB aligned which causes an overlapping mapping. Use REALVIEW_PBX_TILE_SCU_BASE instead which is aligned. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: versatile: remove overlapping map_desc entryRob Herring2011-11-181-5/+0
| | | | | | | | | | | | | | | | The map_desc for VERSATILE_GPIO0_BASE overlaps with VERSATILE_SCTL_BASE. The overlapping entry can be removed. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: plat-iop: remove arch specific special handling for ioremapNicolas Pitre2011-11-184-75/+0
| | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: mach-ixp23xx: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-29/+0
| | | | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Reviewed-by: Deepak Saxena <dsaxena@linaro.org>
| * ARM: mach-kirkwood: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-25/+0
| | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: mach-orion5x: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-25/+0
| | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: mach-bcmring: use proper constant to identify DMA memory areaNicolas Pitre2011-11-181-1/+1
| | | | | | | | | | | | | | Using VMALLOC_END implies a presumption about the layout which is best avoided, even if in practice this would not change much. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: plat-omap: remove arch specific special handling for ioremapNicolas Pitre2011-11-186-170/+8
| | | | | | | | | | | | | | | | | | | | A generic version should replace this later. As io.c has become nearly empty, omap_init_consistent_dma_size() is moved into common.c so that io.c can be removed entirely. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Kevin Hilman <khilman@ti.com>
| * ARM: mach-tegra: remove arch specific special handling for ioremapNicolas Pitre2011-11-172-27/+0
| | | | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
| * ARM: mach-davinci: remove arch specific special handling for ioremapNicolas Pitre2011-11-163-57/+1
| | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: mach-at91: remove arch specific special handling for ioremapNicolas Pitre2011-11-162-26/+0
| | | | | | | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: plat-mxc: remove inclusion of <mach/vmalloc.h>Nicolas Pitre2011-11-161-2/+0
| | | | | | | | Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
| * ARM: mach-prima2: don't define SIRFSOC_VA in terms of VMALLOC_ENDNicolas Pitre2011-11-161-2/+4
| | | | | | | | | | | | | | ... since it is going to change. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Barry Song <baohua.song@csr.com>
| * ARM: mach-dove: remove inclusion of <mach/vmalloc.h>Nicolas Pitre2011-11-161-2/+0
| | | | | | | | | | | | This include is unnecessary. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* | Merge branch 'for-rmk' of ↵Russell King2011-12-06679-5343/+7356
|\ \ | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable Conflicts: arch/arm/common/gic.c arch/arm/plat-omap/include/plat/common.h
| | \
| | \
| *-. \ Merge branches 'perf/event-nos', 'perf/updates' and 'perf/omap4' into for-rmkWill Deacon2011-12-024-16/+200
| |\ \ \
| | | * | arm: pmu: allow platform specific irq enable/disable handlingMing Lei2011-12-022-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces .enable_irq and .disable_irq into struct arm_pmu_platdata, so platform specific irq enablement can be handled after request_irq, and platform specific irq disablement can be handled before free_irq. This patch is for support of pmu irq routed from CTI on omap4. Acked-by: Jean Pihet <j-pihet@ti.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
| | | * | arm: introduce cross trigger interface helpersMing Lei2011-12-021-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP4 uses cross trigger interface(CTI) to route performance monitor irq to GIC, so introduce cti helpers to make access for cti easily. Acked-by: Jean Pihet <j-pihet@ti.com> Signed-off-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
| | * | | ARM: perf: remove unused armpmu_get_max_eventsWill Deacon2011-12-022-11/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | armpmu_get_max_events is only called from perf_num_counters, so we can inline it there. It existed as a separate entity as a hangover from the original perf-based oprofile implementation. Signed-off-by: Will Deacon <will.deacon@arm.com>
| * | | ARM: perf: add support for stalled cycle ABI eventsWill Deacon2011-12-023-49/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 8f622422 ("perf events: Add generic front-end and back-end stalled cycle event definitions") added two new ABI events for counting stalled cycles. This patch adds support for these new events to the ARM perf implementation. Cc: Jamie Iles <jamie@jamieiles.com> Cc: Jean Pihet <j-pihet@ti.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
| * | | ARM: perf: clean and update ARMv7 event numbersWill Deacon2011-12-021-233/+125
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the ARMv7 perf event numbers so that: (1) A consistent naming scheme is used between different CPUs. (2) Only events actually used by Linux are described. (3) Where possible, architected events are used in preference to CPU-specific events. This results in the removal of a load of unused, hardcoded data and makes it more clear as to which events are supported on each PMU. Cc: Jean Pihet <j-pihet@ti.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
| * | Linux 3.2-rc4v3.2-rc4Linus Torvalds2011-12-011-1/+1
| | |
| * | Merge branch 'upstream-linus' of ↵Linus Torvalds2011-12-0131-536/+995
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits) ocfs2: avoid unaligned access to dqc_bitmap ocfs2: Use filemap_write_and_wait() instead of write_inode_now() ocfs2: honor O_(D)SYNC flag in fallocate ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2 ocfs2: send correct UUID to cleancache initialization ocfs2: Commit transactions in error cases -v2 ocfs2: make direntry invalid when deleting it fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free ocfs2: Avoid livelock in ocfs2_readpage() ocfs2: serialize unaligned aio ocfs2: Implement llseek() ocfs2: Fix ocfs2_page_mkwrite() ocfs2: Add comment about orphan scanning ocfs2: Clean up messages in the fs ocfs2/cluster: Cluster up now includes network connections too ocfs2/cluster: Add new function o2net_fill_node_map() ocfs2/cluster: Fix output in file elapsed_time_in_ms ocfs2/dlm: dlmlock_remote() needs to account for remastery ocfs2/dlm: Take inflight reference count for remotely mastered resources too ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery() ...
| | * | ocfs2: avoid unaligned access to dqc_bitmapAkinobu Mita2011-12-012-5/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned, but not 64-bit aligned. The dqc_bitmap is accessed by ocfs2_set_bit(), ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit(). These are wrapper macros for ext2_*_bit() which need to take an unsigned long aligned address (though some architectures are able to handle unaligned address correctly) So some 64bit architectures may not be able to access the dqc_bitmap correctly. This avoids such unaligned access by using another wrapper functions for ext2_*_bit(). The code is taken from fs/ext4/mballoc.c which also need to handle unaligned bitmap access. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Joel Becker <jlbec@evilplan.org> Cc: Mark Fasheh <mfasheh@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Joel Becker <jlbec@evilplan.org>
| | * | ocfs2: Use filemap_write_and_wait() instead of write_inode_now()Jan Kara2011-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since ocfs2 has no ->write_inode method, there's no point in calling write_inode_now() from ocfs2_cleanup_delete_inode(). Use filemap_write_and_wait() instead. This helps us to cleanup inode writing interfaces... Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Joel Becker <jlbec@evilplan.org>
| | * | ocfs2: honor O_(D)SYNC flag in fallocateMark Fasheh2011-11-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to sync the transaction which updates i_size if the file is marked as needing sync semantics. Signed-off-by: Mark Fasheh <mfasheh@suse.de> Signed-off-by: Joel Becker <jlbec@evilplan.org>
| | * | ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2Xiaowei.Hu2011-11-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With indexed_dir enabled, ocfs2 maintains a list of dirblocks having space. The credit calculation in ocfs2_link_credits() did not correctly account for adding an entry that exactly fills a dirblock that triggers removing that dirblock by changing the pointer in the previous block in the list. The credit calculation did not account for that previous block. To expose, do: mkfs.ocfs2 -b 512 -M local /dev/sdX mount /dev/sdX /ocfs2 mkdir /ocfs2/linkdir touch /ocfs2/linkdir/file1 for i in `seq 1 29` ; do link /ocfs2/linkdir/file1 /ocfs2/linkdir/linklinklinklinklinklink$i; done rm -f /ocfs2/linkdir/linklinklinklinklinklink10 sleep 8 link /ocfs2/linkdir/file1 /ocfs2/linkdir/linklinklinklinklinklinkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Note: The link names have been crafted for a 512 byte blocksize. Reproducing with a larger blocksize will require longer (or more) links. The sleep is important. We want jbd2 to commit the transaction so that the missing block does not piggy back on account of the previous transaction. Signed-off-by: XiaoweiHu <xiaowei.hu at oracle.com> Reviewed-by: WengangWang <wen.gang.wang at oracle.com> Reviewed-by: Sunil.Mushran <sunil.mushran at oracle.com> Signed-off-by: Joel Becker <jlbec@evilplan.org>
| | * | ocfs2: send correct UUID to cleancache initializationDan Magenheimer2011-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ocfs2: Fix cleancache initialization call to correctly pass uuid As reported by Steven Whitehouse in https://lkml.org/lkml/2011/5/27/221 the ocfs2 volume UUID is incorrectly passed to cleancache. As a result, shared-ephemeral tmem pools will not actually be created; instead they will be private (unshared) which misses out on a major benefit of tmem. Reported-by: Steven Whitehouse <swhiteho@redhat.com> Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Signed-off-by: Joel Becker <jlbec@evilplan.org>
| | * | ocfs2: Commit transactions in error cases -v2Wengang Wang2011-11-173-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are three cases found that in error cases, journal transactions are not committed nor aborted. We should take care of these case by committing the transactions. Otherwise, there would left a journal handle which will lead to , in same process context, the comming ocfs2_start_trans() gets wrong credits. Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com> Signed-off-by: Joel Becker <jlbec@evilplan.org>