summaryrefslogtreecommitdiff
path: root/debian/patches/debian
diff options
context:
space:
mode:
authorBen Hutchings <benh@debian.org>2014-05-13 17:55:06 +0000
committerBen Hutchings <benh@debian.org>2014-05-13 17:55:06 +0000
commitdde57c671d0ab009e8fd0fa90eca2e8f0b866eae (patch)
treee811243b28107bf8e70acd66596f5be8c5fd10f6 /debian/patches/debian
parent895dfae614e90432d46b2f8d83945a860bda93cd (diff)
Fix/avoid ABI changes
svn path=/dists/sid/linux/; revision=21333
Diffstat (limited to 'debian/patches/debian')
-rw-r--r--debian/patches/debian/dm-avoid-abi-change-in-3.14.4.patch38
-rw-r--r--debian/patches/debian/libata-avoid-abi-change-in-3.14.4.patch31
2 files changed, 69 insertions, 0 deletions
diff --git a/debian/patches/debian/dm-avoid-abi-change-in-3.14.4.patch b/debian/patches/debian/dm-avoid-abi-change-in-3.14.4.patch
new file mode 100644
index 000000000..05ae1eb15
--- /dev/null
+++ b/debian/patches/debian/dm-avoid-abi-change-in-3.14.4.patch
@@ -0,0 +1,38 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Tue, 13 May 2014 18:48:29 +0100
+Subject: dm: Avoid ABI change in 3.14.4
+
+The dm_bm_flush_and_unlock() function was replaced by dm_bm_flush().
+As both callers were changed to call dm_bm_unlock() and then
+dm_bm_flush(), restore dm_bm_flush_and_unlock() as a trivial
+function that does just that.
+
+--- a/drivers/md/persistent-data/dm-block-manager.c
++++ b/drivers/md/persistent-data/dm-block-manager.c
+@@ -604,6 +604,15 @@ int dm_bm_flush(struct dm_block_manager
+ }
+ EXPORT_SYMBOL_GPL(dm_bm_flush);
+
++int dm_bm_flush_and_unlock(struct dm_block_manager *bm,
++ struct dm_block *superblock)
++{
++ dm_bm_unlock(superblock);
++
++ return dm_bm_flush(bm);
++}
++EXPORT_SYMBOL_GPL(dm_bm_flush_and_unlock);
++
+ void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b)
+ {
+ dm_bufio_prefetch(bm->bufio, b, 1);
+--- a/drivers/md/persistent-data/dm-block-manager.h
++++ b/drivers/md/persistent-data/dm-block-manager.h
+@@ -106,6 +106,8 @@ int dm_bm_unlock(struct dm_block *b);
+ * This method always blocks.
+ */
+ int dm_bm_flush(struct dm_block_manager *bm);
++int dm_bm_flush_and_unlock(struct dm_block_manager *bm,
++ struct dm_block *superblock);
+
+ /*
+ * Request data is prefetched into the cache.
diff --git a/debian/patches/debian/libata-avoid-abi-change-in-3.14.4.patch b/debian/patches/debian/libata-avoid-abi-change-in-3.14.4.patch
new file mode 100644
index 000000000..02956f51c
--- /dev/null
+++ b/debian/patches/debian/libata-avoid-abi-change-in-3.14.4.patch
@@ -0,0 +1,31 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Tue, 13 May 2014 18:39:19 +0100
+Subject: libata: Avoid ABI change in 3.14.4
+
+Commit 8a4aeec8d2d6 ("libata/ahci: accommodate tag ordered
+controllers") added the ata_port::last_tag field. As this structure
+is always allocated in libata (by ata_port_alloc()) and the field is
+only used by libata, we can move it to the end and hide it from
+genksyms.
+
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -822,7 +822,6 @@ struct ata_port {
+ unsigned long qc_allocated;
+ unsigned int qc_active;
+ int nr_active_links; /* #links with active qcs */
+- unsigned int last_tag; /* track next tag hw expects */
+
+ struct ata_link link; /* host default link */
+ struct ata_link *slave_link; /* see ata_slave_link_init() */
+@@ -863,6 +862,10 @@ struct ata_port {
+ #endif
+ /* owned by EH */
+ u8 sector_buf[ATA_SECT_SIZE] ____cacheline_aligned;
++
++#ifndef __GENKSYMS__
++ unsigned int last_tag; /* track next tag hw expects */
++#endif
+ };
+
+ /* The following initializer overrides a method to NULL whether one of