summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-01-16 12:05:01 -0500
committerChris Mason <chris.mason@oracle.com>2009-01-16 12:05:01 -0500
commitf9f3fff9a4cec2d241b2a04ac10261ecd18134dc (patch)
tree22be0bb9bfead97548f18fe66af9d4fb574ce341 /utils.c
parent6fc10e9fe39410ed606506584e3a07fd21dc1e6b (diff)
Fix ioctl arg size (userland incompatible change!)
The structure used to send device in btrfs ioctl calls was not properly aligned, and so 32 bit ioctls would not work properly on 64 bit kernels. We could fix this with compat ioctls, but we're just one byte away and it doesn't make sense at this stage to carry about the compat ioctls forever at this stage in the project. This patch brings the ioctl arg up to an evenly aligned 4k. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/utils.c b/utils.c
index 694a92f3..8f49c7aa 100644
--- a/utils.c
+++ b/utils.c
@@ -653,18 +653,13 @@ void btrfs_register_one_device(char *fname)
fd = open("/dev/btrfs-control", O_RDONLY);
if (fd < 0) {
- fprintf(stderr, "failed to open"
- "/dev/btrfs-control\n");
- exit(1);
+ fprintf(stderr, "failed to open /dev/btrfs-control "
+ "skipping device registration\n");
+ return;
}
strcpy(args.name, fname);
ret = ioctl(fd, BTRFS_IOC_SCAN_DEV, &args);
close(fd);
- if (ret < 0) {
- fprintf(stderr, "failed to register device %s\n",
- fname);
- exit(1);
- }
}
int btrfs_scan_one_dir(char *dirname, int run_ioctl)