aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/fuse_kernel.h9
-rw-r--r--include/fuse_lowlevel.h16
2 files changed, 25 insertions, 0 deletions
diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h
index 039eb1f..89e941a 100644
--- a/include/fuse_kernel.h
+++ b/include/fuse_kernel.h
@@ -79,6 +79,7 @@
*
* 7.18
* - add FUSE_IOCTL_DIR flag
+ * - add FUSE_NOTIFY_DELETE
* - add FUSE_MMAP and FUSE_MUNMAP
*/
@@ -322,6 +323,7 @@ enum fuse_notify_code {
FUSE_NOTIFY_INVAL_ENTRY = 3,
FUSE_NOTIFY_STORE = 4,
FUSE_NOTIFY_RETRIEVE = 5,
+ FUSE_NOTIFY_DELETE = 6,
FUSE_NOTIFY_CODE_MAX,
};
@@ -667,6 +669,13 @@ struct fuse_notify_inval_entry_out {
__u32 padding;
};
+struct fuse_notify_delete_out {
+ __u64 parent;
+ __u64 child;
+ __u32 namelen;
+ __u32 padding;
+};
+
struct fuse_notify_store_out {
__u64 nodeid;
__u64 offset;
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h
index 6435937..8ed555e 100644
--- a/include/fuse_lowlevel.h
+++ b/include/fuse_lowlevel.h
@@ -1323,6 +1323,22 @@ int fuse_lowlevel_notify_inval_entry(struct fuse_chan *ch, fuse_ino_t parent,
const char *name, size_t namelen);
/**
+ * Notify to invalidate parent attributes and delete the dentry matching
+ * parent/name if the dentry's inode number matches child (otherwise it
+ * will invalidate the matching dentry).
+ *
+ * @param ch the channel through which to send the notification
+ * @param parent inode number
+ * @param child inode number
+ * @param name file name
+ * @param namelen strlen() of file name
+ * @return zero for success, -errno for failure
+ */
+int fuse_lowlevel_notify_delete(struct fuse_chan *ch,
+ fuse_ino_t parent, fuse_ino_t child,
+ const char *name, size_t namelen);
+
+/**
* Store data to the kernel buffers
*
* Synchronously store data in the kernel buffers belonging to the