Crates.io | nbd-netlink |
lib.rs | nbd-netlink |
version | 0.3.0 |
source | src |
created_at | 2020-08-11 03:48:36.039353 |
updated_at | 2022-07-03 04:05:03.888454 |
description | Set up an NBD device for a specified socket and parameters, using the Linux netlink interface |
homepage | |
repository | https://github.com/joshtriplett/nbd-netlink |
max_upload_size | |
id | 275237 |
size | 8,829 |
nbd-netlink
supports setting up an NBD device for a specified socket and
parameters, using the Linux kernel's netlink interface to NBD. Unlike the
ioctl
-based interface, the netlink interface can hand off a socket to the
kernel without leaving a thread or process running.
use std::net::{Ipv4Addr, TcpStream};
use nbd_netlink::{NBD, NBDConnect};
let nbd_socket = TcpStream::connect((Ipv4Addr::LOCALHOST, 10809))?;
nbd_socket.set_nodelay(true);
let mut nbd = NBD::new()?;
let index = NBDConnect::new()
.size_bytes(1048576)
.read_only(true)
.connect(&mut nbd, &[nbd_socket])?;