aboutsummaryrefslogtreecommitdiffstats
path: root/dir.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2001-10-25 14:16:17 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2001-10-25 14:16:17 +0000
commitd8ae7147bfe8f40e72ea640c6631a4b2c6f2c6c9 (patch)
treeb9cc8c9342ebf54a45184b0345a798106466a3a8 /dir.c
parent79b52f63303c15d4545a7464775f4b1beab8d2c9 (diff)
downloadlibfuse-d8ae7147bfe8f40e72ea640c6631a4b2c6f2c6c9.tar.gz
improvements
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/dir.c b/dir.c
index 150c401..6fa5959 100644
--- a/dir.c
+++ b/dir.c
@@ -43,9 +43,21 @@ static int fuse_readdir(struct file *file, void *dirent, filldir_t filldir)
static int fuse_open(struct inode *inode, struct file *file)
{
+ struct fuse_conn *fc = inode->i_sb->u.generic_sbp;
+ struct fuse_inparam in;
+ struct fuse_outparam out;
+
printk(KERN_DEBUG "fuse_open: %li\n", inode->i_ino);
- return 0;
+ in.opcode = FUSE_OPEN;
+ in.u.open.ino = inode->i_ino;
+ in.u.open.flags = file->f_flags & ~O_EXCL;
+
+ request_send(fc, &in, &out, 0);
+
+ printk(KERN_DEBUG " fuse_open: <%i> %i\n", out.result, out.u.open.fd);
+
+ return out.result;
}
static int fuse_release(struct inode *inode, struct file *file)