On Tue, 2003-01-28 at 04:23, Borzenkov Andrey wrote:

> Nope, it is just an accidental side effect. Put_inode (as it was) is buggy
> and not needed.
> 
> ESTALE was my fault, I did not expect that the same superblock is reused on
> remount with busy files. The attached patch plugs the hole (reinitialize
> s_media_changed) until I find a proper fix. 
> 
> Also patch does
> 
> - "mode" parameter was forgotten for ext2
> 
> - move setting of s_media_changed to where it belongs - check_disk_change
> 
> - add MS_SUPERMOUNTED flag for future use
> 
> - use MS_SUPERMOUNTED to properly respect reference count on CD eject
> instead of blindly disabling it
> 
> - "self destroying" message is back, it is fixed for supermount and we
> should not hide errors for other cases.
> 
> > >> Now I am able to eject the cd in the middle of one
> > >> operation, insert again the cd, and the operation continues
> > >> with only some I/O Errors (as expected).
> > 
> 
> Please, test it with this patch. Your version gives "no such file or
> directory" error again :(
>  
> > That now it never shows -ESTALE errors :p
> >
> 
> It still does with my patch in one case:
> 
> cd /mnt/cdrom/foo
> eject
> ls /mnt/cdrom
> 
> will show /mnt/cdrom/foo as ESTALE. It is because d_invalidate never
> invalidates busy directory. I think I know how to fix it.
> 
> TODO
> 
> - really fix ejecting with busy files
> - fix the last case of improper ESTALE
> - some more vague ideas
> 
> cheers
> 
> -andrey

The real test for supermount will be when you can successfully install a
copy protected game under WineX; like Baldur's Gate 2, for instance. 
That's going to be my acid test. 

LX


-- 
���������������������������������������������������
Kernel  2.4.18-6mdk     Mandrake Linux  8.2
Enlightenment 0.16.5-11mdk    Evolution  1.0.2-5mdk
Registered Linux User #268899 http://counter.li.org/
���������������������������������������������������


Reply via email to