I think this is some kind of bug in
eject or xfce. It won't remove device nodes of motorized drives
$this->bbcode_second_pass_code('', '
# mount /dev/sdc1 /mnt
# mount|grep mnt
/dev/sdc1 on /mnt type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
# eject /dev/sdc1
# mount|grep mnt
# ls -1 /dev/sdc*
/dev/sdc
/dev/sdc1
/dev/sdc2
/dev/sdc3
')
I don't know why non motorized media device nodes are removed (this one has one partition only):
$this->bbcode_second_pass_code('', '
# mount /dev/sdb1 /mnt
# mount|grep mnt
/dev/sdb1 on /mnt type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
# eject /dev/sdb1
# ls -1 /dev/sdb*
/dev/sdb
')
But it can be recreated
$this->bbcode_second_pass_code('', '
# eject -t /dev/sdb
# ls -1 /dev/sdb*
/dev/sdb
/dev/sdb1
# mount /dev/sdb1 /mnt
# mount|grep mnt
/dev/sdb1 on /mnt type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
')
This does not work with every usb stick. So in my opinion the question is not how to rescan the device but why eject removes device nodes or rather why does xfce not just do a simple unmount.
Edit: You should link related threads
viewtopic.php?f=6&t=4002&p=22618https://bbs.archlinux.org/viewtopic.php?id=151086Edit2: Seems like the xfce devs expect you to not unmount/eject a removable device unless you intend to physically remove it afterwards.
http://comments.gmane.org/gmane.comp.de ... devel/4081