Commit edcf4748 authored by Johannes Weiner's avatar Johannes Weiner Committed by Linus Torvalds

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: default avatarJohannes Weiner <hannes@cmpxchg.org>
Cc: Christoph Lameter <cl@linux-foundation.org>
Reviewed-by: default avatarChristoph Lameter <cl@linux-foundation.org>
Reviewed-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6c0b1351
...@@ -402,8 +402,8 @@ static inline void __ClearPageTail(struct page *page) ...@@ -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) ...@@ -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, ...@@ -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) ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment