You are not logged in.

#1 2014-09-11 15:01:55

Feles
Member
Registered: 2014-09-11
Posts: 3

Seagate external HDD corruption with kernel 3.16

Hi everyone,

After using Arch for about two years I have now run into the first problem that I haven't been able to find a solution to in this forum. I have a Seagate Expansion 1TB external HDD (USB 3.0 I believe) that has worked fine so far (except it seemed to mysteriously interrupt sleeping and hibernating, but that wasn't much of an issue for me). After upgrading to Linux 3.16, it seems that I only have to mount the drive and perform one read or write operation on it for it to become corrupted and set to read-only mode. The dmesg entries of this happening look like this:

[  123.182637] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[  130.365586] end_request: critical target error, dev sdb, sector 973095168
[  130.365609] Aborting journal on device sdb1-8.
[  133.672617] EXT4-fs error (device sdb1): ext4_journal_check_start:56: Detected aborted journal
[  133.672626] EXT4-fs (sdb1): Remounting filesystem read-only

The drive can then easily be fixed with fsck, which will output something like this:

fsck from util-linux 2.25
e2fsck 1.42.11 (09-Jul-2014)
Expansion_Drive: recovering journal
Expansion_Drive contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

Sometimes it will also report "Free blocks count wrong" and "Free inodes count wrong" and suggest to fix them. After fixing all these errors, the drive seems to be fine again, until the next read/write operation using kernel 3.16, when it gets corrupted again.

I downgraded to 3.15 and everything is just as before, the drive works fine, with dmesg only showing:

[  891.791422] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)

I also have another external drive, a Hitachi Touro, which does not seem to have this problem with 3.16. Both drives are formatted as EXT4. The Seagate drive showed the same odd behaviour when using it with a different computer that also had Arch with Linux 3.16 installed. Does anyone know what change in 3.16 might be causing this, and how to fix it?

Edit: I just remembered that I originally also tried disabling the journal, which resulted in the drive working with 3.16 without any corruption issues. However I'd prefer not to permanently disable the journal as I'm not exactly an expert on those things...

Last edited by Feles (2014-09-11 15:30:08)

Offline

#2 2014-10-14 21:36:53

gotheric
Member
Registered: 2012-03-27
Posts: 5

Re: Seagate external HDD corruption with kernel 3.16

I've the same problem (but i've not tried downgrading)

Found a solution?

Offline

#3 2014-10-16 14:14:41

Feles
Member
Registered: 2014-09-11
Posts: 3

Re: Seagate external HDD corruption with kernel 3.16

I'm afraid not. I'm still using kernel 3.15 for now, and if the problem doesn't go away after a few more kernel updates I think I'll just disable the journal so I can (hopefully) continue using the drive. Is it exactly the same drive that's causing the problem for you, or is it a different one?

Offline

#4 2014-10-16 14:28:37

JGC
Developer
Registered: 2003-12-03
Posts: 1,664

Re: Seagate external HDD corruption with kernel 3.16

There should be more messages in dmesg about this, as the "end_request: critical target error" usually means a bad block.

Offline

#5 2014-10-20 09:22:07

mortbauer
Member
Registered: 2012-08-25
Posts: 14

Re: Seagate external HDD corruption with kernel 3.16

Similar problem here, have the same external HDD (Seagate Expansion 1TB external HDD), and yes it has usb3, worked fine in kernel 3.14 don't know about 3.15.  Similar beause it seems that i can actually mount the drive manually and it works, though automounting worked fine before, here is my relevant dmesg part:

[  581.821797] usb 4-2: new SuperSpeed USB device number 3 using xhci_hcd
[  581.850549] scsi10 : uas
[  581.851878] scsi 10:0:0:0: Direct-Access     Seagate  Expansion        0636 PQ: 0 ANSI: 6
[  581.855757] sd 10:0:0:0: [sdc] Spinning up disk...
[  587.058705] .ready
[  587.059041] sd 10:0:0:0: [sdc] 1953525167 512-byte logical blocks: (1.00 TB/931 GiB)
[  587.060125] sd 10:0:0:0: [sdc] Write Protect is off
[  587.060132] sd 10:0:0:0: [sdc] Mode Sense: 2b 00 10 08
[  587.060942] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA
[  587.292742]  sdc: sdc1
[  587.311393] sd 10:0:0:0: [sdc] Attached SCSI disk
[  595.024600] sd 10:0:0:0: [sdc] uas_eh_abort_handler ffff88041f7db380 tag 1, inflight: CMD IN
[  598.023073] scsi host10: uas_eh_task_mgmt: ABORT TASK timed out
[  618.036130] sd 10:0:0:0: [sdc] uas_eh_abort_handler ffff8804277f8900 tag 0, inflight: CMD IN
[  618.036139] scsi host10: uas_eh_task_mgmt: ABORT TASK: error already running a task
[  618.036148] sd 10:0:0:0: uas_eh_device_reset_handler
[  618.036150] scsi host10: uas_eh_task_mgmt: LOGICAL UNIT RESET: error already running a task
[  618.036155] scsi host10: uas_eh_bus_reset_handler start
[  618.036196] usb 4-2: stat urb: killed, stream 2
[  618.036269] usb 4-2: stat urb: killed, stream 3
[  618.036353] sd 10:0:0:0: [sdc] uas_data_cmplt ffff8804277f8900 tag 0, inflight: CMD abort
[  618.036363] sd 10:0:0:0: [sdc] data cmplt err -2 stream 2
[  618.036455] sd 10:0:0:0: [sdc] uas_data_cmplt ffff88041f7db380 tag 1, inflight: CMD abort
[  618.036463] sd 10:0:0:0: [sdc] data cmplt err -2 stream 3
[  618.036494] sd 10:0:0:0: [sdc] uas_zap_dead ffff88041f7db380 tag 1, inflight: CMD abort
[  618.036499] sd 10:0:0:0: [sdc] abort completed
[  618.036506] sd 10:0:0:0: [sdc] uas_zap_dead ffff8804277f8900 tag 0, inflight: CMD abort
[  618.036510] sd 10:0:0:0: [sdc] abort completed
[  618.143364] usb 4-2: reset SuperSpeed USB device number 3 using xhci_hcd
[  618.157177] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8803dce0b048
[  618.157186] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8803dce0b0d8
[  618.157190] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8803dce0b000
[  618.157193] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8803dce0b090
[  618.157913] scsi host10: uas_eh_bus_reset_handler success
[  752.164050] nr_pdflush_threads exported in /proc is scheduled for removal
[  752.164284] sysctl: The scan_unevictable_pages sysctl/node-interface has been disabled for lack of a legitimate use case.  If you have one, please send an email to linux-mm@kvack.org.
[  833.659014] usb 4-2: USB disconnect, device number 3

Did you file a bug report, seems to me like a kernel thing?.

Offline

#6 2014-10-31 13:28:40

guysoft
Member
Registered: 2014-10-31
Posts: 1

Re: Seagate external HDD corruption with kernel 3.16

Hey guys,
Debian user here, same problem
Seagate 2TB drive. Does not work on Debian kernel 3.16, works fine on my ubuntu laptop with 3.14.

Any idea what do to?

Offline

#7 2014-11-11 18:29:40

Titiwu
Member
From: Germany
Registered: 2008-06-28
Posts: 9

Re: Seagate external HDD corruption with kernel 3.16

I've got a 1Tb Seagtae FreeAgent GoFlex (2,5") USB 3.0 drive, same problem here... No change up to kernel 3.17.2
The only thing I found so far is a Ubuntu bug https://bugs.launchpad.net/ubuntu/+sour … ug/1366538

Did anyone file a bug in the Arch bug tracker?
Anyone seeing the same errors with an other brand than Seagate or another connection type than USB?

Edit: Tried the LTS kernel (3.14.23) shows the same problem! On a laptop running Linux Mint 17 (kernel 3.13.0) the drive works without problems...

Edit 2:
My dmesg output.

[  449.030174] usb 1-2.1: new high-speed USB device number 7 using ehci-pci
[  449.164129] usb-storage 1-2.1:1.0: USB Mass Storage device detected
[  449.164236] scsi11 : usb-storage 1-2.1:1.0
[  450.160941] scsi 11:0:0:0: Direct-Access     Seagate  FreeAgent GoFlex SA11 PQ: 0 ANSI: 4
[  450.163564] sd 11:0:0:0: [sdd] 1953525164 512-byte logical blocks: (1.00 TB/931 GiB)
[  450.164179] sd 11:0:0:0: [sdd] Write Protect is off
[  450.164183] sd 11:0:0:0: [sdd] Mode Sense: 1c 00 00 00
[  450.164810] sd 11:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  450.208827]  sdd: sdd1
[  450.212053] sd 11:0:0:0: [sdd] Attached SCSI disk
[  450.826672] end_request: critical target error, dev sdd, sector 0
[  450.826685] JBD2: recovery failed
[  450.826690] EXT4-fs (sdd1): error loading journal

Last edited by Titiwu (2014-11-11 21:19:52)

Offline

#8 2014-11-11 23:42:48

Feles
Member
Registered: 2014-09-11
Posts: 3

Re: Seagate external HDD corruption with kernel 3.16

Sorry I've been away for a while. I can confirm that this is still an issue with kernel 3.17.2, and the last time I tried the LTS kernel there seemed to be a similar problem with that too.

I tried the following command to disable the journal on the drive

 tune2fs -O ^has_journal /dev/sdX1 

and it seems to work fine with the new kernels now. Of course, when I enable the journal again the problem re-appears. But until the issue is resolved this could at least be a temporary workaround for others as well...

I've never filed a bug report before but I can look into that. Where would I have to post it? If it's a kernel thing that also affects Debian and possibly other distros, would the Arch website still be the right place for it?

Offline

#9 2014-11-23 02:27:19

TwinPrimes
Member
Registered: 2014-11-23
Posts: 1

Re: Seagate external HDD corruption with kernel 3.16

Hi, Xubuntu user here; had the same problem after upgrading to 14.04 with kernel 3.13.0-39-generic. My Seagate drive is a 300GB external that is a few years old and was working fine connected to a USB 2.0 port until the upgrade. Now the FS switches to read-only after a single write operation and I get "end_request: critical target error" messages. The drive also has a Firewire connector so I unplugged USB and plugged in a Firewire cable and all is well -- I've written muliple GBs to it with no problems. The only issue is that the Firewire throughput is much less than what I was seeing with USB 2.0 earlier -- around 25 MB/s now versus 43 MB/s before. But at least I can use the drive.

Thought that might be useful to others having the same problem.

Offline

#10 2014-11-23 15:46:03

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: Seagate external HDD corruption with kernel 3.16

Offline

Board footer

Powered by FluxBB