On Fri, Apr 18, 2008 at 6:30 AM, Szabolcs Szakacsits <szaka@ntfs-3g.org> wrote:Correct me if I'm wrong, but one place where caches seem necessary is for lookup. My file system already has an inode number; my understanding is that the kernel inode cache and dcache are caching the FUSE inode by filename and its hashed inode number. In FUSE, on open, I'm passed a filename which I then have to resolve into an inode # via my own lookup. The VFS does the path_lookup as part of sys_open, and since I get to put private data into the struct inode, I'll generally already have the block # and various other info in the dcache by the time open is called. Also, if you stuff inode data into the private fh field in fuse_file_info, you need to be sure that any subsequent lookups always return the same inode structure, otherwise a thread doing ftruncate vs one doing truncate will cause issues. So I created an internal dcache to solve those two problems. Nope, that's not possible, sorry. Both require use of USB. lkarmafs and omfs_fuse aren't the same thing. Like I said it was anecdotal (copy 20 gigs of X) in both. I'm sure a good portion of it is my fault, such as doing unnecessary malloc & copies in omfs_fuse. I have put exactly zero effort into making it fast so far. BTW, I hardly intended to start a huge VFS vs FUSE debate. I think FUSE is great. I'm not sure it's the right fit for this, is all. -- Bob Copeland %% www.bobcopeland.com --
| Tomasz Kłoczko | Is it time for remove (crap) ALSA from kernel tree ? |
| Aubrey | O_DIRECT question |
| Linus Torvalds | Linux 2.6.27-rc8 |
| David Miller | Slow DOWN, please!!! |
git: | |
| Francis Moreau | emacs and git... |
| Linus Torvalds | I'm a total push-over.. |
| Keith Packard | Re: parsecvs tool now creates git repositories |
| Junio C Hamano | Re: [PATCH] Teach remote machinery about remotes.default config variable |
| Jason Dixon | Wasting our Freedom |
| Richard Stallman | Real men don't attack straw men |
| Edwin Eyan Moragas | poll(2) vs kqueue(2) performance |
| James Hartley | scp batch mode? |
| Karen Xie | [RFC][PATCH 1/1] cxgb3i: cxgb3 iSCSI initiator |
| Lennert Buytenhek | [PATCH 14/39] mv643xx_eth: remove port serial status register bit defines |
| Alan Cox | Re: [PATCH] drivers/net: remove network drivers' last few uses of IRQF_SAMPLE_RANDOM |
| Andrew Morton | Re: [Bugme-new] [Bug 11036] New: atl1 tx busy and hw csum wrong |
| high memory | 1 hour ago | Linux kernel |
| semaphore access speed | 4 hours ago | Applications and Utilities |
| the kernel how to power off the machine | 5 hours ago | Linux kernel |
| Easter Eggs in windows XP | 8 hours ago | Windows |
| Shared swap partition | 9 hours ago | Linux general |
| Root password | 9 hours ago | Linux general |
| Where/when DNOTIFY is used? | 11 hours ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 13 hours ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 14 hours ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 19 hours ago | Linux general |
