FS#11112 - After execute /etc/start_udev the mount command only shows /dev/shm and /dev/pts as mounted

Attached to Project: Arch Linux
Opened by Pepe (kerer) - Monday, 04 August 2008, 12:49 GMT
Last edited by Aaron Griffin (phrakture) - Thursday, 20 November 2008, 20:40 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Aaron Griffin (phrakture)
Architecture i686
Severity Low
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
If /etc/start_udev is executed and udev is running the command mount doesn't show the right information after the command has finished, only /dev/pts and /dev/shm are showed as mounted. I think that happens because the file /etc/mtab is overwritten when the following line is executed:
grep -v "/dev/shm" /etc/mtab | grep -v "/dev/pts" > /etc/mtab

That causes the file /etc/mtab to be completely deleted instead of being filled with the right information and that entails the command df not showing the mounted devices.

Additional info:
udev 119-1


Steps to reproduce:
Execute /etc/start_udev
This task depends upon

Closed by  Aaron Griffin (phrakture)
Thursday, 20 November 2008, 20:40 GMT
Reason for closing:  Not a bug
Additional comments about closing:  start_udev is dead
Comment by Jan de Groot (JGC) - Monday, 04 August 2008, 14:13 GMT
The file is completely truncated before it's read completely:
$ echo "pts" > test.txt
$ echo "shm" >> test.txt
$ echo "bla" >> test.txt
$ grep -v 'pts' test.txt | grep -v 'shm' > test.txt
$ cat test.txt
$
The redirect should be done to a temporary file and then moved to /etc/mtab.
Comment by Aaron Griffin (phrakture) - Tuesday, 05 August 2008, 18:42 GMT
start_udev should not be used anymore. It is simply in the package still as a hold over.
Comment by Jan de Groot (JGC) - Tuesday, 05 August 2008, 19:37 GMT
If it isn't used anymore, why is it still in the package? If it stays in the package, it should get fixed.
Comment by Aaron Griffin (phrakture) - Tuesday, 05 August 2008, 19:50 GMT
It's in the package because people were half-upgrading their systems, and upgrading udev without upgrading initscripts, so they'd have old initscripts which still used start_udev.

start_udev is a shitty script that someone took verbatim from gentoo, and pretty much never touched again. It's crap and we should remove it.

I for one am fine with it if people still haven't upgraded initscripts (my email tells me this happened near the end of Feb), then they deserve some breakage
Comment by Jan de Groot (JGC) - Tuesday, 05 August 2008, 20:33 GMT
Hmm, don't we have versioned conflicts these days?
Comment by Xavier (shining) - Tuesday, 05 August 2008, 21:21 GMT
JGC, I think you are the only one seeing the use of it, and also the only one actually using it :)

More seriously, you already suggested this back in February :
http://www.archlinux.org/pipermail/arch-dev-public/2008-February/004899.html
And it already received a +1 from me :
http://www.archlinux.org/pipermail/arch-dev-public/2008-February/004930.html

# older initscripts versions required start_udev
conflicts=('initscripts<2008.02')

Loading...