Am Saturday 17 June 2006 22:59 schrieb David Haller:
Das ist auch bei SUSE 10.0 so im Manual. Aber in der Praxis wird die Swap-Partition (defaults in /etc/fstab) mit Prioritaet -1 eingebunden beim swapon Befehl...
[..]
Aus dem Vanilla-Sourcecode von swapon(1). Weiss nicht ob es ne Spezial-(Open)SuSE-Edition gibt.
"prio" ist ein int gefüllt mit dem Argument aus der KOmmandozeile bzw. der prio aus der fstab.
#ifdef SWAPON_NEEDS_TWO_ARGS { int flags = 0;
#ifdef SWAP_FLAG_PREFER if (prio >= 0) { if (prio > SWAP_FLAG_PRIO_MASK) prio = SWAP_FLAG_PRIO_MASK; flags = SWAP_FLAG_PREFER
| ((prio & SWAP_FLAG_PRIO_MASK)
<< SWAP_FLAG_PRIO_SHIFT); }
[..]
Wenn prio negativ ist kommt bei swapon(2) nur 0 an. Das passt dann auch zu der man-Page von swapon(1), wo von einem Range von 0-32767 die Rede ist.
Aeh, ja. Da fehlt bei mir die 'prio >= 0' Abfrage. Mit util-linux-2.11u gibt's nach cpp das hier:
{ int flags = 0; if (prio >= 0) { if (prio > 0x7fff ) prio = 0x7fff ; flags = 0x8000
| ((prio & 0x7fff )
<< 0 ); } status = swapon(special, flags); }
Was das '<< 0' soll und das SWAP_FLAG_PRIO_SHIFT scheint bisher immer 0 gewesen zu sein. Naja, vermutlich ist das irgendwo != 0... ;)
Ist genau dasselbe wie oben, nur dass die Konstanten aufgelöst sind.
Jetzt frag ich mich aber auch was SUSE sich dabei denkt, -1, -2, usw. in die fstab reinzuschreiben... Das '42' fuer alle swap-partitionen passte doch... Naja. Bei der 10.1 hat Yast mir jedenfalls kein 'pri=' in die fstab geschrieben, d.h. die Partitionen bekommen alle die (gleiche) default-Prioritaet.
Also bei der 9.3 ist das bei negativen Werten scheinbar so, dass er bei -1 anfängt und egal was für ein Wert da kommt immer weiter hochzählt. Habe mal ein wenig rumprobiert: ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 ws:/tmp # swapon -p -5 /tmp/swapfile1 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 ws:/tmp # swapon -p -1 /tmp/swapfile2 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 /tmp/swapfile2 file 992 0 -12 ws:/tmp # swapon -p -100 /tmp/swapfile3 ws:/tmp # swapon -s Filename Type Size Used Priority /dev/hda2 partition 1052248 0 42 /tmp/swapfile1 file 992 0 -11 /tmp/swapfile2 file 992 0 -12 /tmp/swapfile3 file 992 0 -13 Hatte vorher schon von -1 bis -10 gehabt. Deswegen fehlt das hier. Hatte aber von -1 angefangen und bei jedem negativen Wert einen hochgezählt. Naja, wirklich verstehen muss man das wohl nicht. Man sollte wohl laut Dok eh Positive Werte eingeben. -- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com