Sometimes mount A would get a cap revoke when mount
B did its last IO, resulting in mount A's OSD epoch
getting updated too.
Fix by making sure mount B is the last one to have
done IO before we do the barrier, so that when
it does IO again after the barrier, mount A can't
be holding any caps that B would need.
Fixes: #11913
Signed-off-by: John Spray <john.spray@redhat.com>
Add a workload that uses the lrc erasure code plugin. Instead of adding
it to suites/rados/thrash-erasure-code/workloads, a new suite is created
at suites/rados/thrash-erasure-code-big because it needs more OSDs than
other erasure code plugins. The alternative would be to increase the
number of OSDs for all erasure code plugins, but that would needlessly
increase the resources requirements.
* cluster/12-osds.yaml creates a 12 OSDs, 3 MONs cluster
* thrash-erasure-code-big/thrashers/*.yaml are the same as
thrash-erasure-code/thrashers/*.yaml except they require that at
least 8 OSDs are in at all times (instead of 4) because lrc PGs with
k=4, m=2, l=3 are undersized if they do not have 8 OSDs. It is
possible that crush fails to map 8 OSDs when only 8 OSDs are
available, but that must not disturb the workload because min_size is
4.
http://tracker.ceph.com/issues/11666Fixes: #11666
Signed-off-by: Loic Dachary <ldachary@redhat.com>
For cases where we have e.g. poked the fuse abort
file for a process, but it's still not dying. Because
this is a special class of error (unlike e.g. when
we force umount something because the network is gone)
raise the error instead of trying again to kill
the client.
Fixes: #11835
Signed-off-by: John Spray <john.spray@redhat.com>
To test that metadata written recently is
preserved across a client+server crash when
barriered with a directory fsync.
Signed-off-by: John Spray <john.spray@redhat.com>
Looks like Sandon's and Sage's changes raced and there are now two
sites where we fetch overrides. One should be enough.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
.. for testing various unmap scenarios, mostly unmap by spec, but also
unmap by device and device partition.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
The interval between writes was too short because
it was not taking account of the way OSDMap full
flags are set on tick rather than immediately.
Fixes: #11779
Signed-off-by: John Spray <john.spray@redhat.com>
flock only works properly on FUSE versions >=2.9, which is newer
than eg Ubuntu Precise. So check the version on our client mounts and
only test flock if it's at least that new.
Fixes: #9995
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
Run the same procedure as TestClusterFull, but
instead of limiting OSD memstore size, use pool
quota on the data pool.
Signed-off-by: John Spray <john.spray@redhat.com>
Removed per Josh's suggestion fs as redundant and renamed rados to bacis
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
(cherry picked from commit dcfd6a3b09)
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>