linux/include/asm-powerpc
Amit Arora 97ac73506c sys_fallocate() implementation on i386, x86_64 and powerpc
fallocate() is a new system call being proposed here which will allow
applications to preallocate space to any file(s) in a file system.
Each file system implementation that wants to use this feature will need
to support an inode operation called ->fallocate().
Applications can use this feature to avoid fragmentation to certain
level and thus get faster access speed. With preallocation, applications
also get a guarantee of space for particular file(s) - even if later the
the system becomes full.

Currently, glibc provides an interface called posix_fallocate() which
can be used for similar cause. Though this has the advantage of working
on all file systems, but it is quite slow (since it writes zeroes to
each block that has to be preallocated). Without a doubt, file systems
can do this more efficiently within the kernel, by implementing
the proposed fallocate() system call. It is expected that
posix_fallocate() will be modified to call this new system call first
and incase the kernel/filesystem does not implement it, it should fall
back to the current implementation of writing zeroes to the new blocks.
ToDos:
1. Implementation on other architectures (other than i386, x86_64,
   and ppc). Patches for s390(x) and ia64 are already available from
   previous posts, but it was decided that they should be added later
   once fallocate is in the mainline. Hence not including those patches
   in this take.
2. Changes to glibc,
   a) to support fallocate() system call
   b) to make posix_fallocate() and posix_fallocate64() call fallocate()

Signed-off-by: Amit Arora <aarora@in.ibm.com>
2007-07-17 21:42:44 -04:00
..
iseries [POWERPC] Refactor 64 bits DMA operations 2006-12-04 20:38:40 +11:00
8253pit.h
a.out.h
abs_addr.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
agp.h
asm-compat.h [POWERPC] Use mtocrf instruction in asm when CONFIG_POWER4_ONLY=y 2007-04-13 03:55:13 +10:00
atomic.h atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency 2007-05-08 11:15:20 -07:00
auxvec.h
backlight.h [PATCH] powermac: More powermac backlight fixes 2006-07-31 13:28:45 -07:00
bitops.h atomic.h: add atomic64 cmpxchg, xchg and add_unless to powerpc 2007-05-08 11:15:19 -07:00
bootx.h
btext.h
bug.h [POWERPC] Fix manual assembly WARN_ON() in enter_rtas(). 2007-01-09 17:03:02 +11:00
bugs.h
byteorder.h
cache.h [POWERPC] Add __read_mostly support for powerpc 2007-07-10 22:00:56 +10:00
cacheflush.h [POWERPC] DEBUG_PAGEALLOC for 32-bit 2007-04-13 04:09:39 +10:00
cell-pmu.h [POWERPC] cell: add cbe_node_to_cpu function 2007-04-23 21:44:38 +02:00
checksum.h [NET]: POWERPC checksum annotations and cleanups. 2006-12-02 21:23:20 -08:00
compat.h Introduce compat_u64 and compat_s64 types 2007-07-16 09:05:48 -07:00
cputable.h [POWERPC] Consolidate PowerPC 750 cputable features 2007-07-10 21:55:50 +10:00
cputime.h [PATCH] powerpc: implement missing jiffies64_to_cputime64() 2006-07-05 09:39:54 -07:00
current.h [POWERPC] Include stddef.h in asm-powerpc/current.h to get offsetof 2007-03-09 15:03:24 +11:00
dbdma.h [POWERPC] Xserve cpu-meter driver 2006-12-04 20:39:30 +11:00
dcr-mmio.h [POWERPC] Generic DCR infrastructure 2006-12-04 16:08:25 +11:00
dcr-native.h [POWERPC] More DCR native fixups 2007-02-16 14:00:19 +11:00
dcr.h [POWERPC] Compile fixes for arch/powerpc dcr code 2007-02-07 14:03:23 +11:00
delay.h [POWERPC] Fix mdelay badness on shared processor partitions 2006-06-21 15:01:33 +10:00
device.h [POWERPC] Refactor 64 bits DMA operations 2006-12-04 20:38:40 +11:00
div64.h
dma-mapping.h PCI: remove pci_dac_dma_... APIs 2007-07-11 16:02:11 -07:00
dma.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
edac.h [POWERPC] EDAC ECC software scrubber 2007-03-09 15:03:25 +11:00
eeh_event.h [POWERPC] EEH: rm un-needed data 2007-03-22 22:52:55 +11:00
eeh.h [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h 2006-12-04 20:39:05 +11:00
elf.h [POWERPC] Move ELF_ET_DYN_BASE up to 512MB point 2007-01-24 21:13:56 +11:00
emergency-restart.h
errno.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
firmware.h [POWERPC] Only use H_BULK_REMOVE if the firmware supports it 2007-02-08 15:02:35 +11:00
floppy.h [POWERPC] Rewrite IO allocation & mapping on powerpc64 2007-06-14 22:29:56 +10:00
fs_pd.h [POWERPC] Fix kernel build errors for mpc8272ads and mpc8560ads 2007-02-07 14:03:20 +11:00
futex.h [PATCH] mm: pagefault_{disable,enable}() 2006-12-07 08:39:21 -08:00
grackle.h
hardirq.h
heathrow.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
hvcall.h [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number 2007-07-11 13:24:40 +10:00
hvconsole.h [PATCH] powerpc: hvc_console updates 2006-03-28 16:45:26 +11:00
hvcserver.h
hw_irq.h powerpc: fixup hard_irq_disable semantics 2007-05-11 08:29:34 -07:00
i8259.h [POWERPC] Fix CHRP platforms with only 8259 2006-10-25 13:49:22 +10:00
ibmebus.h [POWERPC] ibmebus: dynamic addition/removal of adapters, some code cleanup 2007-03-16 16:38:19 +11:00
ide.h [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h 2006-12-04 20:39:05 +11:00
immap_86xx.h [POWERPC] 86xx/85xx: Unify Freescale PCI Express memory map registers structure 2007-03-26 17:03:49 -05:00
immap_qe.h [POWERPC] qe: ucc_slow.guemr is in the wrong place 2007-03-29 14:33:56 -05:00
io-defs.h [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h 2006-12-04 20:39:05 +11:00
io.h [POWERPC] Abolish iopa(), mm_ptov(), io_block_mapping() from arch/powerpc 2007-06-14 22:30:15 +10:00
ioctl.h
ioctls.h
iommu.h [POWERPC] DART iommu suspend 2007-05-07 20:31:14 +10:00
ipc.h
ipcbuf.h
ipic.h [POWERPC] 83xx: Return a point to the struct ipic from ipic_init() 2007-01-26 01:45:32 -06:00
irq_regs.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
irq.h [POWERPC] Uninline and export virq_to_hw() for the pasemi_mac driver 2007-07-02 13:29:21 +10:00
irqflags.h [PATCH] lockdep: irqtrace subsystem, core 2006-07-03 15:27:03 -07:00
Kbuild [PATCH] ps3: Virtual Frame Buffer Driver 2007-02-12 09:48:44 -08:00
kdebug.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-05-08 11:50:19 -07:00
kdump.h [POWERPC] kdump: Support kernels having 64k page size. 2006-09-13 18:30:04 +10:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
keylargo.h
kmap_types.h
kprobes.h kallsyms: make KSYM_NAME_LEN include space for trailing '\0' 2007-07-17 10:23:03 -07:00
libata-portmap.h Fix Maple PATA IRQ assignment. 2007-01-26 17:27:40 -05:00
linkage.h
lmb.h [PATCH] powerpc: Remove calculation of io hole 2006-03-22 15:04:30 +11:00
local.h local_t: powerpc extension 2007-05-08 11:15:20 -07:00
lppaca.h [POWERPC] Donate idle CPU cycles on dedicated partitions 2007-06-14 22:29:58 +10:00
lv1call.h [POWERPC] PS3: System-bus rework 2007-06-28 19:16:38 +10:00
machdep.h [POWERPC] Pass the pci_controller into pci_exclude_device 2007-06-29 01:57:22 -05:00
macio.h
mc146818rtc.h
mediabay.h
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h [POWERPC] Merge asm-ppc/mmu_context.h into asm-power/mmu_context.h 2007-07-03 03:22:05 -05:00
mmu-8xx.h [POWERPC] Split out asm-ppc/mmu.h portions for PowerPC 8xx 2007-07-03 03:00:28 -05:00
mmu-44x.h [POWERPC] Remove fixup_bigphys_addr() for arch/powerpc to avoid link error 2007-05-17 21:11:13 +10:00
mmu-fsl-booke.h [POWERPC] Split out asm-ppc/mmu.h portions for Freescale Book-E 2007-07-03 03:00:16 -05:00
mmu-hash32.h [POWERPC] Kill typedef-ed structs for hash PTEs and BATs 2007-06-14 22:30:16 +10:00
mmu-hash64.h [POWERPC] Fix Kexec/Kdump for power6 2007-06-25 17:03:33 +10:00
mmu.h [POWERPC] Split out asm-ppc/mmu.h portions for PowerPC 8xx 2007-07-03 03:00:28 -05:00
mmzone.h [POWERPC] We don't define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID 2007-05-10 21:28:13 +10:00
module.h [POWERPC] Generic BUG for powerpc 2006-12-11 16:35:07 +11:00
mpc8xx.h [POWERPC] 8xx: mpc885ads pcmcia support 2007-07-10 00:33:51 -05:00
mpc52xx.h [POWERPC] mpc52xx suspend to deep-sleep 2007-05-07 20:31:15 +10:00
mpc85xx.h [PATCH] ppc: Fix io.h for config with CONFIG_PCI not set 2006-11-13 14:49:25 +11:00
mpc86xx.h [POWERPC] kill isa_{io,mem}_base definitions for !PCI 2007-06-29 01:56:43 -05:00
mpc8260.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
mpic.h [POWERPC] MPIC MSI allocator 2007-05-08 13:43:48 +10:00
msgbuf.h
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h
nvram.h
of_device.h [POWERPC] Export of_device_get_modalias 2007-05-07 20:31:15 +10:00
of_platform.h [POWERPC] Souped-up of_platform_device support 2006-12-04 16:08:52 +11:00
ohare.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
oprofile_impl.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
paca.h [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
page_32.h [POWERPC] Kill off the PTE_FMT macro 2007-05-07 20:31:14 +10:00
page_64.h [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
page.h [POWERPC] Remove use of 4level-fixup.h for ppc32 2007-05-08 13:40:31 +10:00
param.h
parport.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
pci-bridge.h [POWERPC] Use ppc64 style list management for pci_controller on ppc32 2007-06-29 01:58:45 -05:00
pci.h Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-07-16 17:58:08 -07:00
percpu.h [PATCH] lockdep: add per_cpu_offset() 2006-07-03 15:27:00 -07:00
pgalloc-32.h [POWERPC] Remove use of 4level-fixup.h for ppc32 2007-05-08 13:40:31 +10:00
pgalloc-64.h [POWERPC] Fix return from pte_alloc_one() in out-of-memory case 2007-06-02 21:01:56 +10:00
pgalloc.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-4k.h [POWERPC] Add ability to 4K kernel to hash in 64K pages 2007-05-09 16:35:00 +10:00
pgtable-64k.h [POWERPC] Add ability to 4K kernel to hash in 64K pages 2007-05-09 16:35:00 +10:00
pgtable-ppc32.h mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty 2007-07-17 10:22:59 -07:00
pgtable-ppc64.h mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty 2007-07-17 10:22:59 -07:00
pgtable.h [POWERPC] Start factoring pgtable-ppc32.h and pgtable-ppc64.h 2007-06-14 22:30:15 +10:00
pmac_feature.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
pmac_low_i2c.h [PATCH] 3/5 powerpc: Add platform functions interpreter 2006-01-09 15:47:18 +11:00
pmac_pfunc.h typo fixes: mecanism -> mechanism 2006-06-30 18:20:44 +02:00
pmc.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
pmi.h [POWERPC] Add PMI driver for cell blade 2007-02-16 14:00:19 +11:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h [PATCH] FD_ZERO build fix 2007-01-11 18:18:22 -08:00
ppc_asm.h [POWERPC] Cell timebase bug workaround 2006-10-25 11:54:18 +10:00
ppc-pci.h [POWERPC] Rewrite IO allocation & mapping on powerpc64 2007-06-14 22:29:56 +10:00
processor.h [POWERPC] Abolish unused ucBoardRev variables 2007-06-28 19:19:29 +10:00
prom.h [POWERPC] Add a warning to help trackdown device_node refcounting bugs 2007-07-10 21:53:47 +10:00
ps3.h [POWERPC] PS3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver 2007-06-28 19:18:08 +10:00
ps3av.h [POWERPC] PS3: Rework AV settings driver 2007-06-28 19:16:42 +10:00
ps3fb.h [POWERPC] PS3: Frame buffer system-bus rework 2007-06-28 19:16:42 +10:00
ps3stor.h [POWERPC] PS3: Storage Driver Core 2007-06-28 19:19:20 +10:00
pSeries_reconfig.h
ptrace.h [POWERPC] Uninline common ptrace bits 2007-06-14 22:29:57 +10:00
qe_ic.h [POWERPC] Add QUICC Engine (QE) infrastructure 2006-10-04 15:24:27 +10:00
qe.h [POWERPC] Change rheap functions to use ulongs instead of pointers 2007-05-09 23:01:43 -05:00
reg_8xx.h
reg_booke.h [POWERPC] Move reg_booke.h to include/asm-powerpc 2007-05-09 23:00:37 -05:00
reg.h [POWERPC] Oprofile enhanced instruction sampling support 2007-07-10 21:55:48 +10:00
resource.h
rheap.h [POWERPC] User rheap from arch/powerpc/lib 2007-05-09 23:28:17 -05:00
rtas.h [POWERPC] Add rtas_service_present() helper 2006-12-08 17:10:22 +11:00
rtc.h
rwsem.h [PATCH] lockdep: remove RWSEM_DEBUG remnants 2006-07-03 15:27:01 -07:00
scatterlist.h
seccomp.h powerpc: Fix some #ifndef __KERNEL__ that should be #ifdef 2006-01-09 15:14:05 +11:00
sections.h
semaphore.h
sembuf.h
serial.h powerpc: Introduce a new config symbol to control 16550 early debug code 2006-01-10 16:19:05 +11:00
setup.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h [PATCH] irq-flags: POWERPC: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
smp.h Remove hardcoding of hard_smp_processor_id on UP systems 2007-05-09 12:30:48 -07:00
smu.h [POWERPC] powermac: Constify & voidify get_property() 2006-07-31 15:55:05 +10:00
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h [POWERPC] ps3: add lpar addressing 2006-12-04 20:40:52 +11:00
spinlock_types.h
spinlock.h [PATCH] Directed yield: direct yield of spinlocks for powerpc 2006-10-01 00:39:22 -07:00
spu_csa.h [POWERPC] Spufs support for 64K LS mappings on 4K kernels 2007-05-09 16:35:00 +10:00
spu_info.h [POWERPC] spufs: Add /lslr, /dma_info and /proxydma files 2006-12-04 20:39:45 +11:00
spu_priv1.h [POWERPC] Celleb: consolidate spu management ops 2007-02-07 14:03:21 +11:00
spu.h [POWERPC] spufs: Add spu stats in sysfs 2007-07-03 15:24:46 +10:00
sstep.h [POWERPC] Added kprobes support to ppc32 2007-02-06 22:55:19 -06:00
stat.h
statfs.h
string.h [STRING]: Move strcasecmp/strncasecmp to lib/string.c 2007-04-26 01:54:39 -07:00
suspend.h [POWERPC] Fix suspend states again 2007-05-02 20:04:30 +10:00
synch.h [PATCH] powerpc: newline for ISYNC_ON_SMP 2006-02-24 14:06:00 +11:00
syscalls.h [POWERPC] Consolidate sys_sigaltstack 2007-06-14 22:29:57 +10:00
systbl.h sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
system.h [POWERPC] Make the debugfs "powerpc" dir globally accessible 2007-07-10 21:53:50 +10:00
tce.h [POWERPC] Use 4kB iommu pages even on 64kB-page systems 2006-11-01 14:52:48 +11:00
termbits.h [POWERPC] Enable arbitary speed tty ioctls and split input/output speed 2007-07-10 22:03:29 +10:00
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
thread_info.h [POWERPC] Reserve threadinfo flags for perfmon2 2007-06-14 22:29:55 +10:00
time.h [POWERPC] Move iSeries_tb_recal into its own late_initcall. 2007-06-28 19:19:23 +10:00
timex.h [POWERPC] Cell timebase bug workaround 2006-10-25 11:54:18 +10:00
tlb.h [POWERPC] Fix possible access to free pages 2007-06-02 21:01:55 +10:00
tlbflush.h [POWERPC] Rewrite IO allocation & mapping on powerpc64 2007-06-14 22:29:56 +10:00
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
tsi108_irq.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
tsi108_pci.h [POWERPC] Change include protections to ASM_POWERPC 2007-05-17 21:10:15 +10:00
tsi108.h [POWERPC] Generalize tsi108 PCI setup 2007-05-08 11:54:20 +10:00
types.h [PATCH] Centralise definitions of sector_t and blkcnt_t 2006-12-04 19:41:15 -08:00
uaccess.h [POWERPC] Add inatomic versions of __get_user and __put_user 2007-04-13 04:09:38 +10:00
ucc_fast.h ucc_geth: Implement Transmit on Demand support 2007-04-28 11:01:04 -04:00
ucc_slow.h [POWERPC] QE: clean up ucc_slow.c and ucc_fast.c 2007-02-17 16:12:54 -06:00
ucc.h [POWERPC] Add QUICC Engine (QE) infrastructure 2006-10-04 15:24:27 +10:00
ucontext.h
udbg.h [POWERPC] Early serial debug support for PPC44x 2007-05-08 14:47:33 +10:00
uic.h [POWERPC] Add arch/powerpc driver for UIC, PPC4xx interrupt controller 2007-04-24 21:32:01 +10:00
unaligned.h
uninorth.h
unistd.h sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
user.h
vdso_datapage.h [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
vdso.h [POWERPC] Fix vDSO page count calculation 2007-02-13 15:35:52 +11:00
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
vio.h [POWERPC] Refactor 64 bits DMA operations 2006-12-04 20:38:40 +11:00
xmon.h [POWERPC] add support for stopping spus from xmon 2006-10-25 14:20:22 +10:00
xor.h