[issue1303] Make vnconfig -l handle gracefully inaccessible special files

Stathis Kamperis (via DragonFly issue tracker) sinknull at crater.dragonflybsd.org
Sat Feb 28 23:27:49 PST 2009


New submission from Stathis Kamperis <ekamperi at gmail.com>:

Greetings everyone.

The problem with vnconfig -l is that as soon as it encounters an error, it stops
listing the rest of the vn devices. On top of that, if the error is due to a
inaccessible special file, a broken message is printed.

How to reproduce it.
[beket at sadness ~] dd if=/dev/zero of=lala.img bs=10M count=1
[beket at sadness ~] dd if=/dev/zero of=foo.img bs=10M count=1
[beket at sadness ~] sudo vnconfig vn0 lala.img
[beket at sadness ~] sudo vnconfig vn3 foo.img
[beket at sadness ~] sudo vnconfig -l
vn0: covering /home/beket/lala.img on #B116:0x40006, inode 43367
vn1: not in use
vn2: not in use
vn3: covering /home/beket/foo.img on #B116:0x40006, inode 43380
vn4: not in use
vn5: not in use
vn6: not in use
vn7: not in use
vn8: not in use
vn9: not in use
vn10: not in use
vn11: not in use
[beket at sadness ~] rm lala.img
[beket at sadness ~] sudo vnconfig -l
vnconfig: ioctl: vn0: Invalid argument
[beket at sadness ~]

As mentioned before we are bitten twice: 1) we can't display the rest of the vn
entries (happens with every possible error) and 2) we get a broken message (in
this particular case).

Here is how vnconfig -l behaves with my patch:
[beket at sadness ~] sudo vnconfig -l
vn0: ioctl: can't access special filename
vn1: not in use
vn2: not in use
vn3: covering /home/beket/foo.img on #B116:0x40006, inode 43380
vn4: not in use
vn5: not in use
vn6: not in use
vn7: not in use
vn8: not in use
vn9: not in use
vn10: not in use
vn11: not in use
[beket at sadness ~] 

Patch in:
http://stathisk.ath.cx/patches/dragonflybsd/0001-vnconfig-l-handle-gracefully-missing-special-file.patch

Please review.
Note: currently, vnconfig(8) is the only consumer of VNIOCGET/vnget(). Thus,
changing the return error of vnget() won't break anything (hoperfully:))

Best regards,
Stathis Kamperis

----------
assignedto: Beket
messages: 6266
nosy: Beket
priority: bug
status: unread
title: Make vnconfig -l handle gracefully inaccessible special files

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1303>
_____________________________________________________





More information about the Bugs mailing list