Re: XFS write cache flush policy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16.12.2012 11:30, Matthias Schniedermeyer wrote:
> On 16.12.2012 09:16, Dave Chinner wrote:
> > 
> > Like most amateurs you've jump to the obvious conclusion without
> > considering all the other possibilities that could give the same
> > result.
> 
> I have a test-case, so you can cut out the amateur.
> Partition is 100GB at the beginning of a 1,5TB SATA HDD connected by 
> USB3 enclosure:
> Machine has 4GB of memory and is running a vanilla 3.7.0 kernel.
> 
> mkfs.xfs -l size=1024b -s size=4096 /dev/sdb1
> mount /dev/sdb1 /mnt
> mkdir /mnt/a
> cd /mnt/a
> for dat in `seq 1 40`; do dd if=/dev/zero of=$dat bs=1k count=900k ; done
> 
> Then i started a timer and waited for 5 minutes.
> Then i yanked out the cable, my machine was writing to the 24th file at 
> that point.
> 
> umount /mnt
> <replug cable>
> mount /dev/sdb1 /mnt
> ls -l /mnt
> <In words: Nothing there, not even a>
> 
> I tried it 3 times, all times with the same result that not even "a" was 
> there.
> 
> In the last run i did a `ls -l /mnt/a` at the 4 minute-point, it showed 
> several files with 900MB.

And boy is it unsafe to use XFS currently.

Modifed test-case. Same as above, except for this loop:
for dat in `seq 1 10`; do dd if=/dev/zero of=$dat bs=1k count=900k ; done
After it ran through i waited 5 minutes, IOW there were 5 minutes of 
nothing going on.
Yank out cable, yada, yada, yada.

Result: Same as above.

This proves(at last for the amateuer in me) that it is the same bug as 
the OP had.


Variant 3.
Same as 2, but with a 'sync' after the for-loop.
After 'sync' returns, i immediatly yank out the cable.
After replugging the result is as expect, the directroy and all files 
exist.


So as far as i can tell, currently there is a 'sync' missing somewhere.
It it is at least in kernels 3.6 & 3.7, maybe 3.5.
Could it be the removal of pdflush?



-- 

Matthias

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux