• J
    [PATCH] fuse: add O_ASYNC support to FUSE device · 385a17bf
    Jeff Dike 提交于
    This adds asynchronous notification to FUSE - a FUSE server can request
    O_ASYNC on a /dev/fuse file descriptor and receive SIGIO when there is input
    available.
    
    One subtlety - fuse_dev_fasync, which is called when O_ASYNC is requested,
    does no locking, unlink the other methods.  I think it's unnecessary, as the
    fuse_conn.fasync list is manipulated only by fasync_helper and kill_fasync,
    which provide their own locking.  It would also be wrong to use the fuse_lock,
    as it's a spin lock and fasync_helper can sleep.  My one concern with this is
    the fuse_conn going away underneath fuse_dev_fasync - sys_fcntl takes a
    reference on the file struct, so this seems not to be a problem.
    Signed-off-by: NJeff Dike <jdike@addtoit.com>
    Signed-off-by: NMiklos Szeredi <miklos@szeredi.hu>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    385a17bf
inode.c 17.9 KB