aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--include/fuse_lowlevel.h8
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8100599..4e7da1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-15 Miklos Szeredi <miklos@szeredi.hu>
+
+ * libfuse: document deadlock avoidance for
+ fuse_notify_inval_entry() and fuse_notify_delete()
+
2014-03-26 Miklos Szeredi <miklos@szeredi.hu>
* Initilaize stat buffer passed to ->getattr() and ->fgetattr() to
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h
index 595f061..31ea87f 100644
--- a/include/fuse_lowlevel.h
+++ b/include/fuse_lowlevel.h
@@ -1401,6 +1401,10 @@ int fuse_lowlevel_notify_inval_inode(struct fuse_chan *ch, fuse_ino_t ino,
* Notify to invalidate parent attributes and the dentry matching
* parent/name
*
+ * To avoid a deadlock don't call this function from a filesystem operation and
+ * don't call it with a lock held that can also be held by a filesystem
+ * operation.
+ *
* @param ch the channel through which to send the invalidation
* @param parent inode number
* @param name file name
@@ -1415,6 +1419,10 @@ int fuse_lowlevel_notify_inval_entry(struct fuse_chan *ch, fuse_ino_t parent,
* parent/name if the dentry's inode number matches child (otherwise it
* will invalidate the matching dentry).
*
+ * To avoid a deadlock don't call this function from a filesystem operation and
+ * don't call it with a lock held that can also be held by a filesystem
+ * operation.
+ *
* @param ch the channel through which to send the notification
* @param parent inode number
* @param child inode number