On Tue, 2010-04-06 at 17:08 -0400, D. Hugh Redelmeier wrote:
| From: John Austin <ja(a)jaa.org.uk>
| Hi
|
| I have used hotplug hard drives for some time but never used eject
What do you do to safely remove the disk? Surely unmount and swapoff,
as applicable, but how do you tell the system that the actual drive is
going away?
As long as you umount all the partitions on the drive first all is well
That's what I use "eject" for in several cases (USB mass storage, CD,
DVD). I figure that it should work for eSATA. As I mentioned, I get
the message:
eject: device "/dev/sdi" doesn't have a removable or hotpluggable flag
| Try to sort it out as root and then move on to a normal user
Good advice. I am using root for now.
| What does mount show when the disk is plugged in?
| It should be showing /dev/sdix I believe not /dev/sdi
That is the case: x is the number of the partition.
Mount works. The drive works. It's the unplugging that I'm feeling
nervous about.
Should not be a problem, I believe udev/hal detect the drive is
connected or disconnected and create/remove the /dev/sdi /dev/sdi1 ...
entries.
Try running
watch "ls -l /dev/sd*"
when plugging in and removing the esata plug
You can also watch "tail -n30 /var/log/messages"
This is what I see when plugging in
Apr 6 22:43:16 localhost kernel: ata1: exception Emask 0x10 SAct 0x0
SErr 0x4050000 action 0xe frozen
Apr 6 22:43:16 localhost kernel: ata1: irq_stat 0x00400040, connection
status changed
Apr 6 22:43:16 localhost kernel: ata1: SError: { PHYRdyChg CommWake
DevExch }
Apr 6 22:43:16 localhost kernel: ata1: hard resetting link
Apr 6 22:43:17 localhost kernel: ata1: SATA link up 3.0 Gbps (SStatus
123 SControl 300)
Apr 6 22:43:17 localhost kernel: ata1.00: ATA-8: THROTTLE, 081016, max
UDMA/100
Apr 6 22:43:17 localhost kernel: ata1.00: 63078400 sectors, multi 0:
LBA
Apr 6 22:43:17 localhost kernel: ata1.00: applying bridge limits
Apr 6 22:43:17 localhost kernel: ata1.00: configured for UDMA/100
Apr 6 22:43:17 localhost kernel: ata1: EH complete
Apr 6 22:43:17 localhost kernel: scsi 0:0:0:0: Direct-Access ATA
THROTTLE 0810 PQ: 0 ANSI: 5
Apr 6 22:43:17 localhost kernel: sd 0:0:0:0: Attached scsi generic sg1
type 0
Apr 6 22:43:17 localhost kernel: sd 0:0:0:0: [sdb] 63078400 512-byte
logical blocks: (32.2 GB/30.0 GiB)
Apr 6 22:43:17 localhost kernel: sd 0:0:0:0: [sdb] Write Protect is off
Apr 6 22:43:17 localhost kernel: sd 0:0:0:0: [sdb] Write cache:
disabled, read cache: enabled, doesn't support DPO or FUA
Apr 6 22:43:17 localhost kernel: sdb: sdb1
Apr 6 22:43:17 localhost kernel: sd 0:0:0:0: [sdb] Attached SCSI disk
Apr 6 22:43:17 localhost kernel: kjournald starting. Commit interval 5
seconds
Apr 6 22:43:17 localhost kernel: EXT3 FS on sdb1, internal journal
Apr 6 22:43:17 localhost kernel: EXT3-fs: mounted filesystem with
ordered data mode.
Apr 6 22:43:17 localhost hald: mounted /dev/sdb1 on behalf of uid 202
############################################################################
When unmounting using pcmanfm
Apr 6 22:45:03 localhost hald: unmounted /dev/sdb1 from
'/media/throttle' on behalf of uid 202
Apr 6 22:45:04 localhost gnome-keyring-daemon[6366]: removing removable
location: /media/throttle
Apr 6 22:45:04 localhost gnome-keyring-daemon[6366]: no volume
registered at: /media/throttle
############################################################################
When unplugging throttle
Apr 6 22:46:15 localhost kernel: ata1: exception Emask 0x10 SAct 0x0
SErr 0x10000 action 0xe frozen
Apr 6 22:46:15 localhost kernel: ata1: irq_stat 0x00400000, PHY RDY
changed
Apr 6 22:46:15 localhost kernel: ata1: SError: { PHYRdyChg }
Apr 6 22:46:15 localhost kernel: ata1: hard resetting link
Apr 6 22:46:16 localhost kernel: ata1: SATA link down (SStatus 0
SControl 300)
Apr 6 22:46:21 localhost kernel: ata1: hard resetting link
Apr 6 22:46:21 localhost kernel: ata1: SATA link down (SStatus 0
SControl 300)
Apr 6 22:46:21 localhost kernel: ata1: limiting SATA link speed to 1.5
Gbps
Apr 6 22:46:26 localhost kernel: ata1: hard resetting link
Apr 6 22:46:27 localhost kernel: ata1: SATA link down (SStatus 0
SControl 310)
Apr 6 22:46:27 localhost kernel: ata1.00: disabled
Apr 6 22:46:27 localhost kernel: ata1: EH complete
Apr 6 22:46:27 localhost kernel: ata1.00: detaching (SCSI 0:0:0:0)
Apr 6 22:46:27 localhost kernel: sd 0:0:0:0: [sdb] Stopping disk
Apr 6 22:46:27 localhost kernel: sd 0:0:0:0: [sdb] START_STOP FAILED
Apr 6 22:46:27 localhost kernel: sd 0:0:0:0: [sdb] Result:
hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
############################################################################
Assuming the eSATA is not power over eSATAp then on my drives
I can either unplug the cable or power off the drive.
Very, very occasionally there is a glitch when plugging in
and I have to unplug, wait 30sec and try again.
I have been using a 5v power eSATAp connected 32GB OCZ throttle,
externally powered eSATA mechanical disk connection, 12v and 5v powered
eSATAp mech disk connection and 5v powered eSATAp connected 128GB SSD.
I am using the following eSATAp sockets/cables but previously have used
"simple" eSATA sockets/cables.
http://www.lindy.co.uk/shop/showProductDetail.do?orderNumber=70534&so...
http://www.lindy.co.uk/sff-8482-to-esatap-cable-5v-12v-05m/33625.html
Good Luck
John
"Just unplugging" will surely work, but it seems wrong. The device
driver ought to feel unhappy (perhaps only in my model of the
universe).
The drive actually has eSATA and USB ports. When I connect via USB,
eject works fine.
| umount should be working for root but not for a normal user
Right.
Same with swapoff.
Thanks.