File: TODO

package info (click to toggle)
squashfuse 0.5.2-0.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 644 kB
  • sloc: ansic: 5,018; sh: 335; makefile: 130
file content (69 lines) | stat: -rw-r--r-- 2,150 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
For 0.1
	Submit squashfs-tools patches

Build system
	Autotools versioning
		Currently autoconf 2.68, automake 1.11 tested. Use AC_PREREQ?
		Test older versions
	libsquashfuse
		Separate out a library with a proper API
		Try connecting it to File Roller, The Unarchiver, etc
		Support win32api?
	Debug builds: configure option?
	Mac builds
		Support specifying SDK, arch, universal builds
		Why don't builds on Lion with 10.4 SDK work?
	Test suite?
	Fully process squashfs_fs.h direct from kernel
		Remove [0] lines for Windows
		Add __le## for many OSes
		Remove function macros
		Redefine INVALID_BLK
		etc...

Features
	Design a good API for libsquashfuse
	Use better error codes, error reporting, sanity checks
	Support/emulate non-namespaced xattrs, for OS X
	Write a clone of unsquashfs using libsquashfuse?
	squashfs 3 and earlier support?
	LZMA1 compression?

Performance
	Multi-threading
		Caches, blockidx aren't thread safe
		Use a thread pool? Or one thread per request?
		Read metadata (eg: UIDs) in parallel?
		How do we get FUSE to do multi-threading? On some OSes it just doesn't
	Byte swapping
		Use platform-specific optimizations (eg: libkern/OSByteOrder.h)
		Also arch-specific
	Block index: Create incrementally, as needed?
	Speculative read-ahead?
	Caching and threading strategy delegation?
		eg: Small caches for low-memory; huge caches for complete extraction 
	Profile for optimization opportunities

Misc
	mksquashfs is slow, write a faster version?

Platform support
	Known bad
		QNX 6.5 (qfuse)
			fuse_session_add_chan() crashes
			High-level crashes too
		Windows (fuse4win/dokan)
			Dokan sample bluescreens, fuse4win sample crashes
			CBFS? Totally different API, expensive
			Pismo File Mount?
			Explorer Namespace Extension?
			FUSE-NT?
			7-zip can browse squashfs archives, just not in explorer
	Linux kernel < 2.4.20
		Requires fuse < 2.4.0. Maybe high-level?
		LUFS?
	No low-level fuse
		Solaris 11 (uvfs/fuse): High-level sort-of works
		Minix 3.2 (puffs/refuse): High-level won't work
		Haiku (userlandfs): High-level won't work, userlandfs hard to build
		Hurd (libfuse): High-level works fine, version 2.5