mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
NFS: Remove nfs_page_group_clear_bits()
At this point, we only expect ever to potentially see PG_REMOVE and PG_TEARDOWN being set on the subrequests. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
5b2b5187fa
commit
902a4c0046
@ -347,22 +347,6 @@ static void nfs_end_page_writeback(struct nfs_page *req)
|
||||
clear_bdi_congested(inode_to_bdi(inode), BLK_RW_ASYNC);
|
||||
}
|
||||
|
||||
|
||||
/* nfs_page_group_clear_bits
|
||||
* @req - an nfs request
|
||||
* clears all page group related bits from @req
|
||||
*/
|
||||
static void
|
||||
nfs_page_group_clear_bits(struct nfs_page *req)
|
||||
{
|
||||
clear_bit(PG_TEARDOWN, &req->wb_flags);
|
||||
clear_bit(PG_UNLOCKPAGE, &req->wb_flags);
|
||||
clear_bit(PG_UPTODATE, &req->wb_flags);
|
||||
clear_bit(PG_WB_END, &req->wb_flags);
|
||||
clear_bit(PG_REMOVE, &req->wb_flags);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* nfs_unroll_locks_and_wait - unlock all newly locked reqs and wait on @req
|
||||
*
|
||||
@ -417,13 +401,12 @@ nfs_destroy_unlinked_subrequests(struct nfs_page *destroy_list,
|
||||
/* make sure old group is not used */
|
||||
subreq->wb_this_page = subreq;
|
||||
|
||||
clear_bit(PG_REMOVE, &subreq->wb_flags);
|
||||
|
||||
/* Note: races with nfs_page_group_destroy() */
|
||||
if (!kref_read(&subreq->wb_kref)) {
|
||||
bool freeme = test_bit(PG_TEARDOWN, &subreq->wb_flags);
|
||||
|
||||
nfs_page_group_clear_bits(subreq);
|
||||
/* Check if we raced with nfs_page_group_destroy() */
|
||||
if (freeme)
|
||||
if (test_and_clear_bit(PG_TEARDOWN, &subreq->wb_flags))
|
||||
nfs_free_request(subreq);
|
||||
continue;
|
||||
}
|
||||
@ -437,7 +420,6 @@ nfs_destroy_unlinked_subrequests(struct nfs_page *destroy_list,
|
||||
spin_unlock(&inode->i_lock);
|
||||
}
|
||||
|
||||
nfs_page_group_clear_bits(subreq);
|
||||
/* subreq is now totally disconnected from page group or any
|
||||
* write / commit lists. last chance to wake any waiters */
|
||||
nfs_unlock_and_release_request(subreq);
|
||||
@ -573,11 +555,6 @@ try_again:
|
||||
spin_unlock(&inode->i_lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* prepare head request to be added to new pgio descriptor
|
||||
*/
|
||||
nfs_page_group_clear_bits(head);
|
||||
|
||||
nfs_page_group_unlock(head);
|
||||
|
||||
nfs_destroy_unlinked_subrequests(destroy_list, head, inode);
|
||||
|
Loading…
Reference in New Issue
Block a user