Re: [PATCH 02/27] allow hard links to directories, opt-in for any filesystem
- From: Horst von Brand <vonbrand@xxxxxxxxxxxx>
- Date: Tue, 28 Feb 2006 13:57:20 -0300
Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
Joshua Hudson wrote:
Patch seems to work, might want more testing.
It probably should not be applied without a discussion, especially
as no filesystem in kernel tree wants this. I am working on a fs that does.
This is backwards I think. This is not disallowed because there are
no filesystems that want it. Linux doesn't want it so it is disallowed
by the vfs.
Right.
You have to put forward a case for why we want it, rather than show us
your filesystem that "wants" it. Right?
Nope. The "why a FS might want it" part is pretty clear (we do have
symlinks to directories as a poor man's substitute, after all), the "why it
can't be allowed" part is the tricky one...
- It creates the possibility of loops ==> The garbage collection of unused
stuff can't be done just by reference counts (as today), and gets very
hairy... and needs a /lot/ of memory.
- Loop detection/breaking in a general graph /can't/ be done while it is
being updated, and they thake a long time (and lots of memory)
- Can't just assume that by locking in the directory/subdirectory/... order
no deadlocks are possible, and traversing the filesystem for surgery gets
to be one operation at a time, not concurrent as today
- A while back (in one of the recurrent ReiserFS flamewars Re: Files as
directories, which creates exactly the same situation when linking to a
file-is-a-directory) somebody (Linus? Ted T'so?) showed that certain
simple operations would potentially require exponential time or memory (I
forget which), and thus the idea was out of the question.
Sure, the situations that give rise to the problems are rather clear-cut,
and could be disallowed, but the result for the user would have seemingly
random restrictions. IMVHO it is much better to have a restricted system
with a simple conceptual model than a more relaxed one, but with hard to
understand corner cases it doesn't allow.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Prev by Date: Re: remap_file_pages - Bug with _PAGE_PROTNONE - is it used in current kernels?
- Next by Date: Re: LibPATA code issues / 2.6.15.4
- Previous by thread: Re: [PATCH 02/27] allow hard links to directories, opt-in for any filesystem
- Next by thread: Re: [PATCH 02/27] allow hard links to directories, opt-in for any filesystem
- Index(es):
Relevant Pages
- AIX 5.2 maxperm & Oracle
... maxperm was set to 63%, ... large volumes of data IO going through the AIX
filesystem cache). ... for memory with filesystem cache. ... (comp.unix.aix) - Re: [00/17] Large Blocksize Support V3
... to lock the filesystem block and prevent any updates to it, ... get 128 pages
into a bio so all we've done churned some in memory ... I/O no faster than the current
code. ... We can't use buffer heads - they can only point ... (Linux-Kernel) - Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE)
... but now we waste more memory on small files.... ... allowing us to increase
the fundamental block size of the filesystem. ... _whole_ kernel faster. ...
If I want a inode cache, it always needs to be 8k based. ... (Linux-Kernel) - Re: [PATCH 008 of 8] md/bitmap: Change md/bitmap file handling to use bmap to file blocks.
... submit_bhcan and will allocate memory, ... sure the allocation won't
fail. ... I don't think a_ops really provides an interface that I can use, ... interface
to a filesystem. ... (Linux-Kernel) - RE: Hangs during "dump" with 6.0 and current ports
... Due to lack of memory I had added an additional swap-file via mdconfig 3 ...
filesystem with snapshots active and the swapfile is in the same filesystem ... Hangs during
"dump" with 6.0 and current ports ... Maybe you need some more swap space? ...
(freebsd-questions)