diff options
author | Matt Mower <mowerm@gmail.com> | 2015-12-13 18:31:00 +0100 |
---|---|---|
committer | Ethan Yonker <dees_troy@teamw.in> | 2015-12-23 16:58:04 +0100 |
commit | 523a059fb7d5844ebcca279b2f83aff9164b444c (patch) | |
tree | 4353fa9fa64a17ef2c5548f0c9f73f5e5f389f6a /fuse/include/fuse_lowlevel.h | |
parent | exfat: Update to 1.2.2 (diff) | |
download | android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar.gz android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar.bz2 android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar.lz android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar.xz android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.tar.zst android_bootable_recovery-523a059fb7d5844ebcca279b2f83aff9164b444c.zip |
Diffstat (limited to 'fuse/include/fuse_lowlevel.h')
-rw-r--r-- | fuse/include/fuse_lowlevel.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/fuse/include/fuse_lowlevel.h b/fuse/include/fuse_lowlevel.h index 36cf26ddf..6971f732e 100644 --- a/fuse/include/fuse_lowlevel.h +++ b/fuse/include/fuse_lowlevel.h @@ -462,7 +462,7 @@ struct fuse_lowlevel_ops { * @param off offset to read from * @param fi file information */ - void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off64_t off, + void (*read) (fuse_req_t req, fuse_ino_t ino, size_t size, loff_t off, struct fuse_file_info *fi); /** @@ -489,7 +489,7 @@ struct fuse_lowlevel_ops { * @param fi file information */ void (*write) (fuse_req_t req, fuse_ino_t ino, const char *buf, - size_t size, off64_t off, struct fuse_file_info *fi); + size_t size, loff_t off, struct fuse_file_info *fi); /** * Flush method @@ -612,7 +612,7 @@ struct fuse_lowlevel_ops { * @param off offset to continue reading the directory stream * @param fi file information */ - void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off64_t off, + void (*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, loff_t off, struct fuse_file_info *fi); /** @@ -941,7 +941,7 @@ struct fuse_lowlevel_ops { * @param fi file information */ void (*write_buf) (fuse_req_t req, fuse_ino_t ino, - struct fuse_bufvec *bufv, off64_t off, + struct fuse_bufvec *bufv, loff_t off, struct fuse_file_info *fi); /** @@ -959,7 +959,7 @@ struct fuse_lowlevel_ops { * @param bufv the buffer containing the returned data */ void (*retrieve_reply) (fuse_req_t req, void *cookie, fuse_ino_t ino, - off64_t offset, struct fuse_bufvec *bufv); + loff_t offset, struct fuse_bufvec *bufv); /** * Forget about multiple inodes @@ -1015,7 +1015,7 @@ struct fuse_lowlevel_ops { * see fallocate(2) */ void (*fallocate) (fuse_req_t req, fuse_ino_t ino, int mode, - off64_t offset, off64_t length, struct fuse_file_info *fi); + loff_t offset, loff_t length, struct fuse_file_info *fi); }; /** @@ -1249,7 +1249,7 @@ int fuse_reply_bmap(fuse_req_t req, uint64_t idx); */ size_t fuse_add_direntry(fuse_req_t req, char *buf, size_t bufsize, const char *name, const struct stat *stbuf, - off64_t off); + loff_t off); /** * Reply to ask for data fetch and output buffer preparation. ioctl @@ -1329,12 +1329,16 @@ int fuse_lowlevel_notify_poll(struct fuse_pollhandle *ph); * @return zero for success, -errno for failure */ int fuse_lowlevel_notify_inval_inode(struct fuse_chan *ch, fuse_ino_t ino, - off64_t off, off64_t len); + loff_t off, loff_t len); /** * 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 @@ -1349,6 +1353,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 @@ -1382,7 +1390,7 @@ int fuse_lowlevel_notify_delete(struct fuse_chan *ch, * @return zero for success, -errno for failure */ int fuse_lowlevel_notify_store(struct fuse_chan *ch, fuse_ino_t ino, - off64_t offset, struct fuse_bufvec *bufv, + loff_t offset, struct fuse_bufvec *bufv, enum fuse_buf_copy_flags flags); /** * Retrieve data from the kernel buffers @@ -1410,7 +1418,7 @@ int fuse_lowlevel_notify_store(struct fuse_chan *ch, fuse_ino_t ino, * @return zero for success, -errno for failure */ int fuse_lowlevel_notify_retrieve(struct fuse_chan *ch, fuse_ino_t ino, - size_t size, off64_t offset, void *cookie); + size_t size, loff_t offset, void *cookie); /* ----------------------------------------------------------- * |