mm: return boolean from page_has_private()

Make page_has_private() return a true boolean value and remove the double
negations from the two callsites using it for arithmetic.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Christoph Lameter <cl@linux-foundation.org>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Johannes Weiner 2009-09-21 17:02:59 -07:00 коммит произвёл Linus Torvalds
Родитель 6c0b13519d
Коммит edcf4748cd
3 изменённых файлов: 10 добавлений и 7 удалений

Просмотреть файл

@ -402,8 +402,8 @@ static inline void __ClearPageTail(struct page *page)
*/ */
#define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1) #define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
#endif /* !__GENERATING_BOUNDS_H */ #define PAGE_FLAGS_PRIVATE \
(1 << PG_private | 1 << PG_private_2)
/** /**
* page_has_private - Determine if page has private stuff * page_has_private - Determine if page has private stuff
* @page: The page to be checked * @page: The page to be checked
@ -411,8 +411,11 @@ static inline void __ClearPageTail(struct page *page)
* Determine if a page has private stuff, indicating that release routines * Determine if a page has private stuff, indicating that release routines
* should be invoked upon it. * should be invoked upon it.
*/ */
#define page_has_private(page) \ static inline int page_has_private(struct page *page)
((page)->flags & ((1 << PG_private) | \ {
(1 << PG_private_2))) return !!(page->flags & PAGE_FLAGS_PRIVATE);
}
#endif /* !__GENERATING_BOUNDS_H */
#endif /* PAGE_FLAGS_H */ #endif /* PAGE_FLAGS_H */

Просмотреть файл

@ -272,7 +272,7 @@ static int migrate_page_move_mapping(struct address_space *mapping,
pslot = radix_tree_lookup_slot(&mapping->page_tree, pslot = radix_tree_lookup_slot(&mapping->page_tree,
page_index(page)); page_index(page));
expected_count = 2 + !!page_has_private(page); expected_count = 2 + page_has_private(page);
if (page_count(page) != expected_count || if (page_count(page) != expected_count ||
(struct page *)radix_tree_deref_slot(pslot) != page) { (struct page *)radix_tree_deref_slot(pslot) != page) {
spin_unlock_irq(&mapping->tree_lock); spin_unlock_irq(&mapping->tree_lock);

Просмотреть файл

@ -286,7 +286,7 @@ static inline int page_mapping_inuse(struct page *page)
static inline int is_page_cache_freeable(struct page *page) static inline int is_page_cache_freeable(struct page *page)
{ {
return page_count(page) - !!page_has_private(page) == 2; return page_count(page) - page_has_private(page) == 2;
} }
static int may_write_to_queue(struct backing_dev_info *bdi) static int may_write_to_queue(struct backing_dev_info *bdi)