2002-07-06 18:46:27

by J.A. Magallon

[permalink] [raw]
Subject: Is 'transname' still alive ?

Hi all...

I was looking info about ClusterNFS, and I found some info on 'transname',
ie, do the same as cNFS but on the kernel server.

Is that project still alive ? Is there any patch for 2.4 ?

TIA

--
J.A. Magallon \ Software is like sex: It's better when it's free
mailto:[email protected] \ -- Linus Torvalds, FSF T-shirt
Linux werewolf 2.4.19-rc1-jam1, Mandrake Linux 8.3 (Cooker) for i586
gcc (GCC) 3.1.1 (Mandrake Linux 8.3 3.1.1-0.7mdk)


2002-07-06 20:33:55

by Albert D. Cahalan

[permalink] [raw]
Subject: Re: Is 'transname' still alive ?

J.A. Magallon writes:

> I was looking info about ClusterNFS, and I found some info on 'transname',
> ie, do the same as cNFS but on the kernel server.
>
> Is that project still alive ? Is there any patch for 2.4 ?

The transname+omirr patch went in with kernel 2.1.43, but
only a few identifiable scraps remain in recent kernels.

That patch was of major importance to the history of Linux.
It is the reason why Linux has the dcache stuff, which lets
us have multiple mount points, per-process namespaces, pathnames
in /proc symlinks, and an efficient getcwd() system call.
It made the 2.1.44 kernel horribly bad. It used to provide
the POSIX-prohibited ability to do rmdir(".") safely.

You can see bits of the patch in the 2.4 kernel source:

--- fs/namei.c ---
/* [Feb-1997 T. Schoebel-Theuer]
* Fundamental changes in the pathname lookup mechanisms (namei)
* were necessary because of omirr. The reason is that omirr needs
* to know the _real_ pathname, not the user-supplied one, in case
* of symlinks (and also when transname replacements occur).
------------------

--- include/linux/dcache.h ---
/* appendix may either be NULL or be used for transname suffixes */
extern struct dentry * d_lookup(struct dentry *, struct qstr *);
------------------------------

--- Documentation/Configure.help ---
LocalWords: prio Micom xIO dwmw rimi OMIRR omirr omirrd unicode ntfs cmu NIC
------------------------------------

The actual transname stuff never made it into the kernel.
We just have some of the support code. Prior to the patch,
our filesystem code was like what BSD uses. Now we have
something which is more like UnixWare, but likely better.
I think Bill Hawes was responsible for this code after it
got in.

You might be able to make up for the missing functionality
with file-on-file mounts:

touch /tmp/mtab
mount --bind /tmp/mtab /etc/mtab

2002-07-06 20:53:14

by Alexander Viro

[permalink] [raw]
Subject: Re: Is 'transname' still alive ?



On Sat, 6 Jul 2002, Albert D. Cahalan wrote:

> It made the 2.1.44 kernel horribly bad. It used to provide
> the POSIX-prohibited ability to do rmdir(".") safely.

"Safely" is not the word I'd use for something that allowed to
subvert sticky bit on directories, to start with...

2002-07-08 12:17:57

by Bernd Schubert

[permalink] [raw]
Subject: Re: Is 'transname' still alive ?

Hi,

we also using ClusterNFS but also experience several UNFSD bugs. So we have
decided to try to reimplement transname into 2.4.18. Actually reading the
'translated' filename already works, but writing and other functions are
still a problem.

So we are working on it, but since we don't have a lot of time, it might take
a while until it is ready.

Btw, some help from people who are familiar with VFS is highly appreciated.


Bernd

PS: The CVS version from ClusterNFS has some problems with the CREATE-tag
fixed (though for all files that have a create-tag but no client specific
file, IO-errors appear; the fix for this is already ready since several
months, but I had to experience another bug, that made this fix useless).

Bernd Schubert
Physikalisch Chemisches Institut
Abt. Theoretische Chemie
INF 229, 69120 Heidelberg
Tel.: 06221/54-5210
e-mail: bernd (dot) schubert (at) pci (dot) uni (minus) heidelberg (dot) de