[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