ceph: don't save sent messages on lossy connections
For lossy connections we drop all state on socket errors, so there is no reason to keep sent ceph_msg's around. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
		
					parent
					
						
							
								92ac41d0a4
							
						
					
				
			
			
				commit
				
					
						b3d1dbbdd5
					
				
			
		
					 1 changed files with 7 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -453,12 +453,16 @@ static void prepare_write_message(struct ceph_connection *con)
 | 
			
		|||
		con->out_kvec_bytes = 1 + sizeof(con->out_temp_ack);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* move message to sending/sent list */
 | 
			
		||||
	m = list_first_entry(&con->out_queue,
 | 
			
		||||
		       struct ceph_msg, list_head);
 | 
			
		||||
	con->out_msg = m;
 | 
			
		||||
	ceph_msg_get(m);
 | 
			
		||||
	list_move_tail(&m->list_head, &con->out_sent);
 | 
			
		||||
	if (test_bit(LOSSYTX, &con->state)) {
 | 
			
		||||
		/* put message on sent list */
 | 
			
		||||
		ceph_msg_get(m);
 | 
			
		||||
		list_move_tail(&m->list_head, &con->out_sent);
 | 
			
		||||
	} else {
 | 
			
		||||
		list_del_init(&m->list_head);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	m->hdr.seq = cpu_to_le64(++con->out_seq);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue