[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How to safely disconnect NBD device



Hello,

(Following up from
https://listman.redhat.com/archives/libguestfs/2022-May/028820.html)

I was experimenting with nbd, and found that running a command like:

$ nbd-client localhost /dev/nbd1 && mkfs.ext4 /dev/nbd1 && nbd-client -d
/dev/nbd1

Frequently gives me errors like this:

May 02 15:20:50 vostro.rath.org kernel: nbd1: detected capacity change from 0 to 52428800
May 02 15:20:50 vostro.rath.org kernel: block nbd1: NBD_DISCONNECT
May 02 15:20:50 vostro.rath.org kernel: block nbd1: Disconnected due to user request.
May 02 15:20:50 vostro.rath.org kernel: block nbd1: shutting down sockets
May 02 15:20:50 vostro.rath.org kernel: I/O error, dev nbd1, sector 776 op 0x0:(READ) flags 0x80700 phys_seg 29 prio class 0
May 02 15:20:50 vostro.rath.org kernel: I/O error, dev nbd1, sector 776 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
May 02 15:20:50 vostro.rath.org kernel: Buffer I/O error on dev nbd1, logical block 97, async page read
May 02 15:20:50 vostro.rath.org kernel: block nbd1: Attempted send on invalid socket
May 02 15:20:50 vostro.rath.org kernel: I/O error, dev nbd1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
May 02 15:20:50 vostro.rath.org kernel: block nbd1: Attempted send on invalid socket
May 02 15:20:50 vostro.rath.org kernel: I/O error, dev nbd1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0


To me, this looks as if the kernel is shutting down the NBD connection
while there are still active requests and/or while there is still dirty
data that needs to be flushed.

Is this expected behavior?

If so, what is the recommended way to *safely* disconnect an NBD device?

Best,
-Nikolaus

-- 
GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F

             »Time flies like an arrow, fruit flies like a Banana.«


Reply to: