[parisc-linux] [PATCH] Fixs to work on ARM and PARIC platforms.
Ryan Bradetich
rbradetich at gmail.com
Sat Apr 1 02:22:20 MST 2006
Hello all,
I spend the last couple days tracking down why FUSE would not work on the
ARM and PARISC platform ... With the hints from James Bottomley in the
"Example filesystems fail to init on parisc" thread and a fair amount of
persistence I was got a patch that works.
The patch really fixes two bugs:
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.
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 :(
Hopefully this work will enable FUSE to work on these architectures in the
near future.
Thanks,
- Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20060401/8cc63da1/attachment-0001.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fuse-kernel.patch
Type: text/x-patch
Size: 299 bytes
Desc: not available
Url : http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20060401/8cc63da1/attachment.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fuse-lib.patch
Type: text/x-patch
Size: 332 bytes
Desc: not available
Url : http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20060401/8cc63da1/attachment-0001.bin
More information about the parisc-linux
mailing list