summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2014-07-15 11:57:37 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2014-07-15 11:57:37 +0200
commit780d47bbea52f1760908653f131063229053896b (patch)
tree07a634a3446a9cf940aa12b34dd346dd0fcc81e4
parent3f357f06ed4bb75244e745641af1c53d5b3d9984 (diff)
downloadfuse-780d47bbea52f1760908653f131063229053896b.tar.gz
libfuse: document deadlock avoidance for fuse_notify_inval_entry()
and fuse_notify_delete() Reported by Han-Wen Nienhuys
-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