[kernel] r19933 - in dists/sid/linux/debian: config patches patches/debian
Ben Hutchings
benh at alioth.debian.org
Thu Mar 21 14:38:36 UTC 2013
Author: benh
Date: Thu Mar 21 14:38:35 2013
New Revision: 19933
Log:
Resolve ABI changes made by 3.2.41
Revert the change in return type of target_type::status.
Ignore the change to {,un}register_efivars().
Added:
dists/sid/linux/debian/patches/debian/dm-avoid-ABI-change-in-3.2.41.patch
Modified:
dists/sid/linux/debian/config/defines
dists/sid/linux/debian/patches/series
Modified: dists/sid/linux/debian/config/defines
==============================================================================
--- dists/sid/linux/debian/config/defines Thu Mar 21 07:13:31 2013 (r19932)
+++ dists/sid/linux/debian/config/defines Thu Mar 21 14:38:35 2013 (r19933)
@@ -44,6 +44,9 @@
# Should not be used from OOT
kmsg_dump_register
kmsg_dump_unregister
+# Only used by Google firmware module
+ register_efivars
+ unregister_efivars
[base]
arches:
Added: dists/sid/linux/debian/patches/debian/dm-avoid-ABI-change-in-3.2.41.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/dm-avoid-ABI-change-in-3.2.41.patch Thu Mar 21 14:38:35 2013 (r19933)
@@ -0,0 +1,264 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Subject: dm: Avoid ABI change in 3.2.41
+
+Commit fd7c092e711e 'dm: fix truncated status strings', backported
+into 3.2.41, changed the return type of target_type::status from void
+to int. But we can just as easily leave it as int and ignore the
+returned value.
+
+Also, genksyms is too stupid to understand that 'unsigned' is the
+same thing as 'unsigned int'.
+
+--- a/drivers/md/dm-crypt.c
++++ b/drivers/md/dm-crypt.c
+@@ -1725,7 +1725,7 @@ static int crypt_map(struct dm_target *t
+ return DM_MAPIO_SUBMITTED;
+ }
+
+-static void crypt_status(struct dm_target *ti, status_type_t type,
++static int crypt_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct crypt_config *cc = ti->private;
+@@ -1753,6 +1753,7 @@ static void crypt_status(struct dm_targe
+
+ break;
+ }
++ return 0;
+ }
+
+ static void crypt_postsuspend(struct dm_target *ti)
+--- a/drivers/md/dm-delay.c
++++ b/drivers/md/dm-delay.c
+@@ -293,7 +293,7 @@ static int delay_map(struct dm_target *t
+ return delay_bio(dc, dc->read_delay, bio);
+ }
+
+-static void delay_status(struct dm_target *ti, status_type_t type,
++static int delay_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct delay_c *dc = ti->private;
+@@ -314,6 +314,8 @@ static void delay_status(struct dm_targe
+ dc->write_delay);
+ break;
+ }
++
++ return 0;
+ }
+
+ static int delay_iterate_devices(struct dm_target *ti,
+--- a/drivers/md/dm-flakey.c
++++ b/drivers/md/dm-flakey.c
+@@ -331,7 +331,7 @@ static int flakey_end_io(struct dm_targe
+ return error;
+ }
+
+-static void flakey_status(struct dm_target *ti, status_type_t type,
++static int flakey_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ unsigned sz = 0;
+@@ -362,6 +362,7 @@ static void flakey_status(struct dm_targ
+
+ break;
+ }
++ return 0;
+ }
+
+ static int flakey_ioctl(struct dm_target *ti, unsigned int cmd, unsigned long arg)
+--- a/drivers/md/dm-linear.c
++++ b/drivers/md/dm-linear.c
+@@ -94,7 +94,7 @@ static int linear_map(struct dm_target *
+ return DM_MAPIO_REMAPPED;
+ }
+
+-static void linear_status(struct dm_target *ti, status_type_t type,
++static int linear_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct linear_c *lc = (struct linear_c *) ti->private;
+@@ -109,6 +109,7 @@ static void linear_status(struct dm_targ
+ (unsigned long long)lc->start);
+ break;
+ }
++ return 0;
+ }
+
+ static int linear_ioctl(struct dm_target *ti, unsigned int cmd,
+--- a/drivers/md/dm-mpath.c
++++ b/drivers/md/dm-mpath.c
+@@ -1323,7 +1323,7 @@ static void multipath_resume(struct dm_t
+ * [priority selector-name num_ps_args [ps_args]*
+ * num_paths num_selector_args [path_dev [selector_args]* ]+ ]+
+ */
+-static void multipath_status(struct dm_target *ti, status_type_t type,
++static int multipath_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ int sz = 0;
+@@ -1427,6 +1427,8 @@ static void multipath_status(struct dm_t
+ }
+
+ spin_unlock_irqrestore(&m->lock, flags);
++
++ return 0;
+ }
+
+ static int multipath_message(struct dm_target *ti, unsigned argc, char **argv)
+--- a/drivers/md/dm-raid.c
++++ b/drivers/md/dm-raid.c
+@@ -1017,7 +1017,7 @@ static int raid_map(struct dm_target *ti
+ return DM_MAPIO_SUBMITTED;
+ }
+
+-static void raid_status(struct dm_target *ti, status_type_t type,
++static int raid_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct raid_set *rs = ti->private;
+@@ -1153,6 +1153,8 @@ static void raid_status(struct dm_target
+ DMEMIT(" -");
+ }
+ }
++
++ return 0;
+ }
+
+ static int raid_iterate_devices(struct dm_target *ti, iterate_devices_callout_fn fn, void *data)
+--- a/drivers/md/dm-raid1.c
++++ b/drivers/md/dm-raid1.c
+@@ -1358,7 +1358,7 @@ static char device_status_char(struct mi
+ }
+
+
+-static void mirror_status(struct dm_target *ti, status_type_t type,
++static int mirror_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ unsigned int m, sz = 0;
+@@ -1394,6 +1394,8 @@ static void mirror_status(struct dm_targ
+ if (ms->features & DM_RAID1_HANDLE_ERRORS)
+ DMEMIT(" 1 handle_errors");
+ }
++
++ return 0;
+ }
+
+ static int mirror_iterate_devices(struct dm_target *ti,
+--- a/drivers/md/dm-snap.c
++++ b/drivers/md/dm-snap.c
+@@ -1845,7 +1845,7 @@ static void snapshot_merge_resume(struct
+ start_merge(s);
+ }
+
+-static void snapshot_status(struct dm_target *ti, status_type_t type,
++static int snapshot_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ unsigned sz = 0;
+@@ -1892,6 +1892,8 @@ static void snapshot_status(struct dm_ta
+ maxlen - sz);
+ break;
+ }
++
++ return 0;
+ }
+
+ static int snapshot_iterate_devices(struct dm_target *ti,
+@@ -2146,7 +2148,7 @@ static void origin_resume(struct dm_targ
+ ti->split_io = get_origin_minimum_chunksize(dev->bdev);
+ }
+
+-static void origin_status(struct dm_target *ti, status_type_t type,
++static int origin_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct dm_dev *dev = ti->private;
+@@ -2160,6 +2162,8 @@ static void origin_status(struct dm_targ
+ snprintf(result, maxlen, "%s", dev->name);
+ break;
+ }
++
++ return 0;
+ }
+
+ static int origin_merge(struct dm_target *ti, struct bvec_merge_data *bvm,
+--- a/drivers/md/dm-stripe.c
++++ b/drivers/md/dm-stripe.c
+@@ -301,7 +301,7 @@ static int stripe_map(struct dm_target *
+ *
+ */
+
+-static void stripe_status(struct dm_target *ti, status_type_t type,
++static int stripe_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ struct stripe_c *sc = (struct stripe_c *) ti->private;
+@@ -329,6 +329,7 @@ static void stripe_status(struct dm_targ
+ (unsigned long long)sc->stripe[i].physical_start);
+ break;
+ }
++ return 0;
+ }
+
+ static int stripe_end_io(struct dm_target *ti, struct bio *bio,
+--- a/drivers/md/dm-thin.c
++++ b/drivers/md/dm-thin.c
+@@ -2090,7 +2090,7 @@ static int pool_message(struct dm_target
+ * <transaction id> <used metadata sectors>/<total metadata sectors>
+ * <used data sectors>/<total data sectors> <held metadata root>
+ */
+-static void pool_status(struct dm_target *ti, status_type_t type,
++static int pool_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ int r;
+@@ -2171,10 +2171,11 @@ static void pool_status(struct dm_target
+ DMEMIT("skip_block_zeroing ");
+ break;
+ }
+- return;
++ return 0;
+
+ err:
+ DMEMIT("Error");
++ return 0;
+ }
+
+ static int pool_iterate_devices(struct dm_target *ti,
+@@ -2350,7 +2351,7 @@ static void thin_postsuspend(struct dm_t
+ /*
+ * <nr mapped sectors> <highest mapped sector>
+ */
+-static void thin_status(struct dm_target *ti, status_type_t type,
++static int thin_status(struct dm_target *ti, status_type_t type,
+ char *result, unsigned maxlen)
+ {
+ int r;
+@@ -2392,10 +2393,11 @@ static void thin_status(struct dm_target
+ }
+ }
+
+- return;
++ return 0;
+
+ err:
+ DMEMIT("Error");
++ return 0;
+ }
+
+ static int thin_iterate_devices(struct dm_target *ti,
+--- a/include/linux/device-mapper.h
++++ b/include/linux/device-mapper.h
+@@ -72,8 +72,8 @@ typedef void (*dm_postsuspend_fn) (struc
+ typedef int (*dm_preresume_fn) (struct dm_target *ti);
+ typedef void (*dm_resume_fn) (struct dm_target *ti);
+
+-typedef void (*dm_status_fn) (struct dm_target *ti, status_type_t status_type,
+- char *result, unsigned maxlen);
++typedef int (*dm_status_fn) (struct dm_target *ti, status_type_t status_type,
++ char *result, unsigned int maxlen);
+
+ typedef int (*dm_message_fn) (struct dm_target *ti, unsigned argc, char **argv);
+
Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series Thu Mar 21 07:13:31 2013 (r19932)
+++ dists/sid/linux/debian/patches/series Thu Mar 21 14:38:35 2013 (r19933)
@@ -626,3 +626,4 @@
bugfix/all/vhost-net-fix-heads-usage-of-ubuf_info.patch
bugfix/all/udf-avoid-info-leak-on-export.patch
bugfix/all/isofs-avoid-info-leak-on-export.patch
+debian/dm-avoid-ABI-change-in-3.2.41.patch
More information about the Kernel-svn-changes
mailing list