diff options
author | Raghavendra G <rgowdapp@redhat.com> | 2018-08-12 15:33:29 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-08-13 12:45:38 +0000 |
commit | 93c9062ccdf6a5b0461e2ea10ebe8d54d364a243 (patch) | |
tree | d6be5a6af759c6d0c5e3367ffd787eb34bcecde4 /glusterfsd | |
parent | fcf7ac887147e2f96a93165480c70364ee89a870 (diff) |
tests/quick-read/bug-846240.t: fix a wrong test
Earlier this test did following things on M0 and M1 mounted on same
volume:
1 create file M0/testfile
2 open an fd on M0/testfile
3 remove the file from M1, M1/testfile
4 echo "data" >> M0/testfile
The test expects appending data to M0/testfile to fail. However,
redirector ">>" creates a file if it doesn't exist. So, the only
reason test succeeded was due to lookup succeeding due to stale stat
in md-cache. This hypothesis is verified by two experiments:
* Add a sleep of 10 seconds before append operation. md-cache cache
expires and lookup fails followed by creation of file and hence append
succeeds to new file.
* set md-cache timeout to 600 seconds and test never fails even with
sleep 10 before append operation. Reason is stale stat in md-cache
survives sleep 10.
So, the spurious nature of failure was dependent on whether lookup is
done when stat is present in md-cache or not.
The actual test should've been to write to the fd opened in step 2
above. I've changed the test accordingly. Note that this patch also
remounts M0 after initial file creation as open-behind disables
opening-behind on witnessing a setattr on the inode and touch involves
a setattr. On remount, create operation is not done and hence file is
opened-behind.
Change-Id: I739f255e0a62ff0024f0824dad3539974955df99
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Fixes: bz#1615096
Diffstat (limited to 'glusterfsd')
0 files changed, 0 insertions, 0 deletions