Lines Matching refs:fi
201 struct fuse_file_info *fi)
207 (void) fi;
217 int valid, struct fuse_file_info *fi)
226 if (fi) {
227 res = fchmod(fi->fh, attr->st_mode);
247 if (fi) {
248 res = ftruncate(fi->fh, attr->st_size);
274 if (fi)
275 res = futimens(fi->fh, tv);
284 return lo_getattr(req, ino, fi);
591 static struct lo_dirp *lo_dirp(struct fuse_file_info *fi)
593 return (struct lo_dirp *) (uintptr_t) fi->fh;
596 static void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
618 fi->fh = (uintptr_t) d;
620 fi->cache_readdir = 1;
621 fuse_reply_open(req, fi);
642 off_t offset, struct fuse_file_info *fi, int plus)
644 struct lo_dirp *d = lo_dirp(fi);
735 off_t offset, struct fuse_file_info *fi)
737 lo_do_readdir(req, ino, size, offset, fi, 0);
741 off_t offset, struct fuse_file_info *fi)
743 lo_do_readdir(req, ino, size, offset, fi, 1);
746 static void lo_releasedir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
748 struct lo_dirp *d = lo_dirp(fi);
756 mode_t mode, struct fuse_file_info *fi)
768 (fi->flags | O_CREAT) & ~O_NOFOLLOW, mode);
772 fi->fh = fd;
774 fi->direct_io = 1;
776 fi->keep_cache = 1;
782 fuse_reply_create(req, &e, fi);
786 struct fuse_file_info *fi)
789 int fd = dirfd(lo_dirp(fi)->dp);
798 static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
806 ino, fi->flags);
810 if (lo->writeback && (fi->flags & O_ACCMODE) == O_WRONLY) {
811 fi->flags &= ~O_ACCMODE;
812 fi->flags |= O_RDWR;
821 if (lo->writeback && (fi->flags & O_APPEND))
822 fi->flags &= ~O_APPEND;
825 fd = open(buf, fi->flags & ~O_NOFOLLOW);
829 fi->fh = fd;
831 fi->direct_io = 1;
833 fi->keep_cache = 1;
834 fuse_reply_open(req, fi);
837 static void lo_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
841 close(fi->fh);
845 static void lo_flush(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi)
849 res = close(dup(fi->fh));
854 struct fuse_file_info *fi)
859 res = fdatasync(fi->fh);
861 res = fsync(fi->fh);
866 off_t offset, struct fuse_file_info *fi)
875 buf.buf[0].fd = fi->fh;
883 struct fuse_file_info *fi)
890 out_buf.buf[0].fd = fi->fh;
917 off_t offset, off_t length, struct fuse_file_info *fi)
923 err = fallocate(fi->fh, mode, offset, length);
933 err = posix_fallocate(fi->fh, offset, length);
939 static void lo_flock(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi,
945 res = flock(fi->fh, op);
1128 struct fuse_file_info *fi)
1133 res = lseek(fi->fh, off, whence);