From: George Wang <xuw2...@gmail.com>

PPC64 arch use such following IOC values "
\#define _IOC_NONE       1U
\#define _IOC_READ       2U
\#define _IOC_WRITE      4U
" comparing to the default IOC values "
\#define _IOC_NONE       0U
\#define _IOC_READ       2U
\#define _IOC_WRITE      1U"

This means the value "_IOW*" will be negative when we store it in the int
variables. Such as the "BTRFS_IOC_QGROUP_CREATE", it will be "0x4010942e" on
X86_64, but "0x8010942e" on PPC64.
Notice that the IOC values are the "unsigned long" type, so we use the
"unsigned long" to store it, and this can insure the comparison between the
variable and BTRFS_IOC_* valid.

Signed-off-by: George Wang <xuw2...@gmail.com>
---
 cmds-quota.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmds-quota.c b/cmds-quota.c
index 89cc89c..f6a1cfa 100644
--- a/cmds-quota.c
+++ b/cmds-quota.c
@@ -109,7 +109,7 @@ static int cmd_quota_rescan(int argc, char **argv)
        int e;
        char *path = NULL;
        struct btrfs_ioctl_quota_rescan_args args;
-       int ioctlnum = BTRFS_IOC_QUOTA_RESCAN;
+       unsigned long ioctlnum = BTRFS_IOC_QUOTA_RESCAN;
        DIR *dirstream = NULL;
        int wait_for_completion = 0;
 
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to