Commit 1ced4444 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://kernel.bkbits.net/acme/ksyms-2.6

into home.osdl.org:/home/torvalds/v2.5/linux
parents db720de8 1966f91b
...@@ -182,14 +182,7 @@ EXPORT_SYMBOL(open_bdev_excl); ...@@ -182,14 +182,7 @@ EXPORT_SYMBOL(open_bdev_excl);
EXPORT_SYMBOL(close_bdev_excl); EXPORT_SYMBOL(close_bdev_excl);
EXPORT_SYMBOL(open_by_devnum); EXPORT_SYMBOL(open_by_devnum);
EXPORT_SYMBOL(blockdev_direct_IO); EXPORT_SYMBOL(blockdev_direct_IO);
EXPORT_SYMBOL(generic_file_read);
EXPORT_SYMBOL(generic_file_sendfile);
EXPORT_SYMBOL(do_generic_mapping_read);
EXPORT_SYMBOL(file_ra_state_init); EXPORT_SYMBOL(file_ra_state_init);
EXPORT_SYMBOL(generic_file_write);
EXPORT_SYMBOL(generic_file_write_nolock);
EXPORT_SYMBOL(generic_file_mmap);
EXPORT_SYMBOL(generic_file_readonly_mmap);
EXPORT_SYMBOL(generic_ro_fops); EXPORT_SYMBOL(generic_ro_fops);
EXPORT_SYMBOL(get_unused_fd); EXPORT_SYMBOL(get_unused_fd);
EXPORT_SYMBOL(vfs_read); EXPORT_SYMBOL(vfs_read);
...@@ -212,12 +205,6 @@ EXPORT_SYMBOL(no_llseek); ...@@ -212,12 +205,6 @@ EXPORT_SYMBOL(no_llseek);
EXPORT_SYMBOL(poll_initwait); EXPORT_SYMBOL(poll_initwait);
EXPORT_SYMBOL(poll_freewait); EXPORT_SYMBOL(poll_freewait);
EXPORT_SYMBOL(ROOT_DEV); EXPORT_SYMBOL(ROOT_DEV);
EXPORT_SYMBOL(find_get_page);
EXPORT_SYMBOL(find_lock_page);
EXPORT_SYMBOL(find_trylock_page);
EXPORT_SYMBOL(find_or_create_page);
EXPORT_SYMBOL(grab_cache_page_nowait);
EXPORT_SYMBOL(read_cache_page);
EXPORT_SYMBOL(read_cache_pages); EXPORT_SYMBOL(read_cache_pages);
EXPORT_SYMBOL(mark_page_accessed); EXPORT_SYMBOL(mark_page_accessed);
EXPORT_SYMBOL(vfs_readdir); EXPORT_SYMBOL(vfs_readdir);
...@@ -242,13 +229,7 @@ EXPORT_SYMBOL(do_select); ...@@ -242,13 +229,7 @@ EXPORT_SYMBOL(do_select);
/* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */ /* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */
EXPORT_SYMBOL(default_llseek); EXPORT_SYMBOL(default_llseek);
EXPORT_SYMBOL(dentry_open); EXPORT_SYMBOL(dentry_open);
#ifdef CONFIG_MMU
EXPORT_SYMBOL(filemap_nopage);
#endif
EXPORT_SYMBOL(filemap_fdatawrite);
EXPORT_SYMBOL(filemap_fdatawait);
EXPORT_SYMBOL(lock_page); EXPORT_SYMBOL(lock_page);
EXPORT_SYMBOL(unlock_page);
/* device registration */ /* device registration */
EXPORT_SYMBOL(register_blkdev); EXPORT_SYMBOL(register_blkdev);
...@@ -264,9 +245,6 @@ EXPORT_SYMBOL(blkdev_get); ...@@ -264,9 +245,6 @@ EXPORT_SYMBOL(blkdev_get);
EXPORT_SYMBOL(blkdev_put); EXPORT_SYMBOL(blkdev_put);
EXPORT_SYMBOL(ioctl_by_bdev); EXPORT_SYMBOL(ioctl_by_bdev);
EXPORT_SYMBOL(read_dev_sector); EXPORT_SYMBOL(read_dev_sector);
EXPORT_SYMBOL_GPL(generic_file_direct_IO);
EXPORT_SYMBOL(generic_file_readv);
EXPORT_SYMBOL(generic_file_writev);
EXPORT_SYMBOL(iov_shorten); EXPORT_SYMBOL(iov_shorten);
EXPORT_SYMBOL_GPL(default_backing_dev_info); EXPORT_SYMBOL_GPL(default_backing_dev_info);
...@@ -368,7 +346,6 @@ EXPORT_SYMBOL(get_jiffies_64); ...@@ -368,7 +346,6 @@ EXPORT_SYMBOL(get_jiffies_64);
EXPORT_SYMBOL(loops_per_jiffy); EXPORT_SYMBOL(loops_per_jiffy);
#endif #endif
/* misc */ /* misc */
EXPORT_SYMBOL(panic); EXPORT_SYMBOL(panic);
EXPORT_SYMBOL(panic_notifier_list); EXPORT_SYMBOL(panic_notifier_list);
...@@ -431,7 +408,6 @@ EXPORT_SYMBOL(make_bad_inode); ...@@ -431,7 +408,6 @@ EXPORT_SYMBOL(make_bad_inode);
EXPORT_SYMBOL(is_bad_inode); EXPORT_SYMBOL(is_bad_inode);
EXPORT_SYMBOL(__inode_dir_notify); EXPORT_SYMBOL(__inode_dir_notify);
EXPORT_SYMBOL(generic_osync_inode); EXPORT_SYMBOL(generic_osync_inode);
EXPORT_SYMBOL(remove_suid);
#ifdef CONFIG_UID16 #ifdef CONFIG_UID16
EXPORT_SYMBOL(overflowuid); EXPORT_SYMBOL(overflowuid);
......
...@@ -643,6 +643,8 @@ int wake_up_process(task_t * p) ...@@ -643,6 +643,8 @@ int wake_up_process(task_t * p)
return try_to_wake_up(p, TASK_STOPPED | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE, 0, 0); return try_to_wake_up(p, TASK_STOPPED | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE, 0, 0);
} }
EXPORT_SYMBOL(wake_up_process);
int wake_up_process_kick(task_t * p) int wake_up_process_kick(task_t * p)
{ {
return try_to_wake_up(p, TASK_STOPPED | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE, 0, 1); return try_to_wake_up(p, TASK_STOPPED | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE, 0, 1);
...@@ -1586,6 +1588,8 @@ asmlinkage void schedule(void) ...@@ -1586,6 +1588,8 @@ asmlinkage void schedule(void)
goto need_resched; goto need_resched;
} }
EXPORT_SYMBOL(schedule);
#ifdef CONFIG_PREEMPT #ifdef CONFIG_PREEMPT
/* /*
* this is is the entry point to schedule() from in-kernel preemption * this is is the entry point to schedule() from in-kernel preemption
...@@ -1613,6 +1617,8 @@ asmlinkage void preempt_schedule(void) ...@@ -1613,6 +1617,8 @@ asmlinkage void preempt_schedule(void)
if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) if (unlikely(test_thread_flag(TIF_NEED_RESCHED)))
goto need_resched; goto need_resched;
} }
EXPORT_SYMBOL(preempt_schedule);
#endif /* CONFIG_PREEMPT */ #endif /* CONFIG_PREEMPT */
int default_wake_function(wait_queue_t *curr, unsigned mode, int sync) int default_wake_function(wait_queue_t *curr, unsigned mode, int sync)
...@@ -1621,6 +1627,8 @@ int default_wake_function(wait_queue_t *curr, unsigned mode, int sync) ...@@ -1621,6 +1627,8 @@ int default_wake_function(wait_queue_t *curr, unsigned mode, int sync)
return try_to_wake_up(p, mode, sync, 0); return try_to_wake_up(p, mode, sync, 0);
} }
EXPORT_SYMBOL(default_wake_function);
/* /*
* The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just * The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just
* wake everything up. If it's an exclusive wakeup (nr_exclusive == small +ve * wake everything up. If it's an exclusive wakeup (nr_exclusive == small +ve
...@@ -1661,6 +1669,8 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr_exclusive) ...@@ -1661,6 +1669,8 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr_exclusive)
spin_unlock_irqrestore(&q->lock, flags); spin_unlock_irqrestore(&q->lock, flags);
} }
EXPORT_SYMBOL(__wake_up);
/* /*
* Same as __wake_up but called with the spinlock in wait_queue_head_t held. * Same as __wake_up but called with the spinlock in wait_queue_head_t held.
*/ */
...@@ -1697,6 +1707,8 @@ void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr_exclusive) ...@@ -1697,6 +1707,8 @@ void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr_exclusive)
spin_unlock_irqrestore(&q->lock, flags); spin_unlock_irqrestore(&q->lock, flags);
} }
EXPORT_SYMBOL(__wake_up_sync);
void complete(struct completion *x) void complete(struct completion *x)
{ {
unsigned long flags; unsigned long flags;
...@@ -1707,6 +1719,8 @@ void complete(struct completion *x) ...@@ -1707,6 +1719,8 @@ void complete(struct completion *x)
spin_unlock_irqrestore(&x->wait.lock, flags); spin_unlock_irqrestore(&x->wait.lock, flags);
} }
EXPORT_SYMBOL(complete);
void complete_all(struct completion *x) void complete_all(struct completion *x)
{ {
unsigned long flags; unsigned long flags;
...@@ -1738,6 +1752,8 @@ void wait_for_completion(struct completion *x) ...@@ -1738,6 +1752,8 @@ void wait_for_completion(struct completion *x)
spin_unlock_irq(&x->wait.lock); spin_unlock_irq(&x->wait.lock);
} }
EXPORT_SYMBOL(wait_for_completion);
#define SLEEP_ON_VAR \ #define SLEEP_ON_VAR \
unsigned long flags; \ unsigned long flags; \
wait_queue_t wait; \ wait_queue_t wait; \
...@@ -1764,6 +1780,8 @@ void interruptible_sleep_on(wait_queue_head_t *q) ...@@ -1764,6 +1780,8 @@ void interruptible_sleep_on(wait_queue_head_t *q)
SLEEP_ON_TAIL SLEEP_ON_TAIL
} }
EXPORT_SYMBOL(interruptible_sleep_on);
long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout) long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout)
{ {
SLEEP_ON_VAR SLEEP_ON_VAR
...@@ -1777,6 +1795,8 @@ long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout) ...@@ -1777,6 +1795,8 @@ long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout)
return timeout; return timeout;
} }
EXPORT_SYMBOL(interruptible_sleep_on_timeout);
void sleep_on(wait_queue_head_t *q) void sleep_on(wait_queue_head_t *q)
{ {
SLEEP_ON_VAR SLEEP_ON_VAR
...@@ -1788,6 +1808,8 @@ void sleep_on(wait_queue_head_t *q) ...@@ -1788,6 +1808,8 @@ void sleep_on(wait_queue_head_t *q)
SLEEP_ON_TAIL SLEEP_ON_TAIL
} }
EXPORT_SYMBOL(sleep_on);
long sleep_on_timeout(wait_queue_head_t *q, long timeout) long sleep_on_timeout(wait_queue_head_t *q, long timeout)
{ {
SLEEP_ON_VAR SLEEP_ON_VAR
...@@ -1801,6 +1823,8 @@ long sleep_on_timeout(wait_queue_head_t *q, long timeout) ...@@ -1801,6 +1823,8 @@ long sleep_on_timeout(wait_queue_head_t *q, long timeout)
return timeout; return timeout;
} }
EXPORT_SYMBOL(sleep_on_timeout);
void scheduling_functions_end_here(void) { } void scheduling_functions_end_here(void) { }
void set_user_nice(task_t *p, long nice) void set_user_nice(task_t *p, long nice)
...@@ -1850,6 +1874,8 @@ void set_user_nice(task_t *p, long nice) ...@@ -1850,6 +1874,8 @@ void set_user_nice(task_t *p, long nice)
task_rq_unlock(rq, &flags); task_rq_unlock(rq, &flags);
} }
EXPORT_SYMBOL(set_user_nice);
#ifndef __alpha__ #ifndef __alpha__
/* /*
...@@ -1916,6 +1942,8 @@ int task_nice(task_t *p) ...@@ -1916,6 +1942,8 @@ int task_nice(task_t *p)
return TASK_NICE(p); return TASK_NICE(p);
} }
EXPORT_SYMBOL(task_nice);
/** /**
* task_curr - is this task currently executing on a CPU? * task_curr - is this task currently executing on a CPU?
* @p: the task in question. * @p: the task in question.
...@@ -1934,6 +1962,8 @@ int idle_cpu(int cpu) ...@@ -1934,6 +1962,8 @@ int idle_cpu(int cpu)
return cpu_curr(cpu) == cpu_rq(cpu)->idle; return cpu_curr(cpu) == cpu_rq(cpu)->idle;
} }
EXPORT_SYMBOL(idle_cpu);
/** /**
* find_process_by_pid - find a process with a matching PID value. * find_process_by_pid - find a process with a matching PID value.
* @pid: the pid in question. * @pid: the pid in question.
...@@ -2261,6 +2291,8 @@ void __cond_resched(void) ...@@ -2261,6 +2291,8 @@ void __cond_resched(void)
schedule(); schedule();
} }
EXPORT_SYMBOL(__cond_resched);
/** /**
* yield - yield the current processor to other threads. * yield - yield the current processor to other threads.
* *
...@@ -2273,6 +2305,8 @@ void yield(void) ...@@ -2273,6 +2305,8 @@ void yield(void)
sys_sched_yield(); sys_sched_yield();
} }
EXPORT_SYMBOL(yield);
/* /*
* This task is about to go to sleep on IO. Increment rq->nr_iowait so * This task is about to go to sleep on IO. Increment rq->nr_iowait so
* that process accounting knows that this is a task in IO wait state. * that process accounting knows that this is a task in IO wait state.
...@@ -2289,6 +2323,8 @@ void io_schedule(void) ...@@ -2289,6 +2323,8 @@ void io_schedule(void)
atomic_dec(&rq->nr_iowait); atomic_dec(&rq->nr_iowait);
} }
EXPORT_SYMBOL(io_schedule);
long io_schedule_timeout(long timeout) long io_schedule_timeout(long timeout)
{ {
struct runqueue *rq = this_rq(); struct runqueue *rq = this_rq();
...@@ -2574,7 +2610,8 @@ int set_cpus_allowed(task_t *p, cpumask_t new_mask) ...@@ -2574,7 +2610,8 @@ int set_cpus_allowed(task_t *p, cpumask_t new_mask)
wait_for_completion(&req.done); wait_for_completion(&req.done);
return 0; return 0;
} }
EXPORT_SYMBOL(set_cpus_allowed);
EXPORT_SYMBOL_GPL(set_cpus_allowed);
/* Move (not current) task off this cpu, onto dest cpu. */ /* Move (not current) task off this cpu, onto dest cpu. */
static void move_task_away(struct task_struct *p, int dest_cpu) static void move_task_away(struct task_struct *p, int dest_cpu)
...@@ -2821,6 +2858,7 @@ void __might_sleep(char *file, int line) ...@@ -2821,6 +2858,7 @@ void __might_sleep(char *file, int line)
} }
#endif #endif
} }
EXPORT_SYMBOL(__might_sleep);
#endif #endif
...@@ -2849,6 +2887,8 @@ void __preempt_spin_lock(spinlock_t *lock) ...@@ -2849,6 +2887,8 @@ void __preempt_spin_lock(spinlock_t *lock)
} while (!_raw_spin_trylock(lock)); } while (!_raw_spin_trylock(lock));
} }
EXPORT_SYMBOL(__preempt_spin_lock);
void __preempt_write_lock(rwlock_t *lock) void __preempt_write_lock(rwlock_t *lock)
{ {
if (preempt_count() > 1) { if (preempt_count() > 1) {
...@@ -2863,33 +2903,6 @@ void __preempt_write_lock(rwlock_t *lock) ...@@ -2863,33 +2903,6 @@ void __preempt_write_lock(rwlock_t *lock)
preempt_disable(); preempt_disable();
} while (!_raw_write_trylock(lock)); } while (!_raw_write_trylock(lock));
} }
#endif
EXPORT_SYMBOL(__cond_resched);
EXPORT_SYMBOL(__wake_up);
EXPORT_SYMBOL(__wake_up_sync);
EXPORT_SYMBOL(complete);
EXPORT_SYMBOL(default_wake_function);
EXPORT_SYMBOL(idle_cpu);
EXPORT_SYMBOL(interruptible_sleep_on);
EXPORT_SYMBOL(interruptible_sleep_on_timeout);
EXPORT_SYMBOL(io_schedule);
EXPORT_SYMBOL(schedule);
EXPORT_SYMBOL(set_user_nice);
EXPORT_SYMBOL(sleep_on);
EXPORT_SYMBOL(sleep_on_timeout);
EXPORT_SYMBOL(task_nice);
EXPORT_SYMBOL(wait_for_completion);
EXPORT_SYMBOL(wake_up_process);
EXPORT_SYMBOL(yield);
#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
EXPORT_SYMBOL(__might_sleep);
#endif
#ifdef CONFIG_PREEMPT
#ifdef CONFIG_SMP
EXPORT_SYMBOL(__preempt_spin_lock);
EXPORT_SYMBOL(__preempt_write_lock); EXPORT_SYMBOL(__preempt_write_lock);
#endif #endif /* defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) */
EXPORT_SYMBOL(preempt_schedule);
#endif
...@@ -151,6 +151,8 @@ int filemap_fdatawrite(struct address_space *mapping) ...@@ -151,6 +151,8 @@ int filemap_fdatawrite(struct address_space *mapping)
return __filemap_fdatawrite(mapping, WB_SYNC_ALL); return __filemap_fdatawrite(mapping, WB_SYNC_ALL);
} }
EXPORT_SYMBOL(filemap_fdatawrite);
/* /*
* This is a mostly non-blocking flush. Not suitable for data-integrity * This is a mostly non-blocking flush. Not suitable for data-integrity
* purposes. * purposes.
...@@ -216,6 +218,8 @@ int filemap_fdatawait(struct address_space * mapping) ...@@ -216,6 +218,8 @@ int filemap_fdatawait(struct address_space * mapping)
return ret; return ret;
} }
EXPORT_SYMBOL(filemap_fdatawait);
/* /*
* This adds a page to the page cache, starting out as locked, unreferenced, * This adds a page to the page cache, starting out as locked, unreferenced,
* not uptodate and with no errors. * not uptodate and with no errors.
...@@ -253,6 +257,7 @@ int add_to_page_cache(struct page *page, struct address_space *mapping, ...@@ -253,6 +257,7 @@ int add_to_page_cache(struct page *page, struct address_space *mapping,
} }
return error; return error;
} }
EXPORT_SYMBOL(add_to_page_cache); EXPORT_SYMBOL(add_to_page_cache);
int add_to_page_cache_lru(struct page *page, struct address_space *mapping, int add_to_page_cache_lru(struct page *page, struct address_space *mapping,
...@@ -295,6 +300,7 @@ void wait_on_page_bit(struct page *page, int bit_nr) ...@@ -295,6 +300,7 @@ void wait_on_page_bit(struct page *page, int bit_nr)
} while (test_bit(bit_nr, &page->flags)); } while (test_bit(bit_nr, &page->flags));
finish_wait(waitqueue, &wait); finish_wait(waitqueue, &wait);
} }
EXPORT_SYMBOL(wait_on_page_bit); EXPORT_SYMBOL(wait_on_page_bit);
/** /**
...@@ -323,6 +329,8 @@ void unlock_page(struct page *page) ...@@ -323,6 +329,8 @@ void unlock_page(struct page *page)
wake_up_all(waitqueue); wake_up_all(waitqueue);
} }
EXPORT_SYMBOL(unlock_page);
/* /*
* End writeback against a page. * End writeback against a page.
*/ */
...@@ -339,6 +347,7 @@ void end_page_writeback(struct page *page) ...@@ -339,6 +347,7 @@ void end_page_writeback(struct page *page)
if (waitqueue_active(waitqueue)) if (waitqueue_active(waitqueue))
wake_up_all(waitqueue); wake_up_all(waitqueue);
} }
EXPORT_SYMBOL(end_page_writeback); EXPORT_SYMBOL(end_page_writeback);
/* /*
...@@ -363,6 +372,7 @@ void __lock_page(struct page *page) ...@@ -363,6 +372,7 @@ void __lock_page(struct page *page)
} }
finish_wait(wqh, &wait); finish_wait(wqh, &wait);
} }
EXPORT_SYMBOL(__lock_page); EXPORT_SYMBOL(__lock_page);
/* /*
...@@ -385,6 +395,8 @@ struct page * find_get_page(struct address_space *mapping, unsigned long offset) ...@@ -385,6 +395,8 @@ struct page * find_get_page(struct address_space *mapping, unsigned long offset)
return page; return page;
} }
EXPORT_SYMBOL(find_get_page);
/* /*
* Same as above, but trylock it instead of incrementing the count. * Same as above, but trylock it instead of incrementing the count.
*/ */
...@@ -400,6 +412,8 @@ struct page *find_trylock_page(struct address_space *mapping, unsigned long offs ...@@ -400,6 +412,8 @@ struct page *find_trylock_page(struct address_space *mapping, unsigned long offs
return page; return page;
} }
EXPORT_SYMBOL(find_trylock_page);
/** /**
* find_lock_page - locate, pin and lock a pagecache page * find_lock_page - locate, pin and lock a pagecache page
* *
...@@ -438,6 +452,8 @@ struct page *find_lock_page(struct address_space *mapping, ...@@ -438,6 +452,8 @@ struct page *find_lock_page(struct address_space *mapping,
return page; return page;
} }
EXPORT_SYMBOL(find_lock_page);
/** /**
* find_or_create_page - locate or add a pagecache page * find_or_create_page - locate or add a pagecache page
* *
...@@ -482,6 +498,8 @@ struct page *find_or_create_page(struct address_space *mapping, ...@@ -482,6 +498,8 @@ struct page *find_or_create_page(struct address_space *mapping,
return page; return page;
} }
EXPORT_SYMBOL(find_or_create_page);
/** /**
* find_get_pages - gang pagecache lookup * find_get_pages - gang pagecache lookup
* @mapping: The address_space to search * @mapping: The address_space to search
...@@ -543,6 +561,8 @@ grab_cache_page_nowait(struct address_space *mapping, unsigned long index) ...@@ -543,6 +561,8 @@ grab_cache_page_nowait(struct address_space *mapping, unsigned long index)
return page; return page;
} }
EXPORT_SYMBOL(grab_cache_page_nowait);
/* /*
* This is a generic file read routine, and uses the * This is a generic file read routine, and uses the
* inode->i_op->readpage() function for the actual low-level * inode->i_op->readpage() function for the actual low-level
...@@ -699,6 +719,8 @@ void do_generic_mapping_read(struct address_space *mapping, ...@@ -699,6 +719,8 @@ void do_generic_mapping_read(struct address_space *mapping,
update_atime(inode); update_atime(inode);
} }
EXPORT_SYMBOL(do_generic_mapping_read);
int file_read_actor(read_descriptor_t *desc, struct page *page, int file_read_actor(read_descriptor_t *desc, struct page *page,
unsigned long offset, unsigned long size) unsigned long offset, unsigned long size)
{ {
...@@ -816,6 +838,8 @@ __generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov, ...@@ -816,6 +838,8 @@ __generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
return retval; return retval;
} }
EXPORT_SYMBOL(__generic_file_aio_read);
ssize_t ssize_t
generic_file_aio_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t pos) generic_file_aio_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t pos)
{ {
...@@ -824,8 +848,8 @@ generic_file_aio_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t ...@@ -824,8 +848,8 @@ generic_file_aio_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t
BUG_ON(iocb->ki_pos != pos); BUG_ON(iocb->ki_pos != pos);
return __generic_file_aio_read(iocb, &local_iov, 1, &iocb->ki_pos); return __generic_file_aio_read(iocb, &local_iov, 1, &iocb->ki_pos);
} }
EXPORT_SYMBOL(generic_file_aio_read); EXPORT_SYMBOL(generic_file_aio_read);
EXPORT_SYMBOL(__generic_file_aio_read);
ssize_t ssize_t
generic_file_read(struct file *filp, char __user *buf, size_t count, loff_t *ppos) generic_file_read(struct file *filp, char __user *buf, size_t count, loff_t *ppos)
...@@ -841,6 +865,8 @@ generic_file_read(struct file *filp, char __user *buf, size_t count, loff_t *ppo ...@@ -841,6 +865,8 @@ generic_file_read(struct file *filp, char __user *buf, size_t count, loff_t *ppo
return ret; return ret;
} }
EXPORT_SYMBOL(generic_file_read);
int file_send_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size) int file_send_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size)
{ {
ssize_t written; ssize_t written;
...@@ -880,6 +906,8 @@ ssize_t generic_file_sendfile(struct file *in_file, loff_t *ppos, ...@@ -880,6 +906,8 @@ ssize_t generic_file_sendfile(struct file *in_file, loff_t *ppos,
return desc.error; return desc.error;
} }
EXPORT_SYMBOL(generic_file_sendfile);
static ssize_t static ssize_t
do_readahead(struct address_space *mapping, struct file *filp, do_readahead(struct address_space *mapping, struct file *filp,
unsigned long index, unsigned long nr) unsigned long index, unsigned long nr)
...@@ -1126,6 +1154,8 @@ struct page * filemap_nopage(struct vm_area_struct * area, unsigned long address ...@@ -1126,6 +1154,8 @@ struct page * filemap_nopage(struct vm_area_struct * area, unsigned long address
return NULL; return NULL;
} }
EXPORT_SYMBOL(filemap_nopage);
static struct page * filemap_getpage(struct file *file, unsigned long pgoff, static struct page * filemap_getpage(struct file *file, unsigned long pgoff,
int nonblock) int nonblock)
{ {
...@@ -1330,6 +1360,9 @@ int generic_file_readonly_mmap(struct file * file, struct vm_area_struct * vma) ...@@ -1330,6 +1360,9 @@ int generic_file_readonly_mmap(struct file * file, struct vm_area_struct * vma)
} }
#endif /* CONFIG_MMU */ #endif /* CONFIG_MMU */
EXPORT_SYMBOL(generic_file_mmap);
EXPORT_SYMBOL(generic_file_readonly_mmap);
static inline struct page *__read_cache_page(struct address_space *mapping, static inline struct page *__read_cache_page(struct address_space *mapping,
unsigned long index, unsigned long index,
int (*filler)(void *,struct page*), int (*filler)(void *,struct page*),
...@@ -1406,6 +1439,8 @@ struct page *read_cache_page(struct address_space *mapping, ...@@ -1406,6 +1439,8 @@ struct page *read_cache_page(struct address_space *mapping,
return page; return page;
} }
EXPORT_SYMBOL(read_cache_page);
/* /*
* If the page was newly created, increment its refcount and add it to the * If the page was newly created, increment its refcount and add it to the
* caller's lru-buffering pagevec. This function is specifically for * caller's lru-buffering pagevec. This function is specifically for
...@@ -1456,6 +1491,8 @@ void remove_suid(struct dentry *dentry) ...@@ -1456,6 +1491,8 @@ void remove_suid(struct dentry *dentry)
} }
} }
EXPORT_SYMBOL(remove_suid);
/* /*
* Copy as much as we can into the page and return the number of bytes which * Copy as much as we can into the page and return the number of bytes which
* were sucessfully copied. If a fault is encountered then clear the page * were sucessfully copied. If a fault is encountered then clear the page
...@@ -1638,6 +1675,7 @@ inline int generic_write_checks(struct inode *inode, ...@@ -1638,6 +1675,7 @@ inline int generic_write_checks(struct inode *inode,
} }
return 0; return 0;
} }
EXPORT_SYMBOL(generic_write_checks); EXPORT_SYMBOL(generic_write_checks);
/* /*
...@@ -1832,6 +1870,8 @@ generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, ...@@ -1832,6 +1870,8 @@ generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov,
return err; return err;
} }
EXPORT_SYMBOL(generic_file_aio_write_nolock);
ssize_t ssize_t
generic_file_write_nolock(struct file *file, const struct iovec *iov, generic_file_write_nolock(struct file *file, const struct iovec *iov,
unsigned long nr_segs, loff_t *ppos) unsigned long nr_segs, loff_t *ppos)
...@@ -1846,6 +1886,8 @@ generic_file_write_nolock(struct file *file, const struct iovec *iov, ...@@ -1846,6 +1886,8 @@ generic_file_write_nolock(struct file *file, const struct iovec *iov,
return ret; return ret;
} }
EXPORT_SYMBOL(generic_file_write_nolock);
ssize_t generic_file_aio_write(struct kiocb *iocb, const char __user *buf, ssize_t generic_file_aio_write(struct kiocb *iocb, const char __user *buf,
size_t count, loff_t pos) size_t count, loff_t pos)
{ {
...@@ -1863,8 +1905,8 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const char __user *buf, ...@@ -1863,8 +1905,8 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const char __user *buf,
return err; return err;
} }
EXPORT_SYMBOL(generic_file_aio_write); EXPORT_SYMBOL(generic_file_aio_write);
EXPORT_SYMBOL(generic_file_aio_write_nolock);
ssize_t generic_file_write(struct file *file, const char __user *buf, ssize_t generic_file_write(struct file *file, const char __user *buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
...@@ -1880,6 +1922,8 @@ ssize_t generic_file_write(struct file *file, const char __user *buf, ...@@ -1880,6 +1922,8 @@ ssize_t generic_file_write(struct file *file, const char __user *buf,
return err; return err;
} }
EXPORT_SYMBOL(generic_file_write);
ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, ssize_t generic_file_readv(struct file *filp, const struct iovec *iov,
unsigned long nr_segs, loff_t *ppos) unsigned long nr_segs, loff_t *ppos)
{ {
...@@ -1893,6 +1937,8 @@ ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, ...@@ -1893,6 +1937,8 @@ ssize_t generic_file_readv(struct file *filp, const struct iovec *iov,
return ret; return ret;
} }
EXPORT_SYMBOL(generic_file_readv);
ssize_t generic_file_writev(struct file *file, const struct iovec *iov, ssize_t generic_file_writev(struct file *file, const struct iovec *iov,
unsigned long nr_segs, loff_t * ppos) unsigned long nr_segs, loff_t * ppos)
{ {
...@@ -1905,6 +1951,8 @@ ssize_t generic_file_writev(struct file *file, const struct iovec *iov, ...@@ -1905,6 +1951,8 @@ ssize_t generic_file_writev(struct file *file, const struct iovec *iov,
return ret; return ret;
} }
EXPORT_SYMBOL(generic_file_writev);
ssize_t ssize_t
generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov,
loff_t offset, unsigned long nr_segs) loff_t offset, unsigned long nr_segs)
...@@ -1927,3 +1975,5 @@ generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, ...@@ -1927,3 +1975,5 @@ generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov,
out: out:
return retval; return retval;
} }
EXPORT_SYMBOL_GPL(generic_file_direct_IO);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment