Skip to content
  • Heiko Carstens's avatar
    [PATCH] own header file for struct page · 5b99cd0e
    Heiko Carstens authored
    
    
    This moves the definition of struct page from mm.h to its own header file
    page-struct.h.  This is a prereq to fix SetPageUptodate which is broken on
    s390:
    
    #define SetPageUptodate(_page)
           do {
                   struct page *__page = (_page);
                   if (!test_and_set_bit(PG_uptodate, &__page->flags))
                           page_test_and_clear_dirty(_page);
           } while (0)
    
    _page gets used twice in this macro which can cause subtle bugs.  Using
    __page for the page_test_and_clear_dirty call doesn't work since it causes
    yet another problem with the page_test_and_clear_dirty macro as well.
    
    In order to avoid all these problems caused by macros it seems to be a good
    idea to get rid of them and convert them to static inline functions.
    Because of header file include order it's necessary to have a seperate
    header file for the struct page definition.
    
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    5b99cd0e