2002-01-19 08:41:59

by Oliver Feiler

[permalink] [raw]
Subject: Removing files in devfs

Hello,

Is this behaviour supposed to be?

9:36 root@kiza /dev# l null
crw-rw-rw- 1 root root 1, 3 Jan 1 1970 null
9:36 root@kiza /dev# rm null
removing `null'
9:36 root@kiza /dev# l null
ls: null: No such file or directory
9:36 root@kiza /dev#

I have kernel 2.4.16 with devfs and on every other system I tried I
only get "rm: cannot unlink `null': Operation not permitted" when trying to
delete something in devfs. And I cannot see any differences as far as devfs is
concerned on the systems I tried. devfs compiled in, mounted on boot time,
same version of devfsd.

Regards,

Oliver

--
Oliver Feiler [email protected]
http://www.lionking.org/~kiza/pgpkey PGP key ID: 0x561D4FD2
http://www.lionking.org/~kiza/


2002-01-19 20:59:30

by Juan Quintela

[permalink] [raw]
Subject: Re: Removing files in devfs

>>>>> "oliver" == Oliver Feiler <[email protected]> writes:

oliver> Hello,
oliver> Is this behaviour supposed to be?

oliver> 9:36 root@kiza /dev# l null
oliver> crw-rw-rw- 1 root root 1, 3 Jan 1 1970 null
oliver> 9:36 root@kiza /dev# rm null
oliver> removing `null'
oliver> 9:36 root@kiza /dev# l null
oliver> ls: null: No such file or directory
oliver> 9:36 root@kiza /dev#

oliver> I have kernel 2.4.16 with devfs and on every other system I tried I
oliver> only get "rm: cannot unlink `null': Operation not permitted" when trying to
oliver> delete something in devfs. And I cannot see any differences as far as devfs is
oliver> concerned on the systems I tried. devfs compiled in, mounted on boot time,
oliver> same version of devfsd.

oliver> Regards,

oliver> Oliver

Since 2.4.16-preX, you can't remove a {file,symlink} in devfs created
by devfs :(

That hit me hardly whith /dev/root. I had to remove the code that
generate that link to get my system booting (where system is anything
booting with mkinitrd + devfs).

Later, Juan.


--
In theory, practice and theory are the same, but in practice they
are different -- Larry McVoy

2002-01-20 22:56:05

by Richard Gooch

[permalink] [raw]
Subject: Re: Removing files in devfs

Oliver Feiler writes:
> Hello,
>
> Is this behaviour supposed to be?
>
> 9:36 root@kiza /dev# l null
> crw-rw-rw- 1 root root 1, 3 Jan 1 1970 null
> 9:36 root@kiza /dev# rm null
> removing `null'
> 9:36 root@kiza /dev# l null
> ls: null: No such file or directory
> 9:36 root@kiza /dev#
>
> I have kernel 2.4.16 with devfs and on every other system I
> tried I only get "rm: cannot unlink `null': Operation not permitted"
> when trying to delete something in devfs. And I cannot see any
> differences as far as devfs is concerned on the systems I
> tried. devfs compiled in, mounted on boot time, same version of
> devfsd.

What is "every other system"?

Regards,

Richard....
Permanent: [email protected]
Current: [email protected]

2002-01-20 23:06:15

by Oliver Feiler

[permalink] [raw]
Subject: Re: Removing files in devfs

Richard Gooch wrote:
>
> What is "every other system"?
>

Sorry, the last mail didn't get a followup to the list... that should
explain it:

----forwarded mail----

>>>>> "oliver" == Oliver Feiler <[email protected]> writes:

oliver> Juan Quintela wrote:
>>
>> Since 2.4.16-preX, you can't remove a {file,symlink} in devfs created
>> by devfs :(

oliver> Hmm, that'll be it. Since the other systems I tried were both running
oliver> 2.4.17 kernels and I'm with .16 at the moment. Thanks for the hint.


this patch should make the trick (it is a workaround, but it is not
trivial to do it an easier way without still more incestuous
relations, Wating for Richard to do something to the respect.

Later, Juan.

diff -u linux/fs/super.c.orig linux/fs/super.c
--- linux/fs/super.c.orig Fri Jan 4 21:28:24 2002
+++ linux/fs/super.c Fri Jan 4 21:09:45 2002
@@ -1056,8 +1056,8 @@
putname(fs_names);
if (path_start >= 0) {
name = path + path_start;
- devfs_mk_symlink (NULL, "root", DEVFS_FL_DEFAULT,
- name + 5, NULL, NULL);
+// devfs_mk_symlink (NULL, "root", DEVFS_FL_DEFAULT,
+// name + 5, NULL, NULL);
memcpy (name, "/dev/", 5);
}
vfsmnt = alloc_vfsmnt();


----end forward----


--
Oliver Feiler [email protected]
http://www.lionking.org/~kiza/pgpkey PGP key ID: 0x561D4FD2
http://www.lionking.org/~kiza/