OSDN Git Service

ANDROID: dm-verity: adopt changes made to dm callbacks
authorBadhri Jagan Sridharan <Badhri@google.com>
Tue, 9 Aug 2016 19:47:37 +0000 (12:47 -0700)
committerVikram Mulukutla <markivx@codeaurora.org>
Fri, 28 Oct 2016 21:47:04 +0000 (14:47 -0700)
v4.4 introduced changes to the callbacks used for
dm-linear and dm-verity-target targets. Move to those headers
in dm-android-verity.

Verified on hikey while having
BOARD_USES_RECOVERY_AS_BOOT := true
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true

BUG: 27339727
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Ic64950c3b55f0a6eaa570bcedc2ace83bbf3005e
Git-commit: aa3cda16a57e73e9fc269e1de1eb3c35f3f0ed20
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
drivers/md/dm-android-verity.c
drivers/md/dm-android-verity.h
drivers/md/dm-linear.c
drivers/md/dm-verity-target.c
drivers/md/dm-verity.h

index 1f4eb09..15ce2a8 100644 (file)
@@ -59,8 +59,7 @@ static struct target_type android_verity_target = {
        .dtr                    = verity_dtr,
        .map                    = verity_map,
        .status                 = verity_status,
-       .ioctl                  = verity_ioctl,
-       .merge                  = verity_merge,
+       .prepare_ioctl          = verity_prepare_ioctl,
        .iterate_devices        = verity_iterate_devices,
        .io_hints               = verity_io_hints,
 };
@@ -637,8 +636,7 @@ static int add_as_linear_device(struct dm_target *ti, char *dev)
        android_verity_target.dtr = dm_linear_dtr,
        android_verity_target.map = dm_linear_map,
        android_verity_target.status = dm_linear_status,
-       android_verity_target.ioctl = dm_linear_ioctl,
-       android_verity_target.merge = dm_linear_merge,
+       android_verity_target.prepare_ioctl = dm_linear_prepare_ioctl,
        android_verity_target.iterate_devices = dm_linear_iterate_devices,
        android_verity_target.io_hints = NULL;
 
@@ -676,7 +674,7 @@ static int android_verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
        struct fec_ecc_metadata uninitialized_var(ecc);
        char buf[FEC_ARG_LENGTH], *buf_ptr;
        unsigned long long tmpll;
-       u64 device_size;
+       u64  uninitialized_var(device_size);
 
        if (argc == 1) {
                /* Use the default keyid */
@@ -896,7 +894,7 @@ static int __init dm_android_verity_init(void)
        }
 
        file = debugfs_create_bool("target_added", S_IRUGO, debug_dir,
-                               (u32 *)&target_added);
+                               &target_added);
 
        if (IS_ERR_OR_NULL(file)) {
                DMERR("Cannot create android_verity debugfs directory: %ld",
@@ -906,7 +904,7 @@ static int __init dm_android_verity_init(void)
        }
 
        file = debugfs_create_bool("verity_enabled", S_IRUGO, debug_dir,
-                               (u32 *)&verity_enabled);
+                               &verity_enabled);
 
        if (IS_ERR_OR_NULL(file)) {
                DMERR("Cannot create android_verity debugfs directory: %ld",
index 782e1c8..0fcd54a 100644 (file)
@@ -116,10 +116,8 @@ extern void dm_linear_dtr(struct dm_target *ti);
 extern int dm_linear_map(struct dm_target *ti, struct bio *bio);
 extern void dm_linear_status(struct dm_target *ti, status_type_t type,
                        unsigned status_flags, char *result, unsigned maxlen);
-extern int dm_linear_ioctl(struct dm_target *ti, unsigned int cmd,
-               unsigned long arg);
-extern int dm_linear_merge(struct dm_target *ti, struct bvec_merge_data *bvm,
-               struct bio_vec *biovec, int max_size);
+extern int dm_linear_prepare_ioctl(struct dm_target *ti,
+                struct block_device **bdev, fmode_t *mode);
 extern int dm_linear_iterate_devices(struct dm_target *ti,
                        iterate_devices_callout_fn fn, void *data);
 extern int dm_linear_ctr(struct dm_target *ti, unsigned int argc, char **argv);
index 74caca2..8505a77 100644 (file)
@@ -116,7 +116,7 @@ void dm_linear_status(struct dm_target *ti, status_type_t type,
        }
 }
 
-static int dm_linear_prepare_ioctl(struct dm_target *ti,
+int dm_linear_prepare_ioctl(struct dm_target *ti,
                struct block_device **bdev, fmode_t *mode)
 {
        struct linear_c *lc = (struct linear_c *) ti->private;
index 65835f1..5214ed2 100644 (file)
@@ -656,7 +656,7 @@ void verity_status(struct dm_target *ti, status_type_t type,
        }
 }
 
-static int verity_prepare_ioctl(struct dm_target *ti,
+int verity_prepare_ioctl(struct dm_target *ti,
                struct block_device **bdev, fmode_t *mode)
 {
        struct dm_verity *v = ti->private;
index 767d8a4..1b1c11c 100644 (file)
@@ -129,10 +129,8 @@ extern int verity_hash_for_block(struct dm_verity *v, struct dm_verity_io *io,
 
 extern void verity_status(struct dm_target *ti, status_type_t type,
                        unsigned status_flags, char *result, unsigned maxlen);
-extern int verity_ioctl(struct dm_target *ti, unsigned cmd,
-                       unsigned long arg);
-extern int verity_merge(struct dm_target *ti, struct bvec_merge_data *bvm,
-                       struct bio_vec *biovec, int max_size);
+extern int verity_prepare_ioctl(struct dm_target *ti,
+                struct block_device **bdev, fmode_t *mode);
 extern int verity_iterate_devices(struct dm_target *ti,
                                iterate_devices_callout_fn fn, void *data);
 extern void verity_io_hints(struct dm_target *ti, struct queue_limits *limits);