Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 902a4c00 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

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: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent 5b2b5187
Loading
Loading
Loading
Loading
+3 −26
Original line number Diff line number Diff line
@@ -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 @@ nfs_lock_and_join_requests(struct page *page)
		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);