Question USB flash drive went into readonly — any way to restore it or kill data on it while it is still plugged in?

PeterMuellerr

Commendable
Mar 29, 2021
105
19
1,585
During a write to an ext4-formatted USB flash drive I got the following message to xterm:

Message from syslogd@myhostname at Jan 3 11:30:36 ...
kernel:[44741.208886] EXT4-fs (sdf1): failed to convert unwritten extents to written extents -- potential data loss! (inode 133340, error -30)

According to lsusb -v -d 058f:6364,the drive itself is this:

idVendor 0x058f Alcor Micro Corp.
idProduct 0x6364 AU6477 Card Reader Controller
bcdDevice 1.00
iManufacturer 1 Generic
iProduct 2 Mass Storage Device

The output of dmesg is this:

[44740.693590] sd 7:0:0:0: [sdf] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=6s
[44740.693605] sd 7:0:0:0: [sdf] tag#0 Sense Key : Unit Attention [current]
[44740.693614] sd 7:0:0:0: [sdf] tag#0 Add. Sense: Not ready to ready change, medium may have changed
[44740.693622] sd 7:0:0:0: [sdf] tag#0 CDB: Write(10) 2a 00 16 50 a8 f0 00 00 f0 00
[44740.693631] blk_update_request: I/O error, dev sdf, sector 374384880 op 0x1:(WRITE) flags 0x4000 phys_seg 5 prio class 0
[44740.693678] sd 7:0:0:0: [sdf] tag#0 device offline or changed
[44740.693686] blk_update_request: I/O error, dev sdf, sector 196197864 op 0x0:(READ) flags 0x84700 phys_seg 5 prio class 0
[44740.693714] sd 7:0:0:0: [sdf] tag#0 device offline or changed
[44740.693737] blk_update_request: I/O error, dev sdf, sector 243629544 op 0x1:(WRITE) flags 0x800 phys_seg 9 prio class 0
[44740.693763] sd 7:0:0:0: [sdf] tag#0 device offline or changed
[44740.693773] blk_update_request: I/O error, dev sdf, sector 374385120 op 0x1:(WRITE) flags 0x4000 phys_seg 5 prio class 0
[44740.694247] Aborting journal on device sdf1-8.
[44740.802479] EXT4-fs error (device sdf1): ext4_journal_check_start:83: Detected aborted journal
[44740.802489] EXT4-fs (sdf1): Remounting filesystem read-only
[44741.208856] EXT4-fs warning (device sdf1): ext4_end_bio:345: I/O error 10 writing to inode 133340 starting block 46799104)
[44741.208886] EXT4-fs (sdf1): failed to convert unwritten extents to written extents -- potential data loss! (inode 133340, error -30)
[44741.208895] Buffer I/O error on device sdf1, logical block 46797824
[44741.208903] Buffer I/O error on device sdf1, logical block 46797825
[44741.208908] Buffer I/O error on device sdf1, logical block 46797826
[44741.208912] Buffer I/O error on device sdf1, logical block 46797827
[44741.208916] Buffer I/O error on device sdf1, logical block 46797828
[44741.208921] Buffer I/O error on device sdf1, logical block 46797829
[44741.208925] Buffer I/O error on device sdf1, logical block 46797830
[44741.208929] Buffer I/O error on device sdf1, logical block 46797831
[44741.208934] Buffer I/O error on device sdf1, logical block 46797832
[44741.208938] Buffer I/O error on device sdf1, logical block 46797833

I can still read from the drive.

Any way to restore the write functionality of the drive or, if not possible, kill all data on it while it is still plugged in?
 
Last edited:

PeterMuellerr

Commendable
Mar 29, 2021
105
19
1,585
Smash it with a hammer, and toss the tiny pieces out.

Going into read only indicates that all (or enough of) the flash memory has been used up.
There is no 'recover'.

Its dead.
Well, the drive itself feels warm, and it might — hypothetically — be thermal-related. IMHO, there is no recovery from thermal shock too, but I might be wrong.