On Wed, Nov 21, 2012 at 10:10:49AM +0100, sysadmin@albasoft.com wrote:
Nov 18 20:42:51 appserver01 kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 48 by sanlock; performance will be poor. Nov 19 20:42:53 appserver01 kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 48 by sanlock; performance will be poor.
First, it seems your systems are misconfigured; sanlock is supposed to run on nfs, not ext4. You're probably not mounting nfs early enough or it's failing to mount.
Second, I think libvirt is getting the ability to use nfs locks for this use case rather than sanlock. You might check to see if that's possible yet, because it would probably work better.
Third, I don't know whether sanlock was running on ext4 or nfs at the time of these errors, so it's hard to place the blame on something specific...
sanlock[17941]: 2012-11-19 21:38:19+0100 1040540 [18880]:
leader4 sn __LIBVIRT__DISKS__ rn 18fefd6b-45fe-4d2b-8774-7c890826d722.appserver0 ts 1040519 cs b1df2fa4
sanlock[17941]: 2012-11-19 21:38:19+0100 1040540 [18880]:
leader4 sn __LIBVIRT__DISKS__ rn 18fefd6b-45fe-4d2b-8774-7c890826d722.appserver0 ts 1040499 cs a4181d8a
At time 1040499, sanlock wrote timestamp 1040499.
At time 1040519, sanlock wrote timestamp 1040519.
At time 1040540, sanlock read what it last wrote and got back timestamp 1040499, instead of 1040519.
Either there's bad caching going on in the kernel, or some layer reported that a write was successful when it wasn't.