Update to FUSE3 (fuse 3.0) based on 34146444ce

This commit is contained in:
Markus Birth 2020-02-07 19:46:14 +01:00
parent 8f34070b6b
commit b55f7a85ba
Signed by: mbirth
GPG Key ID: A9928D7A098C3A9A
3 changed files with 12 additions and 11 deletions

View File

@ -16,7 +16,7 @@ PKG_CHECK_MODULES(MTP, libmtp >= 1.1.0)
AC_SUBST(MTP_CFLAGS)
AC_SUBST(MTP_LIBS)
PKG_CHECK_MODULES(FUSE, fuse >= 2.6)
PKG_CHECK_MODULES(FUSE, fuse3 >= 3.0)
AC_SUBST(FUSE_CFLAGS)
AC_SUBST(FUSE_LIBS)

View File

@ -22,7 +22,7 @@
#ifndef FUSEHEADER_H_
#define FUSEHEADER_H_
#define FUSE_USE_VERSION 26
#define FUSE_USE_VERSION 30
#include <fuse.h>
#include <fuse_opt.h>

View File

@ -18,7 +18,7 @@
* Boston, MA 02111-1301, USA.
* licensing@fsf.org
*/
#define FUSE_USE_VERSION 26
#define FUSE_USE_VERSION 30
#include "ConnectedMtpDevices.h"
#include "mtpFilesystemErrors.h"
#include "Mutex.h"
@ -73,7 +73,7 @@ RecursiveMutex globalLock;
extern "C" int jmtpfs_getattr(const char* pathStr, struct stat* info)
extern "C" int jmtpfs_getattr(const char* pathStr, struct stat* info, struct fuse_file_info *fi)
{
FUSE_ERROR_BLOCK_START
@ -88,16 +88,17 @@ extern "C" int jmtpfs_getattr(const char* pathStr, struct stat* info)
}
extern "C" int jmtpfs_readdir(const char* pathStr, void* buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
off_t offset, struct fuse_file_info *fi, enum fuse_readdir_flags flags)
{
FUSE_ERROR_BLOCK_START
enum fuse_fill_dir_flags fdflags;
FilesystemPath path(pathStr);
std::unique_ptr<MtpNode> n = context->getNode(path);
std::vector<std::string> contents = n->readdir();
for(std::vector<std::string>::iterator i = contents.begin(); i != contents.end(); i++)
{
if (filler(buf,i->c_str(),0, 0))
if (filler(buf,i->c_str(), 0, 0, fdflags))
return 0;
}
return 0;
@ -185,7 +186,7 @@ extern "C" int jmtpfs_write(const char *pathStr, const char *data, size_t size,
FUSE_ERROR_BLOCK_END
}
extern "C" int jmtpfs_truncate(const char *pathStr, off_t length)
extern "C" int jmtpfs_truncate(const char *pathStr, off_t length, struct fuse_file_info *fi)
{
FUSE_ERROR_BLOCK_START
@ -219,7 +220,7 @@ extern "C" int jmtpfs_flush(const char *pathStr, struct fuse_file_info *)
}
extern "C" int jmtpfs_rename(const char *pathStr, const char *newPathStr)
extern "C" int jmtpfs_rename(const char *pathStr, const char *newPathStr, unsigned int flags)
{
FUSE_ERROR_BLOCK_START
@ -246,7 +247,7 @@ extern "C" int jmtpfs_statfs(const char *pathStr, struct statvfs *stat)
FUSE_ERROR_BLOCK_END
}
extern "C" int jmtpfs_chmod(const char* pathStr, mode_t mode)
extern "C" int jmtpfs_chmod(const char* pathStr, mode_t mode, struct fuse_file_info *fi)
{
FUSE_ERROR_BLOCK_START
@ -259,7 +260,7 @@ extern "C" int jmtpfs_chmod(const char* pathStr, mode_t mode)
FUSE_ERROR_BLOCK_END
}
extern "C" int jmtpfs_utime(const char* pathStr, struct utimbuf*)
extern "C" int jmtpfs_utimens(const char* pathStr, const struct timespec tv[2], struct fuse_file_info *fi)
{
FUSE_ERROR_BLOCK_START
@ -321,7 +322,7 @@ int main(int argc, char *argv[])
jmtpfs_oper.rename = jmtpfs_rename;
jmtpfs_oper.statfs = jmtpfs_statfs;
jmtpfs_oper.chmod = jmtpfs_chmod;
jmtpfs_oper.utime = jmtpfs_utime;
jmtpfs_oper.utimens = jmtpfs_utimens;
jmtpfs_options options;