You are not logged in.

#1 2015-07-03 09:37:01

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Seagate SMR drive and Current 4.0.x Kernel

TL;DR at the top:
I've had issue with a Seagate Archive 8TB SMR drive and 4.0.x Kernels. LTS kernel works well.

I recently bought a new SMR drive to replace an old raid array. It should be okay for my purposes, but I'm considering it a test.
Model Family:     Seagate Archive HDD
Device Model:     ST8000AS0002-1NA17Z
Serial Number:    Z8405EYR
LU WWN Device Id: 5 000c50 07b37d4fe
Firmware Version: AR13

I'm using it as a single drive.
Motherboard it's connected to is:
        Manufacturer: Gigabyte Technology Co., Ltd.
        Product Name: B85N
        Bios Version: F5
Latest Firmware, with a Intel(R) Core(TM) i5-4440S. Chipset is Intel B85 Express.

Drive appears as sda due to the cables I have. Also in the system is a msata ssd, and three other HDD in raid5.
I made a 1 partiton GPT drive of it, and formatted it with ext4

mkfs.ext4 /dev/sda1 -m 1 -L media
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 1953506385 4k blocks and 244191232 inodes
Filesystem UUID: e86e2cfb-e9d2-4757-8b4f-0f94c7ee3cf9
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632

I started to rsync data over and the disk died within 30 mins.

[  591.168884] ata1.00: exception Emask 0x0 SAct 0x7ffdffff SErr 0x0 action 0x6 frozen
[  591.168894] ata1.00: failed command: WRITE FPDMA QUEUED
[  591.168902] ata1.00: cmd 61/40:00:80:d2:10/05:00:02:00:00/40 tag 0 ncq 688128 out
                        res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[  591.168906] ata1.00: status: { DRDY }

Which is the NCQ commands not getting through.
At this point, the drive needs a cold start to get going again.
I did some more testing.
I could dd TB's of zeros to the /dev device, but once I started dd'ing to a file on a FS the drive would die within a few minutes.
I tried to format it with vfat just to see, and the same thing happened.
I limited the link speed to sata2 3Gbps and sata1 1.5Gbps and the same thing happened.
I disabled NCQ and the drive also died, but with a different failed command as we'd expect.

I contacted seagate and they suggested to try seatools. I couldn't get this to work on this box so I tried with a windows box I have.
Seatools for DOS was fine, but I didn't expect any errors.
I tried Seatools for Windows, this was fine also.
I formatted it with NTFS and copied over my Steamapps directory and this was fine. I copied over a further 2 times and this was fine. This was about 300GB of data and it would normally die long before this.

I put the drive back in the original box. I mounted up the NTFS partiton with NTFS-3g and this was fine. I was able to write lots of data to it with no issue.
As this was a fuse module and not in the Kernel I then suspected the Kernel. I installed linux-lts kernel, 3.14.45-1-lts, created a 1 partiton MBR drive, formatted this with ext4, and I've been rsync'ing for 12 hours now happily.

What I have not tested is the LTS kernel with a gpt partition table.

Pastbin here

Should I report this somewhere? I'm mainly writing this as I did a lot of googling and I didn't find much, so this may be of use to people.
I haven't kept up with kernel news, but something is happening when there's a FS on the device and I start to write data to it.
The SMR drive are a funny breed of drive, some more info here on wiki, but briefly, they need to have some extra logic for recording in a vaguely similar way to a SSD.
Any thoughts on this?

Offline

#2 2015-07-03 14:49:52

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Seagate SMR drive and Current 4.0.x Kernel

That "smells" a lot like a problem with the drive's firmware and not linux. SMR drives cannot write data to random places but if the firmware is emulating that then it probably relies on the fs being ntfs.

Or I might be wrong and it really is a problem with linux, maybe that drive just needs some quick to operate properly.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#3 2015-07-03 14:52:50

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

I originally thought firmware but it works perfectly fine on

  • lts

  • in windows

  • with current 4.0.x Kernel with a fuse module

  • dd'ing to the device.

Otherwise I'd agree with you

Offline

#4 2015-07-04 10:25:08

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

I'm glad to hear I am not the only archlinux user having issues with a seagate 8 TB smr device. I've got them too.
I tried it with the 4.0.7-2-ARCH kernel with 1 GPT partition formatted as ext4 and got errors (with rsync and cp; I didn't tested dd) but I didn't saved their exact wording.
Now I'm trying 4.0.7-2-ARCH kernel, (with 1) GPT (partition) formated as NTFS and it seems to work with rsync. I'm going to test it with cp and dd. So your idea with the kernel seems possible to me.
If 4.0.x, GPT and NTFS works, I'll test it with my first setup (4.0.x, GPT, ext4) and LTS kernel, GPT, ext4. (And I'll post the results and errors as soon as I have them).
But with my device there seems to be another issue.
This is my smartctl output:

sudo smartctl -a /dev/sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.0.7-2-ARCH] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Archive HDD
Device Model:     ST8000AS0002-1NA17Z
Serial Number:    Z8405P9R
LU WWN Device Id: 5 000c50 07b41ff2c
Firmware Version: AR13
User Capacity:    8.001.563.222.016 bytes [8,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5980 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Jul  4 11:50:27 2015 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(    0) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 954) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x30a5)	SCT Status supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   118   100   006    Pre-fail  Always       -       183330760
  3 Spin_Up_Time            0x0003   091   091   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       9
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   067   060   030    Pre-fail  Always       -       5285362
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       21
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       9
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   098   098   099    Old_age   Always   FAILING_NOW 2
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   098   000    Old_age   Always       -       3
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   062   056   045    Old_age   Always       -       38 (Min/Max 37/38)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       8
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       11
194 Temperature_Celsius     0x0022   038   044   000    Old_age   Always       -       38 (0 23 0 0 0)
195 Hardware_ECC_Recovered  0x001a   118   100   000    Old_age   Always       -       183330760
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       17 (80 132 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       15839009741
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       3319317

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%        21         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Do you have an idea what this "184 End-to-End_Error        0x0032   098   098   099    Old_age   Always   FAILING_NOW 2" means? (I have this device since Thursday so I can barely believe that it's fault)

Offline

#5 2015-07-04 10:31:45

frostschutz
Member
Registered: 2013-11-15
Posts: 1,473

Re: Seagate SMR drive and Current 4.0.x Kernel

> Which is the NCQ commands not getting through.

If you suspect NCQ, use this kernel parameter: libata.force=noncq. you could also try larger ata timeouts...

does the disk pass a smartctl -t long selftest?

Last edited by frostschutz (2015-07-04 10:34:26)

Offline

#6 2015-07-04 10:35:28

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

It's not a value I've ever looked at for failure. I think you're alright.

Offline

#7 2015-07-04 10:36:38

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

frostschutz wrote:

> Which is the NCQ commands not getting through.

If you suspect NCQ, use this kernel parameter: libata.force=noncq. you could also try larger ata timeouts...

does the disk pass a smartctl -t long selftest?

As above I disabled NCQ on that port.

Offline

#8 2015-07-04 11:39:51

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

And I tought the ubuntuusers forum would be fast. smile
If the self-test was addressed to my device, I think I'll do this test during the night.
My results for 4.0.x, GPT, NTFS (formatted in Windows):
it seems to work

rsync:
sent 180,783,327,248 bytes  received 4,457 bytes  42,492,262.71 bytes/sec
total size is 180,739,183,411  speedup is 1.00

cp:
successful, no error

dd:
dd if=/dev/zero of=./testwrite.deleteme bs=1M count=5000
5000+0 Datensätze ein
5000+0 Datensätze aus
5242880000 Bytes (5,2 GB) kopiert, 52,691 s, 99,5 MB/s

I am going to reformat the device as ext4, reboot and repeat this test.

Offline

#9 2015-07-04 11:42:49

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

Which Kernel will you try with?

Offline

#10 2015-07-04 11:48:14

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

I will not change the kernel for this test so the recent standard kernel 4.0.7-2-ARCH

Offline

#11 2015-07-04 12:08:16

frostschutz
Member
Registered: 2013-11-15
Posts: 1,473

Re: Seagate SMR drive and Current 4.0.x Kernel

ccoffey wrote:

As above I disabled NCQ on that port.

By setting queue depth 1? I'd try with noncq anyway.

Offline

#12 2015-07-04 12:41:12

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

frostschutz wrote:
ccoffey wrote:

As above I disabled NCQ on that port.

By setting queue depth 1? I'd try with noncq anyway.

Yes, noncq I tried.

Offline

#13 2015-07-04 12:49:00

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Seagate SMR drive and Current 4.0.x Kernel

This bug report[1] might be of interest.

From some of the links in the bug report, the problem does seem to be related to kernel version. It also seems these drives may not be the best pick right now, proper detection and support for these drives is probably not the best right now and it seems they may not be the most problem free drives - follow the links in the bug report and read the q&a at serverfault.

This[2] also seems like an interesting read, it's not directly related to the problem at hand but seems quite detailed on the quirks of smr drives.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=93581
[2] https://github.com/Seagate/SMR_FS-EXT4


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#14 2015-07-04 13:15:24

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

I was hesitant to buy the drive in the first place, but it wasn't an urgent need so I said I'd try.

FWIW, it works without issue on 3.14.

Offline

#15 2015-07-04 13:24:05

frostschutz
Member
Registered: 2013-11-15
Posts: 1,473

Re: Seagate SMR drive and Current 4.0.x Kernel

What does the error message look like then? You should not get "QUEUED" with NCQ disabled?

With libata.force=noncq it should show this in dmesg: NCQ (not used)

$ dmesg | grep NCQ
[    0.740522] ata1.00: 125045424 sectors, multi 16: LBA48 NCQ (not used)

If its a general timeout problem, maybe setting the appropriate `find /sys -name timeout` to a larger value?

Last edited by frostschutz (2015-07-04 13:27:10)

Offline

#16 2015-07-04 13:49:36

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

@R00KIE Really thank you for your post. I was experiencing exactly the same issues like Jens (the person who created the bugreport on kernel.org in [1]).
(Disk is inaccessable until power off; even (soft) rebooting to windows didn't help). I am now testing rsync (with 100GB data).
And it failed:

rsync: write failed on "/run/media/simon/seagate/data": Read-only file system (30)
rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.1]

With the downgrade to the LTS kernel I personally see two problems:
1. We don't know how long the LTS kernel will stay the 3.14 kernel. So what if they update the LTS kernel to a higher version with this issue?
2. For months I have been waiting for the 4.2 kernel because this kernel includes amdgpu (and I own a R9 290) so I definitely want to upgrade to 4.2.
So my personal conclusion is:
I'll finish my test and reformat the device as NTFS. The transfer speed may be worse and it's a nonfree file system, but I didn't buy this device for speeding up my system. I bought it as "data cemetery" (if you can say that in English) for my television recordings and some other not very important (but disk space eating) stuff. So I think I'll keep the standard kernel as I'll keep this device with two GPT partitions: a large NTFS one for data and another small ext4 one for testing purposes.
And I'll test it with disabled NCQ.

This is the last dmesg output:

sudo dmesg | grep ata4
[    3.019315] ata4: SATA max UDMA/133 abar m1024@0xfeb0b000 port 0xfeb0b280 irq 19
[    3.982663] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    4.177041] ata4.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[    4.177043] ata4.00: 15628053168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    4.178479] ata4.00: configured for UDMA/133
[  473.538672] ata4.00: exception Emask 0x0 SAct 0x7f8 SErr 0x0 action 0x6 frozen
[  473.538682] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538692] ata4.00: cmd 61/00:18:40:cd:9b/40:00:01:00:00/40 tag 3 ncq 8388608 out
[  473.538698] ata4.00: status: { DRDY }
[  473.538702] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538710] ata4.00: cmd 61/80:20:40:0d:9c/1f:00:01:00:00/40 tag 4 ncq 4128768 out
[  473.538715] ata4.00: status: { DRDY }
[  473.538719] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538726] ata4.00: cmd 61/40:28:c0:2c:9c/05:00:01:00:00/40 tag 5 ncq 688128 out
[  473.538730] ata4.00: status: { DRDY }
[  473.538734] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538741] ata4.00: cmd 61/40:30:00:32:9c/05:00:01:00:00/40 tag 6 ncq 688128 out
[  473.538745] ata4.00: status: { DRDY }
[  473.538749] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538756] ata4.00: cmd 61/80:38:40:37:9c/0a:00:01:00:00/40 tag 7 ncq 1376256 out
[  473.538760] ata4.00: status: { DRDY }
[  473.538764] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538771] ata4.00: cmd 61/40:40:c0:41:9c/30:00:01:00:00/40 tag 8 ncq 6324224 out
[  473.538775] ata4.00: status: { DRDY }
[  473.538779] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538786] ata4.00: cmd 61/00:48:00:72:9c/16:00:01:00:00/40 tag 9 ncq 2883584 out
[  473.538790] ata4.00: status: { DRDY }
[  473.538794] ata4.00: failed command: WRITE FPDMA QUEUED
[  473.538801] ata4.00: cmd 61/80:50:00:88:9c/0a:00:01:00:00/40 tag 10 ncq 1376256 out
[  473.538806] ata4.00: status: { DRDY }
[  473.538813] ata4: hard resetting link
[  474.451367] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  474.803055] ata4.00: configured for UDMA/133
[  474.803087] ata4.00: device reported invalid CHS sector 0
[  474.803103] ata4.00: device reported invalid CHS sector 0
[  474.803109] ata4.00: device reported invalid CHS sector 0
[  474.803117] ata4.00: device reported invalid CHS sector 0
[  474.803127] ata4.00: device reported invalid CHS sector 0
[  474.803149] ata4.00: device reported invalid CHS sector 0
[  474.803163] ata4.00: device reported invalid CHS sector 0
[  474.803173] ata4.00: device reported invalid CHS sector 0
[  474.803201] ata4: EH complete
[  512.556922] ata4.00: exception Emask 0x0 SAct 0x7c SErr 0x0 action 0x6 frozen
[  512.556932] ata4.00: failed command: WRITE FPDMA QUEUED
[  512.556942] ata4.00: cmd 61/40:10:c0:ac:b9/30:00:01:00:00/40 tag 2 ncq 6324224 out
[  512.556948] ata4.00: status: { DRDY }
[  512.556952] ata4.00: failed command: WRITE FPDMA QUEUED
[  512.556960] ata4.00: cmd 61/80:18:00:dd:b9/35:00:01:00:00/40 tag 3 ncq 7012352 out
[  512.556965] ata4.00: status: { DRDY }
[  512.556968] ata4.00: failed command: WRITE FPDMA QUEUED
[  512.556976] ata4.00: cmd 61/00:20:80:12:ba/15:00:01:00:00/40 tag 4 ncq 2752512 out
[  512.556980] ata4.00: status: { DRDY }
[  512.556983] ata4.00: failed command: WRITE FPDMA QUEUED
[  512.556991] ata4.00: cmd 61/80:28:80:27:ba/0a:00:01:00:00/40 tag 5 ncq 1376256 out
[  512.556995] ata4.00: status: { DRDY }
[  512.556998] ata4.00: failed command: WRITE FPDMA QUEUED
[  512.557006] ata4.00: cmd 61/40:30:00:32:ba/05:00:01:00:00/40 tag 6 ncq 688128 out
[  512.557010] ata4.00: status: { DRDY }
[  512.557017] ata4: hard resetting link
[  513.363108] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  513.878886] ata4.00: configured for UDMA/133
[  513.878946] ata4.00: device reported invalid CHS sector 0
[  513.879003] ata4.00: device reported invalid CHS sector 0
[  513.879034] ata4.00: device reported invalid CHS sector 0
[  513.879053] ata4.00: device reported invalid CHS sector 0
[  513.879065] ata4.00: device reported invalid CHS sector 0
[  513.879116] ata4: EH complete
[  594.538003] ata4.00: exception Emask 0x0 SAct 0x8 SErr 0x0 action 0x6 frozen
[  594.538013] ata4.00: failed command: WRITE FPDMA QUEUED
[  594.538024] ata4.00: cmd 61/80:18:80:27:fd/35:00:01:00:00/40 tag 3 ncq 7012352 out
[  594.538029] ata4.00: status: { DRDY }
[  594.538037] ata4: hard resetting link
[  595.557311] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  596.271459] ata4.00: configured for UDMA/133
[  596.271523] ata4.00: device reported invalid CHS sector 0
[  596.271552] ata4: EH complete
[ 3465.891961] ata4.00: exception Emask 0x0 SAct 0x80 SErr 0x0 action 0x6 frozen
[ 3465.891972] ata4.00: failed command: WRITE FPDMA QUEUED
[ 3465.891982] ata4.00: cmd 61/c0:38:c0:ac:3e/25:00:02:00:00/40 tag 7 ncq 4947968 out
[ 3465.891988] ata4.00: status: { DRDY }
[ 3465.891995] ata4: hard resetting link
[ 3466.538324] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 3467.482194] ata4.00: configured for UDMA/133
[ 3467.482247] ata4.00: device reported invalid CHS sector 0
[ 3467.482276] ata4: EH complete
[ 3510.880226] ata4.00: exception Emask 0x0 SAct 0xc00000 SErr 0x0 action 0x6 frozen
[ 3510.880237] ata4.00: failed command: WRITE FPDMA QUEUED
[ 3510.880247] ata4.00: cmd 61/c0:b0:c0:77:75/2f:00:02:00:00/40 tag 22 ncq 6258688 out
[ 3510.880252] ata4.00: status: { DRDY }
[ 3510.880257] ata4.00: failed command: WRITE FPDMA QUEUED
[ 3510.880265] ata4.00: cmd 61/80:b8:80:a7:75/4a:00:02:00:00/40 tag 23 ncq 9764864 out
[ 3510.880269] ata4.00: status: { DRDY }
[ 3510.880276] ata4: hard resetting link
[ 3511.526381] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 3511.529282] ata4.00: configured for UDMA/133
[ 3511.529342] ata4.00: device reported invalid CHS sector 0
[ 3511.529413] ata4.00: device reported invalid CHS sector 0
[ 3511.529444] ata4: EH complete
[ 4426.314801] ata4.00: exception Emask 0x0 SAct 0x40000000 SErr 0x0 action 0x6 frozen
[ 4426.314813] ata4.00: failed command: WRITE FPDMA QUEUED
[ 4426.314823] ata4.00: cmd 61/00:f0:00:32:b7/40:00:03:00:00/40 tag 30 ncq 8388608 out
[ 4426.314828] ata4.00: status: { DRDY }
[ 4426.314835] ata4: hard resetting link
[ 4436.309188] ata4: softreset failed (1st FIS failed)
[ 4436.309199] ata4: hard resetting link
[ 4446.303598] ata4: softreset failed (1st FIS failed)
[ 4446.303608] ata4: hard resetting link
[ 4481.287384] ata4: softreset failed (1st FIS failed)
[ 4481.287397] ata4: limiting SATA link speed to 3.0 Gbps
[ 4481.287402] ata4: hard resetting link
[ 4486.457834] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 4486.457843] ata4.00: link online but device misclassified
[ 4491.454996] ata4.00: qc timeout (cmd 0xec)
[ 4491.455010] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 4491.455015] ata4.00: revalidation failed (errno=-5)
[ 4491.455023] ata4: hard resetting link
[ 4501.452805] ata4: softreset failed (1st FIS failed)
[ 4501.452816] ata4: hard resetting link
[ 4511.447192] ata4: softreset failed (1st FIS failed)
[ 4511.447203] ata4: hard resetting link
[ 4546.427642] ata4: softreset failed (1st FIS failed)
[ 4546.427654] ata4: limiting SATA link speed to 1.5 Gbps
[ 4546.427659] ata4: hard resetting link
[ 4551.598100] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 4551.598110] ata4.00: link online but device misclassified
[ 4561.592506] ata4.00: qc timeout (cmd 0xec)
[ 4561.592520] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 4561.592525] ata4.00: revalidation failed (errno=-5)
[ 4561.592534] ata4: hard resetting link
[ 4571.586923] ata4: softreset failed (1st FIS failed)
[ 4571.586934] ata4: hard resetting link
[ 4581.581258] ata4: softreset failed (1st FIS failed)
[ 4581.581270] ata4: hard resetting link
[ 4616.561789] ata4: softreset failed (1st FIS failed)
[ 4616.561801] ata4: hard resetting link
[ 4621.732238] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 4621.732248] ata4.00: link online but device misclassified
[ 4651.715480] ata4.00: qc timeout (cmd 0xec)
[ 4651.715494] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 4651.715499] ata4.00: revalidation failed (errno=-5)
[ 4651.715505] ata4.00: disabled
[ 4651.715575] ata4.00: device reported invalid CHS sector 0
[ 4651.715587] ata4: hard resetting link
[ 4661.713221] ata4: softreset failed (1st FIS failed)
[ 4661.713232] ata4: hard resetting link
[ 4671.710927] ata4: softreset failed (1st FIS failed)
[ 4671.710938] ata4: hard resetting link
[ 4706.691423] ata4: softreset failed (1st FIS failed)
[ 4706.691436] ata4: hard resetting link
[ 4711.868537] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 4711.868547] ata4.00: link online but device misclassified
[ 4711.868585] ata4: EH complete

Offline

#17 2015-07-04 13:58:18

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

I didn't see much speed difference with NTFS but that's too much if a kludge for me.
My usage is similar, it's just a partition for xbmc and plex to read from.

Offline

#18 2015-07-04 14:07:49

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Seagate SMR drive and Current 4.0.x Kernel

If you have the time and will to do more tests, you could also try other filesystems, although not as tested and reliable as ext4 you might want to try f2fs or btrfs.

Due to the way it works, I'd say f2fs seems a good candidate for use with smr drives. As for btrfs I think that it might also behave nicely if you tell it to assume the drive is a ssd. SMR drives and ssds seem to be somewhat similar as you can write a page/sector at a time but can only erase full blocks.

I would also make sure to test as frostschutz says, completely disable ncq for testing and see how it goes although I suspect it might not change much. On the other hand the drive should just work, even if very slowly at times, as it is a "drive managed" type of drive.

The End-to-End_Error issue might be worth looking into, it might indicate a problem with that particular drive. I suppose it would not be the cause of the big issue being discussed but might cause problems for data integrity. Someone at superuser say to have received a few dead on arrival drives so there may be some quality assurance problems with some batches of drives.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#19 2015-07-04 14:32:30

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

You are right it is kind of a kludge (what a nice word, I know it in my first language, but haven't known it in English, yet) but my television reciever is not the best one and sometimes causes filesystem errors on NTFS formated USB-devices. So I am used to copy these recordings in Windows (and run chkdsk /F before that) to other devices so it's not that bad thing that this seagate device filesystem is NTFS.

dmesg output with disabled NCQ:

sudo dmesg | grep ata4
[    2.918162] ata4: SATA max UDMA/133 abar m1024@0xfeb0b000 port 0xfeb0b280 irq 19
[    3.401717] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.402776] ata4.00: FORCE: horkage modified (noncq)
[    3.402944] ata4.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[    3.402945] ata4.00: 15628053168 sectors, multi 16: LBA48 NCQ (not used)
[    3.404130] ata4.00: configured for UDMA/133
[  178.592179] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  178.592191] ata4.00: failed command: WRITE DMA EXT
[  178.592201] ata4.00: cmd 35/00:80:80:a7:2d/00:4a:04:00:00/e0 tag 19 dma 9764864 out
[  178.592207] ata4.00: status: { DRDY }
[  178.592214] ata4: hard resetting link
[  188.589894] ata4: softreset failed (1st FIS failed)
[  188.589905] ata4: hard resetting link
[  198.587591] ata4: softreset failed (1st FIS failed)
[  198.587602] ata4: hard resetting link
[  233.568052] ata4: softreset failed (1st FIS failed)
[  233.568064] ata4: limiting SATA link speed to 3.0 Gbps
[  233.568069] ata4: hard resetting link
[  238.738448] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[  238.738458] ata4.00: link online but device misclassified
[  243.735979] ata4.00: qc timeout (cmd 0xec)
[  243.735995] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  243.736002] ata4.00: revalidation failed (errno=-5)
[  243.736012] ata4: hard resetting link
[simon@simon-pc ~]$ sudo dmesg | grep ata4
[    2.918162] ata4: SATA max UDMA/133 abar m1024@0xfeb0b000 port 0xfeb0b280 irq 19
[    3.401717] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.402776] ata4.00: FORCE: horkage modified (noncq)
[    3.402944] ata4.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[    3.402945] ata4.00: 15628053168 sectors, multi 16: LBA48 NCQ (not used)
[    3.404130] ata4.00: configured for UDMA/133
[  178.592179] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  178.592191] ata4.00: failed command: WRITE DMA EXT
[  178.592201] ata4.00: cmd 35/00:80:80:a7:2d/00:4a:04:00:00/e0 tag 19 dma 9764864 out
[  178.592207] ata4.00: status: { DRDY }
[  178.592214] ata4: hard resetting link
[  188.589894] ata4: softreset failed (1st FIS failed)
[  188.589905] ata4: hard resetting link
[  198.587591] ata4: softreset failed (1st FIS failed)
[  198.587602] ata4: hard resetting link
[  233.568052] ata4: softreset failed (1st FIS failed)
[  233.568064] ata4: limiting SATA link speed to 3.0 Gbps
[  233.568069] ata4: hard resetting link
[  238.738448] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[  238.738458] ata4.00: link online but device misclassified
[  243.735979] ata4.00: qc timeout (cmd 0xec)
[  243.735995] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  243.736002] ata4.00: revalidation failed (errno=-5)
[  243.736012] ata4: hard resetting link
[  253.733488] ata4: softreset failed (1st FIS failed)
[  253.733499] ata4: hard resetting link
[  263.727909] ata4: softreset failed (1st FIS failed)
[  263.727920] ata4: hard resetting link

My system is currently running under btrfs (and yes, I got already some issues (e.g. not working -o subvol option; Workaround: -o subvolid, but this is off topic, but it works quite fine. My system btw: Dualboot with Windows. Ext4 boot partition, LUKS + LVM linux system (LVM contains swap partition + btrfs data partition) + windows). So I am used to deal with kludge.

Then I will send this device back to my retailer and get (hopefully) an End-to-End_Error free device, although this will become interesting because the parcel service of my retailer (and the biggest of my country) strikes for (3?) weeks now and is continuing...

Offline

#20 2015-07-04 14:53:46

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

Even with disabled NCQ dd ist still failing:

if=/dev/zero of=./testwrite.deleteme bs=1M count=5000
dd: Fehler beim Schreiben von „./testwrite.deleteme“: Das Dateisystem ist nur lesbar

Offline

#21 2015-07-06 10:29:36

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

Did you test with LTS over the weekend?

Offline

#22 2015-07-06 12:46:37

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

With linux LTS kernel, GPT, and ext4 (and still disabled NCQ) at least dd works at my system without errors, too.
I didn't test rsync and cp because my Xorg driver doesn't work with the lts kernel. But I assume they would work, too.

Last edited by dietzi96 (2015-07-06 12:46:56)

Offline

#23 2015-07-16 18:38:12

dietzi96
Member
Registered: 2015-07-04
Posts: 17

Re: Seagate SMR drive and Current 4.0.x Kernel

This morning I received my exchange device. The SMART error is gone. I tried it with the recent linux kernel (4.1.2-2-ARCH), ext4 and enabled NCQ. dd works for 5 GB and 10 GB, but trying it with 100 GB produces:

dd if=/dev/zero of=./testwrite100.deleteme bs=1M count=100000
dd: Fehler beim Schreiben von „./testwrite100.deleteme“: Das Dateisystem ist nur lesbar
20934+0 Datensätze ein
20933+0 Datensätze aus
21949841408 Bytes (22 GB) kopiert, 537,895 s, 40,8 MB/s

The dmesg output is:

sudo dmesg | grep ata4
[    2.706953] ata4: SATA max UDMA/133 abar m1024@0xfeb0b000 port 0xfeb0b280 irq 19
[    3.296970] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.841536] ata4.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[    3.841539] ata4.00: 15628053168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    3.842984] ata4.00: configured for UDMA/133
[  500.074091] ata4.00: exception Emask 0x0 SAct 0x4000ffff SErr 0x0 action 0x6 frozen
[  500.074101] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074110] ata4.00: cmd 61/40:00:00:48:62/05:00:03:00:00/40 tag 0 ncq 688128 out
[  500.074115] ata4.00: status: { DRDY }
[  500.074119] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074126] ata4.00: cmd 61/40:08:40:4d:62/05:00:03:00:00/40 tag 1 ncq 688128 out
[  500.074130] ata4.00: status: { DRDY }
[  500.074134] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074141] ata4.00: cmd 61/40:10:80:52:62/05:00:03:00:00/40 tag 2 ncq 688128 out
[  500.074144] ata4.00: status: { DRDY }
[  500.074148] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074154] ata4.00: cmd 61/40:18:c0:57:62/05:00:03:00:00/40 tag 3 ncq 688128 out
[  500.074158] ata4.00: status: { DRDY }
[  500.074162] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074168] ata4.00: cmd 61/40:20:00:5d:62/05:00:03:00:00/40 tag 4 ncq 688128 out
[  500.074172] ata4.00: status: { DRDY }
[  500.074175] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074182] ata4.00: cmd 61/80:28:40:62:62/0a:00:03:00:00/40 tag 5 ncq 1376256 out
[  500.074186] ata4.00: status: { DRDY }
[  500.074189] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074196] ata4.00: cmd 61/c0:30:c0:6c:62/0f:00:03:00:00/40 tag 6 ncq 2064384 out
[  500.074199] ata4.00: status: { DRDY }
[  500.074203] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074209] ata4.00: cmd 61/80:38:80:7c:62/20:00:03:00:00/40 tag 7 ncq 4259840 out
[  500.074213] ata4.00: status: { DRDY }
[  500.074216] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074223] ata4.00: cmd 61/40:40:00:9d:62/10:00:03:00:00/40 tag 8 ncq 2129920 out
[  500.074227] ata4.00: status: { DRDY }
[  500.074230] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074237] ata4.00: cmd 61/80:48:40:ad:62/0a:00:03:00:00/40 tag 9 ncq 1376256 out
[  500.074240] ata4.00: status: { DRDY }
[  500.074243] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074250] ata4.00: cmd 61/80:50:c0:b7:62/0a:00:03:00:00/40 tag 10 ncq 1376256 out
[  500.074254] ata4.00: status: { DRDY }
[  500.074258] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074265] ata4.00: cmd 61/40:58:40:c2:62/05:00:03:00:00/40 tag 11 ncq 688128 out
[  500.074268] ata4.00: status: { DRDY }
[  500.074272] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074278] ata4.00: cmd 61/80:60:80:c7:62/00:00:03:00:00/40 tag 12 ncq 65536 out
[  500.074282] ata4.00: status: { DRDY }
[  500.074285] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074292] ata4.00: cmd 61/40:68:00:c8:62/05:00:03:00:00/40 tag 13 ncq 688128 out
[  500.074295] ata4.00: status: { DRDY }
[  500.074299] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074305] ata4.00: cmd 61/40:70:40:cd:62/05:00:03:00:00/40 tag 14 ncq 688128 out
[  500.074309] ata4.00: status: { DRDY }
[  500.074312] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074319] ata4.00: cmd 61/80:78:80:d2:62/0a:00:03:00:00/40 tag 15 ncq 1376256 out
[  500.074323] ata4.00: status: { DRDY }
[  500.074326] ata4.00: failed command: WRITE FPDMA QUEUED
[  500.074333] ata4.00: cmd 61/40:f0:c0:17:62/30:00:03:00:00/40 tag 30 ncq 6324224 out
[  500.074336] ata4.00: status: { DRDY }
[  500.074342] ata4: hard resetting link
[  500.933124] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  501.159819] ata4.00: configured for UDMA/133
[  501.159910] ata4.00: device reported invalid CHS sector 0
[  501.159977] ata4.00: device reported invalid CHS sector 0
[  501.160036] ata4.00: device reported invalid CHS sector 0
[  501.160127] ata4.00: device reported invalid CHS sector 0
[  501.160191] ata4.00: device reported invalid CHS sector 0
[  501.160294] ata4.00: device reported invalid CHS sector 0
[  501.160399] ata4.00: device reported invalid CHS sector 0
[  501.160544] ata4.00: device reported invalid CHS sector 0
[  501.160654] ata4.00: device reported invalid CHS sector 0
[  501.160748] ata4.00: device reported invalid CHS sector 0
[  501.160854] ata4.00: device reported invalid CHS sector 0
[  501.160963] ata4.00: device reported invalid CHS sector 0
[  501.160978] ata4.00: device reported invalid CHS sector 0
[  501.161087] ata4.00: device reported invalid CHS sector 0
[  501.161169] ata4.00: device reported invalid CHS sector 0
[  501.161282] ata4.00: device reported invalid CHS sector 0
[  501.161414] ata4.00: device reported invalid CHS sector 0
[  501.161513] ata4: EH complete
[  562.090149] ata4.00: exception Emask 0x0 SAct 0x3e0 SErr 0x0 action 0x6 frozen
[  562.090159] ata4.00: failed command: WRITE FPDMA QUEUED
[  562.090169] ata4.00: cmd 61/40:28:80:a7:ab/30:00:03:00:00/40 tag 5 ncq 6324224 out
[  562.090174] ata4.00: status: { DRDY }
[  562.090178] ata4.00: failed command: WRITE FPDMA QUEUED
[  562.090185] ata4.00: cmd 61/40:30:c0:d7:ab/1a:00:03:00:00/40 tag 6 ncq 3440640 out
[  562.090189] ata4.00: status: { DRDY }
[  562.090192] ata4.00: failed command: WRITE FPDMA QUEUED
[  562.090199] ata4.00: cmd 61/40:38:00:f2:ab/05:00:03:00:00/40 tag 7 ncq 688128 out
[  562.090202] ata4.00: status: { DRDY }
[  562.090206] ata4.00: failed command: WRITE FPDMA QUEUED
[  562.090212] ata4.00: cmd 61/40:40:40:f7:ab/05:00:03:00:00/40 tag 8 ncq 688128 out
[  562.090216] ata4.00: status: { DRDY }
[  562.090219] ata4.00: failed command: WRITE FPDMA QUEUED
[  562.090226] ata4.00: cmd 61/40:48:80:fc:ab/1b:00:03:00:00/40 tag 9 ncq 3571712 out
[  562.090229] ata4.00: status: { DRDY }
[  562.090235] ata4: hard resetting link
[  563.375436] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  563.819235] ata4.00: configured for UDMA/133
[  563.819291] ata4.00: device reported invalid CHS sector 0
[  563.819325] ata4.00: device reported invalid CHS sector 0
[  563.819338] ata4.00: device reported invalid CHS sector 0
[  563.819354] ata4.00: device reported invalid CHS sector 0
[  563.819386] ata4.00: device reported invalid CHS sector 0
[  563.819432] ata4: EH complete
[  628.048858] ata4.00: exception Emask 0x0 SAct 0x2000000 SErr 0x0 action 0x6 frozen
[  628.048868] ata4.00: failed command: WRITE FPDMA QUEUED
[  628.048878] ata4.00: cmd 61/40:c8:00:1d:36/45:00:04:00:00/40 tag 25 ncq 9076736 out
[  628.048883] ata4.00: status: { DRDY }
[  628.048889] ata4: hard resetting link
[  638.038553] ata4: softreset failed (1st FIS failed)
[  638.038564] ata4: hard resetting link
[  648.031581] ata4: softreset failed (1st FIS failed)
[  648.031591] ata4: hard resetting link
[  682.995582] ata4: softreset failed (1st FIS failed)
[  682.995593] ata4: limiting SATA link speed to 3.0 Gbps
[  682.995598] ata4: hard resetting link
[  688.163544] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[  688.163552] ata4.00: link online but device misclassified
[  693.158425] ata4.00: qc timeout (cmd 0xec)
[  693.158438] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  693.158443] ata4.00: revalidation failed (errno=-5)
[  693.158451] ata4: hard resetting link
[  703.151459] ata4: softreset failed (1st FIS failed)
[  703.151470] ata4: hard resetting link
[  713.141168] ata4: softreset failed (1st FIS failed)
[  713.141179] ata4: hard resetting link
[  748.108473] ata4: softreset failed (1st FIS failed)
[  748.108484] ata4: limiting SATA link speed to 1.5 Gbps
[  748.108489] ata4: hard resetting link
[  753.276486] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  753.276495] ata4.00: link online but device misclassified
[  763.266190] ata4.00: qc timeout (cmd 0xec)
[  763.266203] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  763.266208] ata4.00: revalidation failed (errno=-5)
[  763.266217] ata4: hard resetting link
[  773.255843] ata4: softreset failed (1st FIS failed)
[  773.255849] ata4: hard resetting link
[  783.248933] ata4: softreset failed (1st FIS failed)
[  783.248943] ata4: hard resetting link
[  818.216187] ata4: softreset failed (1st FIS failed)
[  818.216198] ata4: hard resetting link
[  823.384135] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[  823.384141] ata4.00: link online but device misclassified
[  853.353270] ata4.00: qc timeout (cmd 0xec)
[  853.353284] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  853.353288] ata4.00: revalidation failed (errno=-5)
[  853.353293] ata4.00: disabled
[  853.353452] ata4.00: device reported invalid CHS sector 0
[  853.353465] ata4: hard resetting link
[  863.346312] ata4: softreset failed (1st FIS failed)
[  863.346323] ata4: hard resetting link
[  873.339347] ata4: softreset failed (1st FIS failed)
[  873.339358] ata4: hard resetting link

Same issue.
So even with the recent 4.1.x kernel (4.1.2-2-ARCH) ext4 is still not working. So I'll return to my solution with the two partitions (the bigger one formatted as NTFS for data and the other one formatted as ext4 for testing purposes).

Offline

#24 2015-07-17 10:01:11

ccoffey
Member
Registered: 2014-11-04
Posts: 15

Re: Seagate SMR drive and Current 4.0.x Kernel

I know sound like a broken record, but I'm happy here with:

$ uptime
 10:57:58 up 11 days, 26 min,

$ dmesg | grep ata
[    0.000000] ACPI: SSDT 0x00000000D8906E00 00036D (v01 SataRe SataTabl 00001000 INTL 20120711)
[    0.000000] Memory: 3669360K/4041628K available (5205K kernel code, 803K rwdata, 1624K rodata, 1120K init, 1296K bss, 372268K reserved)
[    0.449684] Write protecting the kernel read-only data: 8192k
[    0.483106] libata version 3.00 loaded.
[    0.549378] ata1: SATA max UDMA/133 abar m2048@0xf7e3a000 port 0xf7e3a100 irq 44
[    0.549379] ata2: DUMMY
[    0.549380] ata3: DUMMY
[    0.549381] ata4: SATA max UDMA/133 abar m2048@0xf7e3a000 port 0xf7e3a280 irq 44
[    0.549382] ata5: DUMMY
[    0.549382] ata6: DUMMY
[    0.898337] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    0.898351] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    0.899765] ata1.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[    0.899767] ata1.00: 15628053168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    0.901110] ata1.00: configured for UDMA/133
[    0.910115] ata4.00: ATA-8: KINGSTON SMS200S3120G, 541ABBF0, max UDMA/133
[    0.910117] ata4.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32), AA
[    0.920090] ata4.00: configured for UDMA/133
[    1.075347] EXT4-fs (sdb3): mounted filesystem with ordered data mode. Opts: (null)
[    1.186113] systemd[1]: Listening on LVM2 metadata daemon socket.
[    1.186117] systemd[1]: Starting LVM2 metadata daemon socket.
[    1.198672] EXT4-fs (sdb3): re-mounted. Opts: discard,data=ordered
[    1.205861] systemd[1]: Started Rebuild Hardware Database.
[    1.631711] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[    1.632693] systemd[1]: Started Rebuild Journal Catalog

$ uname -r
3.14.46-1-lts

$ df -h /mnt/media/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.3T  3.4T  3.9T  47% /mnt/media

$ mount | grep med
/dev/sda1 on /mnt/media type ext4 (rw,relatime,data=ordered)

Offline

#25 2015-07-22 14:48:44

warped
Member
Registered: 2009-08-19
Posts: 41

Re: Seagate SMR drive and Current 4.0.x Kernel

Hi,
It looks like kernel 4+ issues with this drive are result of purely kernel bug - not drive.
Following patch on 4.0.8 allows me to successful write 7T of test data without any SATA error.
Without patch drive interface goes down after 50-150G of writes.

diff -Naur linux-4.0.8-old/drivers/ata/libata-core.c linux-4.0.8-new/drivers/ata/libata-core.c
--- linux-4.0.8-old/drivers/ata/libata-core.c	2015-07-10 18:46:16.000000000 +0200
+++ linux-4.0.8-new/drivers/ata/libata-core.c	2015-07-19 15:08:20.573594890 +0200
@@ -1043,8 +1043,8 @@
  *	None.
  *
  *	RETURNS:
- *	Device type, %ATA_DEV_ATA, %ATA_DEV_ATAPI, %ATA_DEV_PMP,
- *	%ATA_DEV_ZAC, or %ATA_DEV_UNKNOWN the event of failure.
+ *	Device type, %ATA_DEV_ATA, %ATA_DEV_ATAPI, %ATA_DEV_PMP or
+ *	%ATA_DEV_UNKNOWN the event of failure.
  */
 unsigned int ata_dev_classify(const struct ata_taskfile *tf)
 {
@@ -1089,11 +1089,6 @@
 		return ATA_DEV_SEMB;
 	}
 
-	if ((tf->lbam == 0xcd) && (tf->lbah == 0xab)) {
-		DPRINTK("found ZAC device by sig\n");
-		return ATA_DEV_ZAC;
-	}
-
 	DPRINTK("unknown device\n");
 	return ATA_DEV_UNKNOWN;
 }
@@ -1334,7 +1329,7 @@
 	int rc;
 
 	/* do we need to do it? */
-	if ((dev->class != ATA_DEV_ATA && dev->class != ATA_DEV_ZAC) ||
+	if (dev->class != ATA_DEV_ATA ||
 	    !ata_id_has_lba(dev->id) || !ata_id_hpa_enabled(dev->id) ||
 	    (dev->horkage & ATA_HORKAGE_BROKEN_HPA))
 		return 0;
@@ -1865,7 +1860,6 @@
 	case ATA_DEV_SEMB:
 		class = ATA_DEV_ATA;	/* some hard drives report SEMB sig */
 	case ATA_DEV_ATA:
-	case ATA_DEV_ZAC:
 		tf.command = ATA_CMD_ID_ATA;
 		break;
 	case ATA_DEV_ATAPI:
@@ -1957,7 +1951,7 @@
 	rc = -EINVAL;
 	reason = "device reports invalid type";
 
-	if (class == ATA_DEV_ATA || class == ATA_DEV_ZAC) {
+	if (class == ATA_DEV_ATA) {
 		if (!ata_id_is_ata(id) && !ata_id_is_cfa(id))
 			goto err_out;
 		if (ap->host->flags & ATA_HOST_IGNORE_ATA &&
@@ -1992,8 +1986,7 @@
 			goto retry;
 	}
 
-	if ((flags & ATA_READID_POSTRESET) &&
-	    (class == ATA_DEV_ATA || class == ATA_DEV_ZAC)) {
+	if ((flags & ATA_READID_POSTRESET) && class == ATA_DEV_ATA) {
 		/*
 		 * The exact sequence expected by certain pre-ATA4 drives is:
 		 * SRST RESET
@@ -2258,7 +2251,7 @@
 			sizeof(modelbuf));
 
 	/* ATA-specific feature tests */
-	if (dev->class == ATA_DEV_ATA || dev->class == ATA_DEV_ZAC) {
+	if (dev->class == ATA_DEV_ATA) {
 		if (ata_id_is_cfa(id)) {
 			/* CPRM may make this media unusable */
 			if (id[ATA_ID_CFA_KEY_MGMT] & 1)
@@ -4011,7 +4004,6 @@
 	if (ata_class_enabled(new_class) &&
 	    new_class != ATA_DEV_ATA &&
 	    new_class != ATA_DEV_ATAPI &&
-	    new_class != ATA_DEV_ZAC &&
 	    new_class != ATA_DEV_SEMB) {
 		ata_dev_info(dev, "class mismatch %u != %u\n",
 			     dev->class, new_class);
diff -Naur linux-4.0.8-old/drivers/ata/libata-eh.c linux-4.0.8-new/drivers/ata/libata-eh.c
--- linux-4.0.8-old/drivers/ata/libata-eh.c	2015-07-10 18:46:16.000000000 +0200
+++ linux-4.0.8-new/drivers/ata/libata-eh.c	2015-07-19 15:08:20.576928212 +0200
@@ -1808,7 +1808,6 @@
 
 	switch (qc->dev->class) {
 	case ATA_DEV_ATA:
-	case ATA_DEV_ZAC:
 		if (err & ATA_ICRC)
 			qc->err_mask |= AC_ERR_ATA_BUS;
 		if (err & (ATA_UNC | ATA_AMNF))
@@ -3794,8 +3793,7 @@
 				struct ata_eh_context *ehc = &link->eh_context;
 				unsigned long tmp;
 
-				if (dev->class != ATA_DEV_ATA &&
-				    dev->class != ATA_DEV_ZAC)
+				if (dev->class != ATA_DEV_ATA)
 					continue;
 				if (!(ehc->i.dev_action[dev->devno] &
 				      ATA_EH_PARK))
@@ -3876,8 +3874,7 @@
 
 		/* retry flush if necessary */
 		ata_for_each_dev(dev, link, ALL) {
-			if (dev->class != ATA_DEV_ATA &&
-			    dev->class != ATA_DEV_ZAC)
+			if (dev->class != ATA_DEV_ATA)
 				continue;
 			rc = ata_eh_maybe_retry_flush(dev);
 			if (rc)
diff -Naur linux-4.0.8-old/drivers/ata/libata-scsi.c linux-4.0.8-new/drivers/ata/libata-scsi.c
--- linux-4.0.8-old/drivers/ata/libata-scsi.c	2015-07-10 18:46:16.000000000 +0200
+++ linux-4.0.8-new/drivers/ata/libata-scsi.c	2015-07-19 15:08:20.576928212 +0200
@@ -235,8 +235,7 @@
 		rc = -ENODEV;
 		goto unlock;
 	}
-	if (dev->class != ATA_DEV_ATA &&
-	    dev->class != ATA_DEV_ZAC) {
+	if (dev->class != ATA_DEV_ATA) {
 		rc = -EOPNOTSUPP;
 		goto unlock;
 	}
@@ -1962,7 +1961,6 @@
 static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
 {
 	const u8 versions[] = {
-		0x00,
 		0x60,	/* SAM-3 (no version claimed) */
 
 		0x03,
@@ -1971,20 +1969,6 @@
 		0x02,
 		0x60	/* SPC-3 (no version claimed) */
 	};
-	const u8 versions_zbc[] = {
-		0x00,
-		0xA0,	/* SAM-5 (no version claimed) */
-
-		0x04,
-		0xC0,	/* SBC-3 (no version claimed) */
-
-		0x04,
-		0x60,	/* SPC-4 (no version claimed) */
-
-		0x60,
-		0x20,   /* ZBC (no version claimed) */
-	};
-
 	u8 hdr[] = {
 		TYPE_DISK,
 		0,
@@ -1999,11 +1983,6 @@
 	if (ata_id_removable(args->id))
 		hdr[1] |= (1 << 7);
 
-	if (args->dev->class == ATA_DEV_ZAC) {
-		hdr[0] = TYPE_ZBC;
-		hdr[2] = 0x6; /* ZBC is defined in SPC-4 */
-	}
-
 	memcpy(rbuf, hdr, sizeof(hdr));
 	memcpy(&rbuf[8], "ATA     ", 8);
 	ata_id_string(args->id, &rbuf[16], ATA_ID_PROD, 16);
@@ -2016,10 +1995,7 @@
 	if (rbuf[32] == 0 || rbuf[32] == ' ')
 		memcpy(&rbuf[32], "n/a ", 4);
 
-	if (args->dev->class == ATA_DEV_ZAC)
-		memcpy(rbuf + 58, versions_zbc, sizeof(versions_zbc));
-	else
-		memcpy(rbuf + 58, versions, sizeof(versions));
+	memcpy(rbuf + 59, versions, sizeof(versions));
 
 	return 0;
 }
@@ -3430,7 +3406,7 @@
 	ata_xlat_func_t xlat_func;
 	int rc = 0;
 
-	if (dev->class == ATA_DEV_ATA || dev->class == ATA_DEV_ZAC) {
+	if (dev->class == ATA_DEV_ATA) {
 		if (unlikely(!scmd->cmd_len || scmd->cmd_len > dev->cdb_len))
 			goto bad_cdb_len;
 
diff -Naur linux-4.0.8-old/drivers/ata/libata-transport.c linux-4.0.8-new/drivers/ata/libata-transport.c
--- linux-4.0.8-old/drivers/ata/libata-transport.c	2015-07-10 18:46:16.000000000 +0200
+++ linux-4.0.8-new/drivers/ata/libata-transport.c	2015-07-19 15:08:20.576928212 +0200
@@ -143,7 +143,6 @@
 	{ ATA_DEV_PMP_UNSUP,		"pmp" },
 	{ ATA_DEV_SEMB,			"semb" },
 	{ ATA_DEV_SEMB_UNSUP,		"semb" },
-	{ ATA_DEV_ZAC,			"zac" },
 	{ ATA_DEV_NONE,			"none" }
 };
 ata_bitfield_name_search(class, ata_class_names)
diff -Naur linux-4.0.8-old/include/linux/libata.h linux-4.0.8-new/include/linux/libata.h
--- linux-4.0.8-old/include/linux/libata.h	2015-07-10 18:46:16.000000000 +0200
+++ linux-4.0.8-new/include/linux/libata.h	2015-07-19 15:08:20.576928212 +0200
@@ -191,8 +191,7 @@
 	ATA_DEV_PMP_UNSUP	= 6,	/* SATA port multiplier (unsupported) */
 	ATA_DEV_SEMB		= 7,	/* SEMB */
 	ATA_DEV_SEMB_UNSUP	= 8,	/* SEMB (unsupported) */
-	ATA_DEV_ZAC		= 9,	/* ZAC device */
-	ATA_DEV_NONE		= 10,	/* no device */
+	ATA_DEV_NONE		= 9,	/* no device */
 
 	/* struct ata_link flags */
 	ATA_LFLAG_NO_HRST	= (1 << 1), /* avoid hardreset */
@@ -1512,8 +1511,7 @@
 static inline unsigned int ata_class_enabled(unsigned int class)
 {
 	return class == ATA_DEV_ATA || class == ATA_DEV_ATAPI ||
-		class == ATA_DEV_PMP || class == ATA_DEV_SEMB ||
-		class == ATA_DEV_ZAC;
+		class == ATA_DEV_PMP || class == ATA_DEV_SEMB;
 }
 
 static inline unsigned int ata_class_disabled(unsigned int class)

Last edited by warped (2015-07-22 15:01:02)

Offline

Board footer

Powered by FluxBB