NetworkBlockDevice / nbd

Network Block Device
GNU General Public License v2.0
450 stars 116 forks source link

NBD export fail "nbd0: truncated" to mount with block size other than 512 #157

Open timlee66 opened 6 months ago

timlee66 commented 6 months ago

Hi All, We meet a problem when changing block size from 512 to 1024.

From the dmesg log, we could found that nbd-client be executed with block size 1024. However, we got below error nbd0: truncated and the image seems to be corrupted then mounted iso image: ubuntu-18.04.5-desktop-amd64.iso installation fail. But, if using default block size 512, we can complete installation.

[2024-03-08 11:28:51.819] nbd-client -u /var/run/nbd.558.sock -n -L -t 30 -b 1024 /dev/nbd0 [2024-03-08 11:28:51.819] nbd0: detected capacity change from 0 to 4284224 [2024-03-08 11:28:51.819] nbd0: p1 p2 [2024-03-08 11:28:51.819] nbd0: p1 size 8568448 extends beyond EOD, truncated

Is this the limitation to set block size other than 512? We try to find some on internet and seems ndb change block size to 512 in this commit: https://github.com/NetworkBlockDevice/nbd/commit/128fd556286ff5d53c5f2b16c4ae5746b5268a64

Here is another issue report in Benji. "NBD export fails to mount with default blocksize" that have same error message "truncated". Related issue refer it: https://github.com/elemental-lf/benji/issues/12

Could someone can help to clarify whether this is limitation for nbd-client change to use other than 512? Thanks.

Sincerely, Tim

timlee66 commented 6 months ago

Hi All,

There was similar issue from https://github.com/elemental-lf/benji/issues/12 NBD export fails to mount with default blocksize (Previous blocksize is set 1024 as default) They close this issue due to blocksize set to 512 can work well according below commit.

Related to the blocksize issue; I found: https://github.com/NetworkBlockDevice/nbd/commit/128fd556286ff5d53c5f2b16c4ae5746b5268a64

Could someone help us to clarify whether this issue is known issue or something we misunderstand? Thanks.

Best regards, Tim