NFS: Fix a few more clear_bit() instances that need release semantics
All these bits are being used as bit locks. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
		
							parent
							
								
									33c3214bf4
								
							
						
					
					
						commit
						43d20e80e2
					
				| @ -1194,10 +1194,7 @@ static int nfs4_run_state_manager(void *); | ||||
| 
 | ||||
| static void nfs4_clear_state_manager_bit(struct nfs_client *clp) | ||||
| { | ||||
| 	smp_mb__before_atomic(); | ||||
| 	clear_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state); | ||||
| 	smp_mb__after_atomic(); | ||||
| 	wake_up_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING); | ||||
| 	clear_and_wake_up_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state); | ||||
| 	rpc_wake_up(&clp->cl_rpcwaitq); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -271,8 +271,7 @@ nfs_page_set_headlock(struct nfs_page *req) | ||||
| void | ||||
| nfs_page_clear_headlock(struct nfs_page *req) | ||||
| { | ||||
| 	smp_mb__before_atomic(); | ||||
| 	clear_bit(PG_HEADLOCK, &req->wb_flags); | ||||
| 	clear_bit_unlock(PG_HEADLOCK, &req->wb_flags); | ||||
| 	smp_mb__after_atomic(); | ||||
| 	if (!test_bit(PG_CONTENDED1, &req->wb_flags)) | ||||
| 		return; | ||||
| @ -525,12 +524,7 @@ nfs_create_subreq(struct nfs_page *req, | ||||
|  */ | ||||
| void nfs_unlock_request(struct nfs_page *req) | ||||
| { | ||||
| 	if (!NFS_WBACK_BUSY(req)) { | ||||
| 		printk(KERN_ERR "NFS: Invalid unlock attempted\n"); | ||||
| 		BUG(); | ||||
| 	} | ||||
| 	smp_mb__before_atomic(); | ||||
| 	clear_bit(PG_BUSY, &req->wb_flags); | ||||
| 	clear_bit_unlock(PG_BUSY, &req->wb_flags); | ||||
| 	smp_mb__after_atomic(); | ||||
| 	if (!test_bit(PG_CONTENDED2, &req->wb_flags)) | ||||
| 		return; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user