каковы аргументы внутри обратных вызовов libfuse? - PullRequest
1 голос
/ 05 марта 2019

Я пытался создать простую файловую систему, используя libfuse на моем linux, используя учебник -> https://engineering.facile.it/blog/eng/write-filesystem-fuse/

Но я не мог понять некоторые конкретные вещи.

static int read_callback(const char *path, char *buf, size_t size, off_t offset,
    struct fuse_file_info *fi) 

1. В этой функции read_callback buf является буфером, который содержит фактические данные файла, fi является специальной структурой, которая содержит информацию о файле

что здесь смещено?

  if (offset + size > len) {
      memcpy(buf, filecontent + offset, len - offset);
      return len - offset;
    }   

из кода выше, ясно, что мы пытаемся прочитать файл, используя memcpy, но каково будет значение offsey в каждом вызове.

что здесь за путь?

https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/html/callbacks.html
здесь упоминается, что путь относительно точки монтирования. Может кто-нибудь уточнить это?

Заранее спасибо

...