Fix/avoid ABI changes

svn path=/dists/sid/linux/; revision=21333
This commit is contained in:
Ben Hutchings 2014-05-13 17:55:06 +00:00
parent 895dfae614
commit dde57c671d
4 changed files with 73 additions and 0 deletions

View File

@ -3,6 +3,8 @@ abiname: 1
ignore-changes:
# Removed, apparently only needed by rdma_cm
ib_update_cm_av
# Private to this group of modules (why are they even separate modules?!)
module:drivers/video/matrox/*
[base]
arches:

View File

@ -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.

View File

@ -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

View File

@ -84,3 +84,5 @@ features/arm/ARM-sun4i-dt-Add-USB-host-bindings.patch
bugfix/all/net-Start-with-correct-mac_len-in-skb_network_protoc.patch
bugfix/all/net-ipv4-current-group_info-should-be-put-after-usin.patch
bugfix/all/filter-prevent-nla-extensions-to-peek-beyond-the-end.patch
debian/libata-avoid-abi-change-in-3.14.4.patch
debian/dm-avoid-abi-change-in-3.14.4.patch