[parisc-linux] Re: [fuse-devel] [PATCH] Fixs to work on ARM and PARIC platforms.
Miklos Szeredi
miklos at szeredi.hu
Sat Apr 1 09:35:38 MST 2006
> 1. The rwlock tree_lock in struct fuse was not properly initialized using
> pthread_rwlock_init(). This normally works on other archs (besides
> PARISC) since the lock can be initialized to 0 values, this is not true on
> the PARISC platform ... these locks must be initialized properly to work on
> PARISC.
Good find, thanks.
The initialization should actually look like this:
pthread_rwlock_init(&f->tree_lock, NULL);
I can't imagine how your version managed to work...
> 2. I had to add an additional cache flush in the fuse_copy_do function. On
> both ARM and PARISC, the data was corrupted unless cache is flushed first.
> Unfortunately I hit it with a very big hammer (flush_cache_all) ... I am
> hoping someone more familiar with the caches will suggest a better flush
> function to use. I tried to use the flush_kernel_dcache_page and
> flush_dcache_page functions without any luck :(
You should try using the parisc patchset from:
http://cvs.parisc-linux.org/download/linux-2.6/
and replace flush_dcache_page() with flush_kernel_dcache_page() in
FUSE source.
Thanks,
Miklos
More information about the parisc-linux
mailing list