SerCeMan / jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)
MIT License
365 stars 87 forks source link

Could we support *writeback_cache* option #66

Open LuQQiu opened 5 years ago

LuQQiu commented 5 years ago

The libfuse 3.X works good with jnr-fuse and I hope to know how could I enable writeback_cache option with jnr-fuse?

Any example or explanation is welcome.

Thanks a lot

SerCeMan commented 5 years ago

Hey, @LuQQiu!

You can pass mount options when you mount the fuse fs, here is the method that takes fuseOpts as a parameter https://github.com/SerCeMan/jnr-fuse/blob/99245608422ac46ee0b9bd5135d422a664f28ef2/src/main/java/ru/serce/jnrfuse/AbstractFuseFS.java#L237

LuQQiu commented 5 years ago

Hi @SerCeMan,

Thanks for the information, I will try to use -o writeback mount option or maybe -o writeback_cache to see if one of them works.

LuQQiu commented 5 years ago

It is illustrated in this link that writeback_cache is not option that I can pass on the command line to the filesystem, but options that the filesystem can internally pass to libfuse.

The recommended way to enable the writeback cache is to set a flag in file system's init() handler, see eg. https://github.com/libfuse/libfuse/blob/master/test/test_write_cache.c#L46.

writeback_cache is a strong feature introduced in kernel 3.15 which is likely to improve the write performance. @SerCeMan Would we be able to enable writeback cache through jnr-fuse?

SerCeMan commented 4 years ago

Hey, @LuQQiu! Sorry, for the late reply, but as far as I can see from the example you linked, fuseOpts does exactly what you linked above.