diff mbox

[v4,1/2] eventfd: export eventfd interfaces for module use

Message ID 20090504175745.26758.94086.stgit@dev.haskins.net (mailing list archive)
State New, archived
Headers show

Commit Message

Gregory Haskins May 4, 2009, 5:57 p.m. UTC
We will re-use eventfd for implmenting irqfd later in the series, and the
irqfd users will potentially live in modules.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
---

 fs/eventfd.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Al Viro May 4, 2009, 10:24 p.m. UTC | #1
On Mon, May 04, 2009 at 01:57:45PM -0400, Gregory Haskins wrote:
> @@ -56,6 +57,7 @@ int eventfd_signal(struct file *file, int n)
>  
>  	return n;
>  }
> +EXPORT_SYMBOL_GPL(eventfd_signal);

perhaps, but...

> @@ -197,6 +199,7 @@ struct file *eventfd_fget(int fd)
>  
>  	return file;
>  }
> +EXPORT_SYMBOL_GPL(eventfd_fget);

this one looks very odd.  Could you show legitimate users?
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Gregory Haskins May 5, 2009, 2:17 a.m. UTC | #2
Al Viro wrote:
> On Mon, May 04, 2009 at 01:57:45PM -0400, Gregory Haskins wrote:
>   
>> @@ -56,6 +57,7 @@ int eventfd_signal(struct file *file, int n)
>>  
>>  	return n;
>>  }
>> +EXPORT_SYMBOL_GPL(eventfd_signal);
>>     
>
> perhaps, but...
>
>   
>> @@ -197,6 +199,7 @@ struct file *eventfd_fget(int fd)
>>  
>>  	return file;
>>  }
>> +EXPORT_SYMBOL_GPL(eventfd_fget);
>>     
>
> this one looks very odd.  Could you show legitimate users?
>   
Hi Al,

I plan on using this in a similar way as the AIO io_submit function does
today for the next version of the virtual-bus patches.  That is,
userspace allocates an eventfd (in this case, via kvm_irqfd() and the
kernel side code you have been reviewing) and subsequently submits the
fd to a unique virtual-bus instance in the kernel via an ioctl().  This
will ultimately associate the vbus instance dynamically with the kvm
instance in a loosely coupled relationship.  Vbus may be compiled as a
module, thus the export.

-Greg
diff mbox

Patch

diff --git a/fs/eventfd.c b/fs/eventfd.c
index 0de6ebb..2e1c2ff 100644
--- a/fs/eventfd.c
+++ b/fs/eventfd.c
@@ -16,6 +16,7 @@ 
 #include <linux/anon_inodes.h>
 #include <linux/eventfd.h>
 #include <linux/syscalls.h>
+#include <linux/module.h>
 
 struct eventfd_ctx {
 	wait_queue_head_t wqh;
@@ -56,6 +57,7 @@  int eventfd_signal(struct file *file, int n)
 
 	return n;
 }
+EXPORT_SYMBOL_GPL(eventfd_signal);
 
 static int eventfd_release(struct inode *inode, struct file *file)
 {
@@ -197,6 +199,7 @@  struct file *eventfd_fget(int fd)
 
 	return file;
 }
+EXPORT_SYMBOL_GPL(eventfd_fget);
 
 struct file *eventfd_file_create(unsigned int count, int flags)
 {
@@ -225,6 +228,7 @@  struct file *eventfd_file_create(unsigned int count, int flags)
 
 	return file;
 }
+EXPORT_SYMBOL_GPL(eventfd_file_create);
 
 SYSCALL_DEFINE2(eventfd2, unsigned int, count, int, flags)
 {