Closed bAndie91 closed 6 years ago
Is it backwards-compatible with old (pre-open
/create
) scripts?
Maybe the new feature should be documented in the xmp
example? Or maybe better a new example added: xmp_proxy
.
@vi, ye I want to keep the compatibility. open
and create
scripts are kept invoked.
the main extension here is that when open
(create
) script prints out something, then execfuse takes it a physical path and open()
s that "real" file (real open()
stil can be resulted in error case). further fuse operations againts this kind of file descriptor will be forwarded to the system, not to user scripts. eg: execfuse_write -> pwrite(), execfuse_ftruncate -> ftruncate().
this extension does not only resolves the 64K limit of virtual files managed by chunked_buffer, but also speeds up a little bit in cases when user does not want to alter certain files' content.
What's the 64K limit? execfuse
is supposed to work with files that can be fit in memory.
@vi, sorry i loosely interpreted the code and got the intention chunk size to be the max file size. take my fix PR as an apology. :) anyway thanks accepting feature.
mode_t
to octal-represented stringopen
script may output a physical file path which will be opened and file descriptor operations will be performed against this fd. operations supporting "backend file" feature:call_script_stdout_ret()
which not only saves the output but also preserves the return code of called script.