X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Ffuse%2Ffuse_i.h;h=572cefc7801296ce1b15cba6223f09d9a9826072;hb=95f714727436836bb46236ce2bcd8ee8f9274aed;hp=1964da0257d9bbeac2852ffa52a04ecaebbc7b08;hpb=d97055e62dd8c6f2150b6062ffbd4a6d836658ff;p=~andy%2Flinux diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 1964da0257d..572cefc7801 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -755,9 +755,15 @@ int fuse_reverse_inval_inode(struct super_block *sb, u64 nodeid, /** * File-system tells the kernel to invalidate parent attributes and * the dentry matching parent/name. + * + * If the child_nodeid is non-zero and: + * - matches the inode number for the dentry matching parent/name, + * - is not a mount point + * - is a file or oan empty directory + * then the dentry is unhashed (d_delete()). */ int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid, - struct qstr *name); + u64 child_nodeid, struct qstr *name); int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, bool isdir); @@ -765,6 +771,8 @@ ssize_t fuse_direct_io(struct file *file, const char __user *buf, size_t count, loff_t *ppos, int write); long fuse_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg, unsigned int flags); +long fuse_ioctl_common(struct file *file, unsigned int cmd, + unsigned long arg, unsigned int flags); unsigned fuse_file_poll(struct file *file, poll_table *wait); int fuse_dev_release(struct inode *inode, struct file *file);