Skip to content

Commit dee28d5

Browse files
committed
Change u64 to usize in un/register_event
We can safely use usize instead of u64, because normally we will not register a data that exceeds the size of usize Signed-off-by: Wenyu Huang <[email protected]>
1 parent 719eb21 commit dee28d5

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

vhost-user-backend/src/event_loop.rs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ where
116116
///
117117
/// When this event is later triggered, the backend implementation of `handle_event` will be
118118
/// called.
119-
pub fn register_listener(&self, fd: RawFd, ev_type: EventSet, data: u64) -> Result<()> {
119+
pub fn register_listener(&self, fd: RawFd, ev_type: EventSet, data: usize) -> Result<()> {
120120
// `data` range [0...num_queues] is reserved for queues and exit event.
121-
if data <= self.backend.num_queues() as u64 {
121+
if data <= self.backend.num_queues() {
122122
Err(io::Error::from_raw_os_error(libc::EINVAL))
123123
} else {
124124
self.register_event(fd, ev_type, data)
@@ -129,23 +129,29 @@ where
129129
///
130130
/// If the event is triggered after this function has been called, the event will be silently
131131
/// dropped.
132-
pub fn unregister_listener(&self, fd: RawFd, ev_type: EventSet, data: u64) -> Result<()> {
132+
pub fn unregister_listener(&self, fd: RawFd, ev_type: EventSet, data: usize) -> Result<()> {
133133
// `data` range [0...num_queues] is reserved for queues and exit event.
134-
if data <= self.backend.num_queues() as u64 {
134+
if data <= self.backend.num_queues() {
135135
Err(io::Error::from_raw_os_error(libc::EINVAL))
136136
} else {
137137
self.unregister_event(fd, ev_type, data)
138138
}
139139
}
140140

141-
pub(crate) fn register_event(&self, fd: RawFd, ev_type: EventSet, data: u64) -> Result<()> {
142-
self.epoll
143-
.ctl(ControlOperation::Add, fd, EpollEvent::new(ev_type, data))
141+
pub(crate) fn register_event(&self, fd: RawFd, ev_type: EventSet, data: usize) -> Result<()> {
142+
self.epoll.ctl(
143+
ControlOperation::Add,
144+
fd,
145+
EpollEvent::new(ev_type, data as u64),
146+
)
144147
}
145148

146-
pub(crate) fn unregister_event(&self, fd: RawFd, ev_type: EventSet, data: u64) -> Result<()> {
147-
self.epoll
148-
.ctl(ControlOperation::Delete, fd, EpollEvent::new(ev_type, data))
149+
pub(crate) fn unregister_event(&self, fd: RawFd, ev_type: EventSet, data: usize) -> Result<()> {
150+
self.epoll.ctl(
151+
ControlOperation::Delete,
152+
fd,
153+
EpollEvent::new(ev_type, data as u64),
154+
)
149155
}
150156

151157
/// Run the event poll loop to handle all pending events on registered fds.

vhost-user-backend/src/handler.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ where
212212
if shifted_queues_mask & 1u64 == 1u64 {
213213
let evt_idx = queues_mask.count_ones() - shifted_queues_mask.count_ones();
214214
self.handlers[thread_index]
215-
.register_event(fd.as_raw_fd(), EventSet::IN, u64::from(evt_idx))
215+
.register_event(fd.as_raw_fd(), EventSet::IN, evt_idx as usize)
216216
.map_err(VhostUserError::ReqHandlerError)?;
217217
break;
218218
}
@@ -436,7 +436,7 @@ where
436436
if shifted_queues_mask & 1u64 == 1u64 {
437437
let evt_idx = queues_mask.count_ones() - shifted_queues_mask.count_ones();
438438
self.handlers[thread_index]
439-
.unregister_event(fd.as_raw_fd(), EventSet::IN, u64::from(evt_idx))
439+
.unregister_event(fd.as_raw_fd(), EventSet::IN, evt_idx as usize)
440440
.map_err(VhostUserError::ReqHandlerError)?;
441441
break;
442442
}

0 commit comments

Comments
 (0)