what is the best practice in handling suspended and interrupted requests?
I would like not to respond to some kind of readdir() (or maybe opendir())
requests, in order to pause the accessing process until data for that dir is
available (which may mean minutes or more).
Now, since I don't want to assume anything about how the accessing
application accomplishes its tasks, I should expect that some external event
(a timer expiration or a signal) may eventually interrupt the
opendir/readdir call. So, I'm of course going to use
fuse_req_interrupt_func() in order to register an interrupt callback
function when I don't want to respond to a request yet.
My questions are:
- when I finally have data available for the requested directory, do I
only need to issue a fuse_reply_buf/fuse_reply_open to "restart" the
- when an interrupt happens on the suspended request, do I only need to
forget it (i.e.: not reply anymore to it)?
- I assume that there may be many outstanding requests on the very same
channel and that not responding to one of it doesn't impair the others. Am i