Skip to content

Commit

Permalink
ceph: use mapping->nrpages to determine if mapping is empty
Browse files Browse the repository at this point in the history
This is simpler and faster.

Signed-off-by: Sage Weil <sage@newdream.net>
  • Loading branch information
Sage Weil committed Oct 20, 2010
1 parent 93afd44 commit 18a3819
Showing 1 changed file with 1 addition and 12 deletions.
13 changes: 1 addition & 12 deletions fs/ceph/caps.c
Original file line number Diff line number Diff line change
Expand Up @@ -1417,17 +1417,6 @@ static int __mark_caps_flushing(struct inode *inode,
/*
* try to invalidate mapping pages without blocking.
*/
static int mapping_is_empty(struct address_space *mapping)
{
struct page *page = find_get_page(mapping, 0);

if (!page)
return 1;

put_page(page);
return 0;
}

static int try_nonblocking_invalidate(struct inode *inode)
{
struct ceph_inode_info *ci = ceph_inode(inode);
Expand All @@ -1437,7 +1426,7 @@ static int try_nonblocking_invalidate(struct inode *inode)
invalidate_mapping_pages(&inode->i_data, 0, -1);
spin_lock(&inode->i_lock);

if (mapping_is_empty(&inode->i_data) &&
if (inode->i_data.nrpages == 0 &&
invalidating_gen == ci->i_rdcache_gen) {
/* success. */
dout("try_nonblocking_invalidate %p success\n", inode);
Expand Down

0 comments on commit 18a3819

Please sign in to comment.