diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-06-25 12:30:33 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-25 12:30:33 +0200 |
commit | 48cf937f48f68bd1e61f37c6357dbff5adb95532 (patch) | |
tree | d9e2368a419adc2c11691be2842c66213bec5a42 /fs/libfs.c | |
parent | fce39665abb71d01d74ac74eb13dd69a799dfc2f (diff) | |
parent | 543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff) | |
download | kernel_samsung_tuna-48cf937f48f68bd1e61f37c6357dbff5adb95532.zip kernel_samsung_tuna-48cf937f48f68bd1e61f37c6357dbff5adb95532.tar.gz kernel_samsung_tuna-48cf937f48f68bd1e61f37c6357dbff5adb95532.tar.bz2 |
Merge branch 'linus' into x86/i8259
Diffstat (limited to 'fs/libfs.c')
-rw-r--r-- | fs/libfs.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -528,6 +528,23 @@ ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos, return count; } +ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, + const void *from, size_t available) +{ + loff_t pos = *ppos; + + if (pos < 0) + return -EINVAL; + if (pos >= available) + return 0; + if (count > available - pos) + count = available - pos; + memcpy(to, from + pos, count); + *ppos = pos + count; + + return count; +} + /* * Transaction based IO. * The file expects a single write which triggers the transaction, and then @@ -800,6 +817,7 @@ EXPORT_SYMBOL(simple_statfs); EXPORT_SYMBOL(simple_sync_file); EXPORT_SYMBOL(simple_unlink); EXPORT_SYMBOL(simple_read_from_buffer); +EXPORT_SYMBOL(memory_read_from_buffer); EXPORT_SYMBOL(simple_transaction_get); EXPORT_SYMBOL(simple_transaction_read); EXPORT_SYMBOL(simple_transaction_release); |