On Mon, Feb 02, 2015 at 02:48:26PM -0500, J. Bruce Fields wrote:
> Previously: http://lkml.kernel.org/r/20150106175611.GA16413@xxxxxx
>
> > - any advice on testing? Is there was some simple
> > virtual setup that would allow any loser with no special
> > hardware (e.g., me) to check whether they've broken the
> > block server?
>
> Run two kvm VMs that share the same disk. Create an XFS
> filesystem on the MDS, and export it. If the client has blkmapd
> running (on Debian it needs to be started manually) it will use
> pNFS for accessing the filesystem. Verify that using the
> per-operation counters in /proc/self/mounstats. Repeat with
> additional clients as nessecary.
>
> Alternatively set up a simple iSCSI target using tgt or lio and
> connect to it from multiple clients.
>
> Which sounds reasonable to me, but I haven't tried to incorporate this
> into my regression testing yet.
Additionally I can offer the following script to generate recalls,
which don't really happen during normal operation. I don't
really know how to write a proper testcase that coordinates access
to the exported filesystem and nfs unless it runs locally on the same node,
though. It would need some higher level, network aware test harness:
----- snip -----
#!/bin/sh
set +x
# wait for grace period
touch /mnt/nfs1/foo
dd if=/dev/zero of=/mnt/nfs1/foo bs=128M count=32 conv=fdatasync oflag=direct &
sleep 2
echo "" > /mnt/test/foo && echo "recall done"
|