Browse Source
Merge pull request #1137 from trapexit/btrfs-ioctl
Return NOTTY for all btrfs ioctl calls
pull/1139/head
trapexit
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
12 additions and
0 deletions
-
src/fuse_ioctl.cpp
|
|
@ -44,6 +44,9 @@ typedef char IOCTL_BUF[4096]; |
|
|
|
#define IOCTL_APP_TYPE 0xDF
|
|
|
|
#define IOCTL_FILE_INFO _IOWR(IOCTL_APP_TYPE,0,IOCTL_BUF)
|
|
|
|
|
|
|
|
// From linux/btrfs.h
|
|
|
|
#define BTRFS_IOCTL_MAGIC 0x94
|
|
|
|
|
|
|
|
#ifndef FS_IOC_GETFLAGS
|
|
|
|
# define FS_IOC_GETFLAGS _IOR('f',1,long)
|
|
|
|
#endif
|
|
|
@ -314,6 +317,13 @@ namespace l |
|
|
|
return (_IOC_TYPE(cmd_) == IOCTL_APP_TYPE); |
|
|
|
} |
|
|
|
|
|
|
|
static |
|
|
|
bool |
|
|
|
is_btrfs_ioctl_cmd(const unsigned long cmd_) |
|
|
|
{ |
|
|
|
return (_IOC_TYPE(cmd_) == BTRFS_IOCTL_MAGIC); |
|
|
|
} |
|
|
|
|
|
|
|
static |
|
|
|
int |
|
|
|
ioctl_custom(const fuse_file_info_t *ffi_, |
|
|
@ -340,6 +350,8 @@ namespace FUSE |
|
|
|
void *data_, |
|
|
|
uint32_t *out_bufsz_) |
|
|
|
{ |
|
|
|
if(l::is_btrfs_ioctl_cmd(cmd_)) |
|
|
|
return -ENOTTY; |
|
|
|
if(l::is_mergerfs_ioctl_cmd(cmd_)) |
|
|
|
return l::ioctl_custom(ffi_,cmd_,data_); |
|
|
|
|
|
|
|