Skip to contentSkip to conversation

enable FUA support in libata

RFC Zheng Liu 2 participants 3 messages Apr 13, 2012

Subsystems (2)
lore
Share & tools
lore

Zheng Liu

author
#0 lore raw

Hi Jeff and list,

Recently I met a problem about FUA support of SATA disk. In my machine, it has a SATA disk that supports FUA feature. But after system starts up, it displays that the disk cannot support FUA from dmesg.

I notice this commit (c3c013a2). It disables FUA support in all of SATA disk. But the commit log is too simple to know why we should disable FUA support in libata. Could you please explain it? Thank you.

Regards,
Zheng

#1 lore raw
Quoted 9 lines · Zheng Liu

Hi Jeff and list,

Recently I met a problem about FUA support of SATA disk. In my machine, it has a SATA disk that supports FUA feature. But after system starts up, it displays that the disk cannot support FUA from dmesg.

I notice this commit (c3c013a2). It disables FUA support in all of SATA disk. But the commit log is too simple to know why we should disable FUA support in libata. Could you please explain it? Thank you.

FUA support in the block layer wanted speed and guarantees that early FUA drives were simply not providing.

author
#2 lore raw
Quoted 8 lines · Jeff Garzik
Quoted 7 lines · Zheng Liu

Hi Jeff and list,

Recently I met a problem about FUA support of SATA disk.  In my machine, it has a SATA disk that supports FUA feature.  But after system starts up, it displays that the disk cannot support FUA from dmesg.

Quoted 7 lines
Quoted 3 lines

I notice this commit (c3c013a2).  It disables FUA support in all of SATA disk.  But the commit log is too simple to know why we should disable FUA support in libata.  Could you please explain it?  Thank you.

FUA support in the block layer wanted speed and guarantees that early FUA drives were simply not providing.

Hi Jeff,

Thank you for your reply. I notice that this patch is merged in 2006.
I don't know whether we can enable it now by default or not. I read
some specifications of SATA disks. They support FUA feature. Although libata_fua variable is a kernel module parameter and we can enable it when this module is loaded, it is too complicated because it needs to be loaded before kernel is loaded. Thus, we need to set libata_fua in initrd. Maybe we can change it into a sysctl parameter.
Then we can enable it dynamically. Do you have any suggestions?
Thank you.

Regards,
Zheng