Currently AppFuse tries to terminate its message loop when it receives
FUSE_FORGET. But kernel continues to dispatch messages after FUSE_FORGET
and it should not terminate AppFuse meesage loop.
Change-Id: I070a71c35a8d80bcaaf7603305d219e65be97bc9
Fixes: 28508169
Previously MtpDocumentsProvider used pipes to transfer bytes from an
application to the provider when writing a document. The problem was
application could not ensure that the last chunk of bytes was
successfully written to MTP device, since pipes had been already closed
when the provider transferred bytes to MTP device. Though the provider
encountered an error, the provider could not report the error to an
application.
The CL switches the method to transfer bytes from pipes to AppFuse. Now
application can flush() bytes on the file descriptor, and flush will not
complete until the provider completes writing bytes to MTP device.
Fixed: 23093747
Change-Id: I4e28f8cbf19d6c97e591943349a7535241d768f7
The CL adds a handler for FUSE_WRITE command which invokes a Java
handler.
BUG=23093747
Change-Id: I1903fca6b5663e6241ad540a89fe812310ba6810
(cherry picked from commit 35693da25af11583053d4af6a70d4acbf446978d)
Previously AppFuse getObjectBytes returns byte array and the array's
length needs to equals to the exact number of bytes the method read.
The CL change the function signature so that it can return the number of
read bytes. And reuse a buffer array instead of slicing the array with
valid length.
BUG=None
Change-Id: I78b714554cac9ae71b895cb8929bc98969f5a8ca
* Allow buffer size that is greater than requested read size in JNI,
because we reuse fixed-size buffer among multiple requests.
* Fix condition to check if the file size is greater than 4GB or
not. We need to use 0xffffffffl instead of 0xffffffff because
0xffffffff is int and its value is -1.
BUG=None
Change-Id: I155916e139353b15dc1ab535234faf50d942996d
Previously IllegalStateException is thrown in app fuse main loop, if the
loop thread starts just after closing device FD.
BUG=None
Change-Id: Ia5232857d29f9f324446aa38acf3c062f359d406
* Return attributes for all files as well as root.
* Fix buffer size for reading and add a check for reading size.
BUG=25756419
Change-Id: I572f718bc01d96616ec94f85d800b8b57eedd2ea
The CL lets MountService to observe device FD, and request unmount to
vold when the device FD was closed, or remote application providing
appfuse is crashed.
BUG=25756420
Change-Id: I7990694d32affa7f89e3f40badb25098d74d744d