The bisect resulted in the following: dc019b21fb92d620a3b52ccecc135ac968a7c7ec is the first bad commit commit dc019b21fb92d620a3b52ccecc135ac968a7c7ec Author: Mike Snitzer <snit...@redhat.com> Date: Fri May 10 14:37:16 2013 +0100
dm table: fix write same support If device_not_write_same_capable() returns true then the iterate_devices loop in dm_table_supports_write_same() should return false. Reported-by: Bharata B Rao <bharata....@gmail.com> Signed-off-by: Mike Snitzer <snit...@redhat.com> Cc: sta...@vger.kernel.org # v3.8+ Signed-off-by: Alasdair G Kergon <a...@redhat.com> :040000 040000 d8b62d18789b5c9e5b52c076abcf4c8c066b5d59 71a5511a8ea76f43bd167524a9186c1d78407bce M drivers -- However, I don't think the issue is with this patch. The function 'device_not_write_same_capable()' correctly returns: return q && !q->limits.max_write_same_sectors; If max_write_same_sectors is 0 (write_same not supported), then true is returned and thus 'not_write_same_capable'. Likewise the function 'dm_table_supports_write_same' iterates through dm tables and checks if (!ti->type->iterate_devices || ti->type->iterate_devices(ti, device_not_write_same_capable, NULL)) return false; So if iterate_devices is NULL, this if returns false, otherwise if iterate_devices exist, then device_not_write_same_capable is called, if it returns 'true' then the function returns 'false' (A bit confusing, but essentially the parent function is 'supports_write_same' and uses a 'not_write_same_capable' function to check this fact. ) That logic was introduced in: d54eaa5a0fde0a202e4e91f200f818edcef15bee (v3.8-rc1), which means that previous to that we might not see the same behavior which could account for 2.6.38 not failing this test case. Relevant thread: http://www.spinics.net/lists/dm-devel/msg19583.html -- Looking at the affected VM: Now this makes sense why LVM is only affected, and explains the helpful kernel message output. If we check the dm's for our LVM vg's we see the following: ubuntu@ubuntu:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19.8G 0 part ├─ubuntu--vg-root (dm-0) 252:0 0 18.8G 0 lvm / └─ubuntu--vg-swap_1 (dm-1) 252:1 0 1020M 0 lvm [SWAP] sr0 11:0 1 572M 0 rom ubuntu@ubuntu:~$ cat /sys/dev/block/252\:1/queue/write_same_max_bytes 33553920 ubuntu@ubuntu:~$ cat /sys/dev/block/252\:0/queue/write_same_max_bytes 33553920 So write_same support is enabled, but then that causes the failure. So at this point, I wonder if the underlying virtual SCSI is at fault. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1371591 Title: file not initialized to 0s under some conditions on VMWare To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1371591/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs