Hi,All:
These two pictures are core info and logs,In my opinion,One client do lookup while some brick have this file but some brick no this file,then the stripe_lookup_cbk return local->op_ret=0, then use this stale file handle to truncate,so have a crash.
In this condition,I return local->op_ret = -1,local->op_errno = ENOENT in stripe_lookup_cbk, instead of creash.
How should I solve it properly?
On Sun, Jul 7, 2013 at 9:58 PM, deming jia <jiademing.dd@xxxxxxxxx> wrote:
Hi,All.I do a test in glusterfs-3.3.1,but have a crash,seems return an invalid indoe or invalid inode-table in stripe_lookup_cbk.The test likes this:1. craate a dht+stripe(3) volumes.2.mount in three different machines3.mkdir testdir in mount point4.every machine start a postmark to craate a lot of little files named 1,2,3..... in testdirIn short,three postmark process in three different machine create a lot of little files named 1,2,3,4..... in a same dir (testdir)use a dht+stripe volumes, this crash can be reproduce.I used xfs as the underlying filesystem.I used three postmark procresses on one client or used three postmark processes on three clients of different mathines to fopen fwrite files named (client1:a1, a2, a3, a4....client2:b1, b2, b3, b4.... client3:c1, c2, c3, c4...) in the same dir , They all didn't produce a crash.Does creating a same file in the same dir by different client of different matchines at the same time have any problme?In additionally, http://supercolony.gluster.org/pipermail/gluster-devel/2011-August/007441.html , it's decription is similar to mycrash. How can I solve it? Look forward to your reply,Thanks.I have little English,sorry!Yours Jia Deming2013-07-07