diff options
author | 2007-10-23 20:35:58 +0200 | |
---|---|---|
committer | 2007-10-23 20:35:58 +0200 | |
commit | de26103de56a0c482ad21296eae9b06deefc8e62 (patch) | |
tree | 23f7fe54bc9997c4735dba830dab0c7c6d463826 /include/linux/scatterlist.h | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rol... (diff) | |
download | linux-de26103de56a0c482ad21296eae9b06deefc8e62.tar.gz linux-de26103de56a0c482ad21296eae9b06deefc8e62.tar.bz2 linux-de26103de56a0c482ad21296eae9b06deefc8e62.zip |
[SG] Add debug check for page alignment
Suggested by Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/scatterlist.h')
-rw-r--r-- | include/linux/scatterlist.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 42daf5e15265..df7ddcee7c4b 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -41,6 +41,11 @@ static inline void sg_set_page(struct scatterlist *sg, struct page *page) { unsigned long page_link = sg->page_link & 0x3; + /* + * In order for the low bit stealing approach to work, pages + * must be aligned at a 32-bit boundary as a minimum. + */ + BUG_ON((unsigned long) page & 0x03); #ifdef CONFIG_DEBUG_SG BUG_ON(sg->sg_magic != SG_MAGIC); #endif |