[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] the great next stuff branch, dde, updated. 6e1555c9a749b215665619f
From: |
Samuel Thibault |
Subject: |
[SCM] the great next stuff branch, dde, updated. 6e1555c9a749b215665619f4ec6f0b0d4d0f3fd6 |
Date: |
Sun, 29 Nov 2015 12:10:36 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "the great next stuff".
The branch, dde has been updated
via 6e1555c9a749b215665619f4ec6f0b0d4d0f3fd6 (commit)
via 87bc93725aea306e8bd4e4171622e4418869fc2f (commit)
via 226a9d9c34a2d187f978a25874488e5b07986d7c (commit)
via c1d5c163a89f53a3c6e4e67f5f4119af96f7a470 (commit)
via 6c948532d2799bcc172053cac504c4aa5f016bba (commit)
via df778cd01505e3a8c11f5b13f5ee26a4be290f9a (commit)
via 710201a5db7bcd1c13364eccca65d8b13c1d0d65 (commit)
via 5f7601f47a3fd8957a52c03f1135534fc2232539 (commit)
via 608ea90065a50b7f8e3a5592c8e8e4cbd0265490 (commit)
via a9eb3e9765a21f9903705e2b9f46694529af8155 (commit)
via 7dd0f755f4ac29e6c10085c16e18dd97d92ae5e7 (commit)
via d9a22b92a226419c50fd13013741679ce7e7b624 (commit)
via ff578e992a792e4a844a9a800e48ad9cef69e97a (commit)
via 3f0a9b1145c25d1f0f19fc93da3c272c5505a5ee (commit)
via c3c6b55517d7d1e217e88d08f3265a5a7d77565a (commit)
via 0437af60d3bbf09003f3fd1fdb9993958fcd430d (commit)
via d4a2c3958c79b9582b6541585ad2a72aca7a734a (commit)
via a6185e280c1e9ca17e9bd24eff169671fe28fb1b (commit)
via 1fa0cec1b643483918933b5d6a419e77d6e16c6d (commit)
via bd7e7ae44c78bcfe623dec8636375685c8c30be3 (commit)
via bf6d5e67e86a059c1ffbde425d0f3f05fd0a0717 (commit)
via 407237da61abdc0c82d91efab392d78b7e464fb4 (commit)
via 726c58c7de0f0ab6053801a566112497391cfe32 (commit)
via 7e5f8c6e0d01e4df0c70fc82101ef9b294138a41 (commit)
via 379feba88080eb8cd731bbd64b98cc0bbf10931a (commit)
via 9fe7adc2907afdd2039a67d27328ba82a884561e (commit)
via fcf89e5bb006f71ecf5c46b7248216c3dee7e4b8 (commit)
via 65e63be1f4884a0223fe51ac6ff53ed11605506a (commit)
via 125f08eea403724713cea1c79913cc7d26406a07 (commit)
via 580eeae985138272dc0f8c24d1e7f470e31fbcc3 (commit)
via 419a283fa2981c47f2a117fa56f268c0ae5b5989 (commit)
via 2656f79608c8db735514bafe8026211c92d06aa1 (commit)
via 50a7577b022851594fd15f8c934cd3c4a37c01b6 (commit)
via f42c29d2172e953887542bf7fb31d2b739563887 (commit)
via a5d384c333dbbe863c1515d6167d956b0c5b4852 (commit)
via 9e8cb4acfd8971f691b35657e1f63a903f638996 (commit)
via 9f179b1ab674355d5afbb6d664dee2d2ac6cb89c (commit)
via 3d686a483df3e50904b0c92a5590416bf440e3b9 (commit)
via 2496f1c8cb1ccbe6a42a7cab2b50a1deb5ae27d5 (commit)
via 737f692edbd14df39cc2d91019142bd2df2ab9ea (commit)
via 51f60c38c8d3cae7b0d75ba51eab5af47f6b5df7 (commit)
via c6d8af579cffa9662ed1ea9e6096cccec821c6a1 (commit)
via 90ae149104ee0f55309f8fc10fecedb7b2aef472 (commit)
via 25ddda6354c4b70bcd8abb79770764d8ee3d6fc3 (commit)
via df2b1fb2caed423b22f6d59d22f087100dd1b7d8 (commit)
via 280e26f17906c2c2fb39c33bee797e90f5cf0c40 (commit)
via 5e8e02f53c47bcf108c64263249795f702b8b19a (commit)
via 87a79cbf282e97a7e729205d7cb19182c298474a (commit)
via 70962d761a364364f2809262a299829f35c1dd1e (commit)
via 06275e247873f44b2a5045df160bf55ec46918dc (commit)
via 4b2e41017d621054c0ebb2acb7ceb88fa9617488 (commit)
via 90b656d7e9bd288681cde6c9482d4c0ca575a431 (commit)
via 2ec3b41b65f1b7ccbe219544fd922db8fe4a0b2f (commit)
via f62819106ede2d407c31d1bd71a4e87c6fe60484 (commit)
via 7a2c17fcbb789997421725d726340301ef35d84c (commit)
via 918a8c2ce462cea65e3e7a614f19b4f5ae4ff1e1 (commit)
via 346ace4c2f5e020ca654541ff4b34d86faf88a4d (commit)
via e507800e47973422c080a308955f8d46edc5d706 (commit)
via 26e0ea9356e45a2aa1810b99c4341ebf6298bf05 (commit)
via fddacaea0c816639e5ad02e5c7237c4e53ebb5f7 (commit)
via 714c72349f136c4b798d0df847f85340c6e76aa8 (commit)
via 72758b677ad240fd80b769e92f85c639860e6b97 (commit)
via 68af46b57f817f84cf12bdacc32a1878e1c0fafa (commit)
via 8b14af6546d542878a8ea6ca08e49e0cba2e34ef (commit)
via 8d862231a0016dcf40f269e73d5b189606038490 (commit)
via 60d862ca1de4e5bd690dbc631bce15f08acffa13 (commit)
via 5d1c6af9f59c7a768684a537fc32389be8cddeca (commit)
via 827915ca4a4d61ae5b50596e46f5aaf7d402a2c0 (commit)
via be0a34cf05c1bcbb119d91a74be44ee837861426 (commit)
via 64f99d303557e991149bd2d4e6085e9f46efb3ef (commit)
via 74fb5209f06edcf0b52bdf44ba805cb5f6cd41c8 (commit)
via f57ed76faed9e9e922ba93dd3bf8740974eb718a (commit)
via f5bc22b18e3c3042dbf7e4ecc38e046b13a2a992 (commit)
via 921af9c9865a3f54c388b0836f20c9ae3b30b247 (commit)
via f397f7c9c2a864f6496732a1406ed1f546cf3ad6 (commit)
via db48e1651302797806f5656c856cf22e73761ea5 (commit)
via ffea85471c65fd7758e159207ae7f7a089106644 (commit)
via 50da095243745f2e2a0c3f4805fe187a392832b7 (commit)
via d8a9c7d02629049bcd451d4d9b93fdfaa7c2c8fb (commit)
via 7410d78ed496c66a6c1d806360d1f83aa3321c01 (commit)
via 0df1499b87688d3e9ff6132617dac1631b7733f4 (commit)
via 805d5bb95aacfaecde4d668beecff31570eaa2ca (commit)
via ef1312fb2e17d15d695dc29be9c3abc25584ba10 (commit)
via 28d8dd078448af0f964bbdf408374c08ccbcc84a (commit)
via bc0163aaa19ba102da3f73f30ca3f4cc11ba7a9d (commit)
via 3ffb892a5db5ad64b87261fa01478401806894cf (commit)
via e840329de670757720cec729556b9b1f7d655ab5 (commit)
via 09964a022f1c1e969d8258c7a38879b0fa983402 (commit)
via b497f1613187c142ad6d0b76761a49811c37da80 (commit)
via 4266bb02b1f3342d3fc4920c07c71592a14acdd9 (commit)
via c234e34ad80801acd902c6d4892a7722fd084a87 (commit)
via bf06e6535f7e00a3711978fa7835a3394b82b547 (commit)
via e00a105ff35ee53bfd6caeb6f29c47d8ed7cf3ab (commit)
via 499bcd54f132464fcec55583fcf433fbe6ce4e3b (commit)
via 6d9601c56f2dd29cfbcf8dee30a2fff24a39df17 (commit)
via cfe76b64ba01edcac75f751aba1766ade2e54c7d (commit)
via c16eed2cb64089bf7d958db0fe85352f4ceefb4d (commit)
via 8c050fb080c6e1981dc8e5a97a2313cd24e9b4b4 (commit)
via f4823c00581eb91e5b42169405e641463256bbfa (commit)
via e17366f09a6003dcc95633ce312aa3753f056e28 (commit)
via 4166312a45357c2ff11b00219dfb83b7475ac4b1 (commit)
via b8ffab7c38f3ede424b8a07553d6ee6b16abb85b (commit)
via 7940555177699048a111043d22b00969445cba80 (commit)
via 626596bcb027313f39069be94f85f3f523feb365 (commit)
via 4241dd5673566a61add85bd9eb52d4ae7db2750a (commit)
via 785f4aea18b5705e63609001d2aa12871a774804 (commit)
via d293e13f756d44cad5a36c15e6f54ae0b6b71c81 (commit)
via fb8c531ddeef55c8581d3882bd1b1f501d980a30 (commit)
via eceeaeb5a2d40875fd432148b9cf26b41497811d (commit)
via e04b779d1cf875010befd37f1a0b86e132d077a6 (commit)
via f8163aefa589a91ef9f31da2aafe1eb326a7d9b0 (commit)
via 2be6756dbbdd400b1734ee014aa1518201271482 (commit)
via af81a0728e712fb3d4bec3a0ecfc7dff7fff40b8 (commit)
via ccee70dd9fc20a5b39c59b0a7dc8c72e2536ede9 (commit)
via 508221b49ae825501882e228b18e4586e59e88b0 (commit)
via 1ad178fd00b675d686c2560829e9a10c5cb44f6f (commit)
via 40b354e4cc67f1fedf9d4c2ce8d050a9ac68a643 (commit)
via 2d371a0b01054843f294a6c5ff401bd2093604a4 (commit)
via 361c586e263ebf4a0531045029c3cf076dbcb847 (commit)
via 1901e7aa92ccd021d73f32aa97661428d7142cd4 (commit)
via e2b1c5c20ff1ac0017e7ac8ef853ce3326210077 (commit)
via 106287af864c01f20c12d1a0a78a2469a27adc03 (commit)
via c0c69366ce4717fb8c5db370ac42ab787782e28c (commit)
via 87fad50310f2bd0dcc990e80e23b09768918cf5b (commit)
via 29a30c44bb8cecb341df211bcb3b330f515c9003 (commit)
via c7441b5eb9bd4327845a1704e07903bacff08962 (commit)
via bd1d3a48415cb6a7c24c45a899ce38b3ce34956d (commit)
via 695e606f7fd8940c2b260670a89ae2a6cc82b9f4 (commit)
via d7fa37dd8e08a6179c97b3cdeea2405016304272 (commit)
via 795d45e2a4ab58dd169e1febfd82b8e3b4601d9e (commit)
via 8f5e94f48e7668e3c5dcaa1cde1b8f591c05bb58 (commit)
via 2a340dd3310d0f67a48d6057214e54416d173265 (commit)
via 5fe615a4d66f4dea48812ed9e4f250010a8f9298 (commit)
via 8e3c26e98bcf30dd73a8c64bb9aab08e2f32c1f8 (commit)
via 89c2cbb53b8ad14ae9d5d06ec230a696bea4a6ba (commit)
via b541a7c513aafa636a8ce0903aab4b72504bc0ed (commit)
via 82a87d043498eeacb7e4f3edc85d1b7c424ea853 (commit)
via 0a4ada8d40fb687a659161ff7e0d1d0994264402 (commit)
via 51c2bd7408b0a4ee73ecd1928d4c17d4fafb1ec2 (commit)
via 6a2dec41b11492b3d6295e9546934f3cf10e6e74 (commit)
via f878de5006045c849415afffaffc909458b5f6de (commit)
via 808073c49814b415b7ad6226a3e8c95bb1dbc277 (commit)
via d14748b5888d697583b6dc9df2feed1f09f92a4c (commit)
via 46b2c2b071f31893c9ce9548537e34747b2941d6 (commit)
via 09ff61acc11cd495af5f4cba1f9a1f850c6745c9 (commit)
via dd0317e49cf33671da3d6b1b17b12f7fa097756e (commit)
via 6d9b349c4054b5998eea421823f97fb801ff8d75 (commit)
via 7f68a98c5cad19350f53b00203465c72641b8f58 (commit)
via ac30e16e8185883af52b4f45aad9f7a61e5c9911 (commit)
via 02ae7e436efa33b11227c251eb9bb3a036082fe1 (commit)
via 2e43e93b78786c42828867057818888c306ded1f (commit)
via b0ed6c9379dc680047def564fbc0ba04dff8d50b (commit)
via f7947d4018ec2bc7348beaa8d58139b4406471ca (commit)
via 28a16dd74e9f3a81a5e2a96a54b0faf06dd0687f (commit)
via ecb7f7c08ecc57863e606c553d7ea3477e6d2126 (commit)
via 73624addcafebb767622cfd086ef7a7ebe67761b (commit)
via 45f735576a92bf50b431f28425e0b4b4a8da8ec6 (commit)
via 07db92f65a7b49f97bc43ed94ff02586b75e21c6 (commit)
via ab741d845af6fac6313ed40b8f2ae148d96aa716 (commit)
via 2514b693920124eb47eb48f50f07b179bc5090e9 (commit)
via df8605b39f109362e86b0ebf6b8cf79fd1b2f3fd (commit)
via b6079b096eef4b7b347c85184592584c7ec4a022 (commit)
via b11b002e1f08ad44273e9b139fab195e56bf6b6b (commit)
via 4191267e600e4ff1d54cf42baa2b3a0c9a842844 (commit)
via edfeb493f9d95e64b747a11abb528d81da47b16a (commit)
via d3bbc5f4309b85e36e260e9c0ece006b131db3f5 (commit)
via 0095490a7918ba60483d656214dd9080601e886f (commit)
via 831a341d6b32d1005c6667e71aec9f67c3d48456 (commit)
via 66bfd16b75e8731a3b03a99e931e100b00c0d266 (commit)
via a226c74609b12cac905d06ec97a077bb2633e8a8 (commit)
via f8ce37835ad53f67da245db6fed7d2a028514b01 (commit)
via 92b49a0fc6f24cbd970f8a9f79cf2513cd58a1b3 (commit)
via 9a5ede46033e225b870cd289221ac0608540a6d3 (commit)
via 0d3b80f04a1caee51b9995c9626838f85295bb06 (commit)
via 40d433fd1ca3aedac58a281f982725bfa9f77997 (commit)
via 7ca4c02513d7c6998d9c92dafb3c0fcbe8d6dd6d (commit)
via b69b9c28b6628c7d736476d075d56ae137afd343 (commit)
via 9cd99ff80c3c129ed137e0d22b7e438f292e5e8f (commit)
via b3fcdc50024b3837a76cd854d02a940dac2e5dc3 (commit)
via 25fe9cb62331d609b87b9d0b1db06d06ab825d16 (commit)
via 4e38225c4e3af1dede56b5df6f734faaa2b2469e (commit)
via e4429ebed2924fd75b23248719a6e0ef4f8b53c3 (commit)
via eece795b00d83c9816a2cc7ebb7b8aad7a37bc17 (commit)
via a99d8b562d74e3b08c88d52433914d9c1c6bd362 (commit)
via 5133c8eb5d6564d037c9c7312ee4506c0d2e49a7 (commit)
via 41eda58f8bfa602f7aa82157b5d1bd3c6ec30466 (commit)
via 8bee9fcf5fc9e47e1aac0a670cc8d5e3fba8a7dd (commit)
via 788407b951b162148a2e223da69ff2c16d8d05b4 (commit)
via 5ee314b6c1ffd8b090ca6771f0896e080f7000ef (commit)
via dcafd2d6cc7a98744b08875b35caf218a4a5c14a (commit)
via 31e8affe365ca9f1b91e31e3798f3d0725da15df (commit)
via 5cf9e79ca7a28376c7645271136eb2cbb30dc5bc (commit)
via 7e9c559c75901f391b4151ed6cabba74e60f80af (commit)
via 0224d569030e6838c63cf946ae7321be923afc23 (commit)
via bf7ce656b71123926f0fcb32e4b9577b395da76e (commit)
via 8d16db0cc28b2d911aee918d5c3582ad29ddfeed (commit)
via c99cb9e4ab1bd2683759f35a6878a685bf5e8dd7 (commit)
via 36f340ae47a0f643be6d59a8190600cdd34eef0c (commit)
via f981d5bdba78ef72dbbf0d22c146890a305d487c (commit)
via 9a56d8f0803d40dacb92eb366b534bbbd5438096 (commit)
via f88d4616a25175c42c10334491054d54310262db (commit)
via fa108a1e6f15946aa72cd8edd09f3c08255b76fd (commit)
via 6cc0c78b1f496cc9e680c0726b7561c93c3f1a7c (commit)
via 324c9cdbcd3644a0f8eb467b1ea61b9ff889ae7a (commit)
via cfafc1a905f11da2b856aecea02b8c7e1f95e5dd (commit)
via b11e2e666ce3e1a8ad167c82bfc1fc9b820f97f3 (commit)
via 84172a2e26fd81c1c39b6301b003cc89b97ee75c (commit)
via 94b2c453829b3aebdaccf7d3d252136b283002b3 (commit)
via 9480792609c779516ac465ac5a038101032be77d (commit)
via 282e4ae275dc1b9b0b5bba6eb1b145cd1e80fa33 (commit)
via 89abef408f02e463cfe9d462fa10be64a94b3b36 (commit)
via bd611d2bbd2a7faa24ce8d3b1a422cebb8f71e8b (commit)
via 86d5b43634dfb16aca5d03e4df2e047bfa500899 (commit)
via 4370c33bccc2ef5bddacbd364270aa310f89c94d (commit)
via e6e1f1addd6f0f237e54f0a55a776c99aa4d72bd (commit)
via 610c428cf8c9340d955c79cd2daca3ed8657f2b1 (commit)
via 673603dae49fd06de782780a38e2914ed8cd8777 (commit)
via 139b283e0d40a3a482a61e1fb9afb5381323d8d0 (commit)
via 78343e97c68fda079c66f2443bab6d1ee16f0b67 (commit)
via 9a043bf1792be16a045dd2e2e37c2c6354425b9b (commit)
via ab8d8784cd73d5fe8ede7a95a3df36d068a6145c (commit)
via 4f29d810cad03047c19e5de3c342c90df7193c8b (commit)
via b2ae574d39adfe283c61a3ec0c766e8780f345af (commit)
via 02c47da17b716bfff20bfafe2d5958b2b720ff49 (commit)
via af68bfc377c4f56a1355d856fe2c666fec6b0d5f (commit)
via 1fb3542ef83f01e913d9944b093de8d5c178e5d7 (commit)
via b288ae932a53133c986e5daace2d5bfa4cf95d2c (commit)
via e9b7aa85c98750b6c8f54f3eb0013c359841f4d4 (commit)
via db9ad21d272a4dce53c35095b97ca0a597b45004 (commit)
via af77f771b687d3653018bc18b1b07a4805beaa19 (commit)
via 1a22019e6a86d0636f9847f8891f280facd2fd22 (commit)
via 1bfccb9ff3ff1b079fd4b76a4d3e75e340e6813c (commit)
via 0ef49e125811ddb750403f02a091fd892b595fdf (commit)
via 3628f1479b9fb77bed1ba4ab8e93ee98e14d9960 (commit)
via 74fc3df9e4ecd84b971904d3e14e5a710d941836 (commit)
via 8fd228ccd454578fb0367d97d95b90f9073a8d7c (commit)
via 626ff916ca63334e6c170f059ea47f9cfea19661 (commit)
via 5f1011ac0ad676d1e7eaba14d1384180e98fb93e (commit)
via 334801c52c9844c06eacbe2e3af65852f7412e3c (commit)
via c5f866e17c72302d826b885f098b1c07d7abdbc7 (commit)
via 6fd075df8f71c95cff04d58643e5da0d58dbbada (commit)
via cf8df03cf9002642a9399da47242d819cc3653e4 (commit)
via 520ef2ed66d47bb81a55829a88dda81f62dc95e5 (commit)
via c19a90851170077b99e694262d002a6e22145b49 (commit)
via 5a4ddc13246841da1350c8f6e783fd6a1d911aa4 (commit)
via 03ab85c02d9366e2ea7a4b7ecf25154f4cf1737f (commit)
via d324631edd3c2549a8cda05c2fc56ceea7fe0593 (commit)
via c025e6a9881527d5b0e5b2398278410fb4e42138 (commit)
via 2588cd19e83ff454a7fc99e68f1d612945504b72 (commit)
via 6ad2a33e7fc5cda05eefdec789f4a2033645ebbe (commit)
via 6f856c62613ffc82bf3572a372d2851638c2fb90 (commit)
via 840ffcb30faf335dbec4a0f02614c202ae113ea2 (commit)
via 38d064eab719b8334144094d6499c24718a255c1 (commit)
via 97707c7b564381f0cdf683c77a6450434cb9b556 (commit)
via 944cfdbe6cff4e8025a730228b48c1a21b4a2e33 (commit)
via 8821d8a213008eb723414c6c70de384830ea10d7 (commit)
via 470972f3f854e92ee1cc8f1e2ada8412a2b97956 (commit)
via 7c5f22e6c746e97871c0339c0068825018754822 (commit)
via b5a6e598c9f596f13d6aec151ee2efb9bf696b21 (commit)
via fda66d0405f0fdf42cc6c7ae5e494c4ca3c83ad7 (commit)
via 6e047f852cb052cf4cbc50799373c5f13382540d (commit)
via 7877d064a4318fb550b3cbcf64f0ec605e4a53e2 (commit)
via aac4aaf42372f61c78061711916c81a9d5bcb42d (commit)
via 8672d3f031f7898c26b2526960c77c4c522fb950 (commit)
via 370f2fcb4ae7901e34caba64d31027f8cf69a858 (commit)
via 6f874305906b18a6bd7ba02f7dee949948e41262 (commit)
via d73b0ee5f32bdf769a5d9d19c4cc590df07c1bef (commit)
via 12bf32881d03225c864afbca431cd93f647ab1b3 (commit)
via 707f6cc4dbad734325881c5b275138522188754c (commit)
via 1ba2ed95690396bf081d0af043d878b26b8563c2 (commit)
via 10412bfccc00708663034a76b1a3c66058bb7545 (commit)
via a69c285856bec047570ce58e827333332f40c2ef (commit)
via 4bd281cdd18645a0bffde9748225569eaa85ea44 (commit)
via 6ec540993675a4d0e60497c7788cb577a79028f8 (commit)
via 655f60be3622bfbd90e87a4038cc9c8190ad7c35 (commit)
via df7856856f5f2e4535268362526cc039fed69703 (commit)
via 8a7b5995f039e43ae918dee691ebb8f960f98db6 (commit)
via 027bc17eca80bd379663e645aa9a7c59573bf0de (commit)
via 9d8a274e00cf01d2a2ea137f5dbd6f5edb37c15b (commit)
via f1e305fca2b4ca79cfed6d406ceb37f3dfb59f70 (commit)
via f937e9eae8012b66eeabcd10e4188d6410e7c5c4 (commit)
via 2e94e61f1c6263adfcbca641b74f9a07ea8298a0 (commit)
via a5ca1de1eb575294dbc865a2c4ff643efc117ef4 (commit)
via ea16c110d8ca67a5460d45600a399078a101ef4f (commit)
via 73f5884a591f1e2efef948d108927327a054d97c (commit)
via 321912626ca7df438e3402d20b529d45f3473d62 (commit)
via dc7e6a136e9baf98a2323758765aeab7ebae336c (commit)
via 2c7ecdc6ec8f9d9a27aa7e4e82fa2d84fa55fe9b (commit)
via d0c565fc35e8dc3daa5fb6e9a514c34873e6b204 (commit)
via f6730b267a90ad73116e50b027e869cbe0b01211 (commit)
via 6349d15921134adb4491eb9ce87720a0281a7bd6 (commit)
via 94fecd72f41542c8dfa82bdf7b47742f8c29b321 (commit)
via 80485401a9a5e9df03bd3a1503bc5e59d1f2e5c1 (commit)
via 65ebcc40e55dfb3ee776383891f8a6b15b176d27 (commit)
via 1d1da90042d2ee7a8215dc6291b54bc1ebe59fe4 (commit)
via 5b039a12bf5cfc9c65b8e169ed4503e306f971f3 (commit)
via b16f334192dbac002a33c31645e228d349de3c72 (commit)
via 4a5f9f683e5446309a077f31d1bb8d8b77415ee2 (commit)
via 6c15c9174134be48c57a8ac5f2ff09d0ba5f1df8 (commit)
via 03fee0acc07c7ec484746ab60b1b55e33b9c19f9 (commit)
via 22f0bf426ae955c58edb835d6be7be44af5c029d (commit)
via 1333bbbcc18502328cdd78b2aadc526ebd552a77 (commit)
via acddf44071674746d61895d89172481f85ca8d31 (commit)
via 67d467a09126e9246ca7fd57ff63952577497c83 (commit)
via 31b2a835f4ed563ae34a6bc07f5fa1dec9b0fa95 (commit)
via dc00a94df4a06764d822b29cbf35b532343821c8 (commit)
via 122224d32894a8465a09561fc0a5220f5bb9c2c7 (commit)
via b793108b09138edf0a963d9e3107eb400ee27011 (commit)
via 353fe33eb2481a14dc324c7c2e52b2032df86465 (commit)
via e30e04d4f5cef2af6400847b5e102b5877372f27 (commit)
via 689b3f9b8fb68218515c05b3b7b13ff4e21c6c76 (commit)
via 198ab077a14511e0af5f430f89ff2b1abacb1fd6 (commit)
via 868a820a19ff66c370cf40573ac89738386513c3 (commit)
via 820241ead7e31082fa99f3e756c6aa73aae7d88b (commit)
via 2e009c2f45dca5d8070653042c05c17aa4d0d692 (commit)
via 4ece292c3fba7ec8f02b057a069943a325d091db (commit)
via e2be8995642cd962b7d61c9c231980de88302d50 (commit)
via 57341e5be12f79ee1916369679bb6507a10fcac9 (commit)
via 2d898893815a980f1b821fcec267eb8e7ded678e (commit)
via 6dcf53606fc7d46447176aab15954a897e19d6e5 (commit)
via 1a3d809146c95cd138bad7bd42eb923af0a23493 (commit)
via 134b450cb65b1986c78e0b292cff78c2f1882a2b (commit)
via 261d957ebe4cf16aed76eed24b5bfd32f1f5a79a (commit)
via 3ad900b84497a2e619c30f76670e4757e8765f3e (commit)
via 8612278973d167a20f4d60d018f18c6975b37cca (commit)
via 151133a33c18e9ba103cea77a269b56c6f5cf23a (commit)
via ff9e97b120076b8707474b4580e1bab205f6dd62 (commit)
via 85f3757d3ce0e9700cd647420e0257b69b91b9e9 (commit)
via c9fa217a8ed0c167c41800e892c913c1649463a8 (commit)
via 97737d1ee3ce95e45a1a4aa636cc2e11a106a9f5 (commit)
via 453e7fc9f7116b4251d6cc5dde5110bdd183797c (commit)
via 749820d7dcf8ba05d025f985f0fdc17bd6658489 (commit)
via ceffc4581e83ce1299c96a17c9c5352f491d488d (commit)
via c62117165e685beba2f210f87d7d88f578a9322e (commit)
via 80a50c59331faf268947f97ca702cb9a1d9881cd (commit)
via 095e5cb398048c939b926094dcdaee6d1a7f3903 (commit)
via 9334b33e782dd9f514590665ed86e350d7ff8eee (commit)
via 845ab0f42211847b2cdd498241d5080fb155f8b7 (commit)
via 263118a6681918add6861eaede318657ee23b7c4 (commit)
via 20e078293697dd99ddcf2c2151c9f075409cc185 (commit)
via f1aa15a509d4249b19bb3d7f1f388829dd5135f8 (commit)
via 5a4926dd52aed56913cbe10592063ff0da753700 (commit)
via 210793d5144562f2ab51a8b3f0969ab498a6a9c7 (commit)
via 41da689280091dcabd153b77627818b0a89645bf (commit)
via d49d0ac8d97e30a9b3a9140af6e9f402d39654c2 (commit)
via e77f00db5097d741f27c74c03d194a233f648615 (commit)
via ddddd501fedda7f0462702717e634f7be107bd32 (commit)
via 8927fbd63e29005ddb9b2c2264046089bf669857 (commit)
via e9687ec4ff525ae4a88314ba4ae97da770bd012f (commit)
via e27425e63392683b85101961489a83e0abef133b (commit)
via f274c66b2141aca0f332e272b77cd0a048cef7f6 (commit)
via b939d0b64ac0cfb90e672386a8586a5515ebcd16 (commit)
via 7b31485553ed6a1cbc1ddde0ae3e678e404d1f97 (commit)
via 58f78ea0c81a106cb2b9220eb9290bef15466cd9 (commit)
via b7cbdde8854ee4c51ec9cd49ce639bd02d646355 (commit)
via 64b5d358fcaa039ca2e7634aceaa5ed4c3a10cc4 (commit)
via 17126af519bf8e43ecef76c4ebd7f205c4c4daa8 (commit)
via f5fb893ef5db2bf0e70aa0ba108c9d189fea607b (commit)
via 25ae24c53dbada6be01791c5f15b26d103ee588d (commit)
via 07e46eb2e25583f0f3e06342f0c854769b353b10 (commit)
via 6d5511668545d00da4e3e5dd142b4f082c76b083 (commit)
via 1e981ffc8654910d868bac129c48b1381b935945 (commit)
via 71ee95fecd6b8afb2b19914b2395f63c44a8e812 (commit)
via 52fdfc82a1ceef6251f816c64fc64fc78bd9b3e8 (commit)
via 2d9c5530456fce1b047fedf83ff48412509b7164 (commit)
via 59b6c01edcd7013a112aeaf9d0bc33a8d2a2b8f1 (commit)
via 08814fc43536cb801b1db0c548bcc19b67b19dd4 (commit)
via 7b054153eccbf0843fbbfb131855f56ea5c695e0 (commit)
via 2294f2fdffcf724cc28653976b8029351e41fd77 (commit)
via e5e577cc30171232ca9a9ca6fd6f97e3d59539a1 (commit)
via a13a5288214c6dbb25bd8da04057f8ff17750ec1 (commit)
via 8ad7f49e5b5e9a254f73de53941a58fc6032a737 (commit)
via 4097daba7e43b3a1a3af77a715da1a2418d30392 (commit)
via cc9757407fa124998613329ce73c5bba98d5cf21 (commit)
via 109169ca9d8835227cbfcf2c2da5434232e2c6ec (commit)
via a77077efbd5658a39538557911fccca9da5a81ab (commit)
via 3deb2d7685f9e9b502a992491f747c3a657e4d15 (commit)
via f3d9cf9f788e5b98d270309c03f44b26568944eb (commit)
via 727d2825675e9d67999a15d2e9903bf8af854395 (commit)
via 6f1fa0884602c05fba05c14cd6eb6884ba928e8e (commit)
via 653a408caabea249e4791dedfa433400dad90713 (commit)
via cff25ce181b3a330f12809373407f4d54f4cc5c4 (commit)
via 666830d8a75a3676f60b48028b115edb19d06cc7 (commit)
via e3a2c2caeea0a4f4d36b1117610d2a32d14ac69b (commit)
via 20d3ffa76a849e2105e72e6b7c8835de5e9c1b21 (commit)
via a876dbadbb1fa625e3e5fa8bdffe803e6eb473d1 (commit)
via a8c50b3fbe672ea949a5c6c26c6db04566a7cdb7 (commit)
via 8287b6ffdf2cb631591decb17429701218122259 (commit)
via e5583e10eed68f75e8981571d322b553b784dd5b (commit)
via 86e3141aaf13b1bc55d74bd6f557a62b814e944c (commit)
via 982261fec4707d0c8d0723d90d9c0e465d98aa93 (commit)
via 41b88dab57df5a1b490550fd8c4b80788ce55a81 (commit)
via f2fd58347765c32fddd45b9dbd87097ad73b2001 (commit)
via 90af50dd30c2ea0abec10b36d5b3fbf29fec2b16 (commit)
via 1b35145ee6592ba9e4017b7b2686edb312e79ad2 (commit)
via 8eb1240c18062bd3614ecba31f4c6a2dc6ea980d (commit)
via 9366d6b2e48ba409366adc0516825c41a86dec9b (commit)
via d4129a39dda08e8cfbc002461e1e76103de8f108 (commit)
via b7521a33ad61286eb9e32915c3a691c824bae719 (commit)
via d1f23fd4732f9407dfd80e15588070d920050d9f (commit)
via 6d38ec6d31e295b60bd5c84cc89229484afed56a (commit)
via f2640263468aced5c91ac5fc1f15bb5691f7eb20 (commit)
via 139cc36c4f24dbc8c759f6bc3fba536698db6e03 (commit)
via 4473d16e7cdad08eccad95f5920e1aa171d5512d (commit)
via c3936e8c1b40cbe2e88c7930a99728cab95d2528 (commit)
via 235491231bdd1fd93507c835767503f047e10b91 (commit)
via dd07e7f7ddb5d704599f798a8ef3d1c8a05cb9bf (commit)
via 91090f8e8ef533ad39fc8060bbf1a69bcb0b5af7 (commit)
via 2a685b05f91f71c3b00ee8890ebaed16839b0cd0 (commit)
via 8132295cfd2d26a13a6cd2f61b7f5c56ea5efaa7 (commit)
via 883a7ad93fd5a4dd0ca71d461d0624a898ad6865 (commit)
via da158a449e7ddb7f06fda929d7030ff8496e71bc (commit)
via bfa5d8f54612811d306d1453b7d2da549bbc60ee (commit)
via c8b5250cc50a3451ecce9685d8b3457b3c1b133d (commit)
via d1a48bcce645417a983a4c96090ed70e860915b4 (commit)
via ab9163fbbf629d82e6eb455dde3221dbd02ea28a (commit)
via f968b1b2b0de0c16311f3781664dd4464822cea9 (commit)
via b60c41a3b3e05072637e6277f23455b76197e5b3 (commit)
via b39be886ee3562ff924b631a365b1e46d424f636 (commit)
via 1ea83c98a8fb8f58a4de8368d1fa29d341a2a73c (commit)
via eafc1c8d2223693e96c9619897f92774735fcb49 (commit)
via 4552df253251a92b0355bc6cc58513aa5feb8b30 (commit)
via 4edd4887541eeff2970c27aa16328a42051e20f4 (commit)
via 801256914d42b3aa4bb0af22432471b1d911a66c (commit)
via 90246df5d413c6b6a2d57d66c48c2fe3206eb42b (commit)
via b17be9b496a6dfe10babb8102d8e55ad9a3fc2e2 (commit)
via a5b95344a4f9fd3202e627ce08a3a492e35a0fff (commit)
via f4bf9dc40689f1ab221d64af6932286d4cd010e6 (commit)
via 99c53218e3f0611eafde4f6375c4c5e4c2865875 (commit)
via a9a4f69ad7bd02209fdce02b28c701c23fe48a15 (commit)
via d473f407e3b168490032905e60effa3cdbbc063e (commit)
via e24381784b0a56896542d1a5828a77ad0e1c40ec (commit)
via 613f84a0fcd46f2143b046b57c6c6444eafa4d4d (commit)
via b8c728ec51696c5d17ef09a00b3b193b70a487da (commit)
via 7cb7fa6b3a0d02985b4a51f7823bc1cb631d6bfa (commit)
via ba1f47ffee3d3a2d31a47eeb461283a93e05cf39 (commit)
via d04f830dff5b6f184b62a44f2a047fea89068feb (commit)
via 7fb8d6150b57560a7e72f50b4913be11fed0fb97 (commit)
via 2634719587458febd3e307eecf1a99428279778f (commit)
via ec5086e248d9c75bea7399a3e501ee48b14c047c (commit)
via 749dd44d30c86568b2ec7340ced6d849c0dc3a5e (commit)
via a917896b61031af1d4b77b3da73e11af646057cf (commit)
via 2a8c466336db734f9f271f041443fd2b790e3071 (commit)
via f6c5d005914efa40c4d7a84d3a95894f06a70d7a (commit)
via 2845394f72e2733f96621a1f02f1b943e62c0964 (commit)
via 002b46da8a4270b89003a28b4f5431d857cd0b33 (commit)
via 9bebcd38f42da289a3eaf9f473a9529f8d3c4664 (commit)
via 9a7776ddef6626536f21c09090b8329168a053ce (commit)
via 9c2d39405c30b75bc817a6212a116421ebb927f1 (commit)
via 4de65c4af42894f57b8b8c3a050260725a96b109 (commit)
via 0033d20449b3bb558f2ea470983018db39b572aa (commit)
via 3b016a709dd4be5a978dbc8f04b49289612b5be9 (commit)
via c31404533f2fb70efd40d7b56d8165e2ab8bd160 (commit)
via dda3d358224c334c8fa4902b3e20c75caf8bddbc (commit)
via 8070f62fb5240ee5b924d0dae501a50f4662ffe9 (commit)
via 19689c97a05e0a10691b671c4c37ca0bf51bdd2b (commit)
via 3a3fcc811e6b50b21124a5c5a128652e788a3b67 (commit)
via 2d27ccbc105e84c27547a003aec624a3cc3bbd66 (commit)
via b372e439e05e336d5e52aa0ce69c799c15691932 (commit)
via 84932431cf4fbd494b4597105faed26ed2ac4efe (commit)
via b8bce60ff16e52862ca5a3c5a6018420b4fa3cd1 (commit)
via 9a1bb117c165bbedb2b75578ac71e46f2139470e (commit)
via d999b70a3f395afe06d430c14fdf02a64ac28c06 (commit)
via ae04256ee85fa02288f34587faad5d461ad57186 (commit)
via 8e1b6ab073a890cc2da6965f9a57bfc91d8c6d38 (commit)
via 0209a2f92b5693c72975572b7438ebc6d9865b6b (commit)
via 4a6a4664f655e785e234e575f024f4674155e274 (commit)
via cb42b5fa92329496f25f9479257bd03aeb346205 (commit)
via 77ba38a61492799cc3c615f0f622f34fc10de826 (commit)
via 0bdd1a9d8d3eef8cae027be133ee11fc9a3b5165 (commit)
via 83dfdd298d14d885b9ebc37b3b1af703cdd27f8c (commit)
via 2640c8a8e32c2f20023e4cb91f87684c62316f19 (commit)
via 7d20408ec4a5dbc973520dd78dd2531c6a1471c7 (commit)
via 61c77d679840e4c4455615295ac30215bb01cdf5 (commit)
via b770147356376ddb0602358a0252c4f68a9c80c6 (commit)
via 54ee5b628f8d4a1447670f65cc441fc32a9e96ef (commit)
via 672005782e57e049c7c8f4d6d0b2a80c0df512b4 (commit)
via 3688ec3ef963c8e41f845c1d98205ca69f91576b (commit)
via 2ce5406504540399ed78306198802fc4e1824de7 (commit)
via cf1cc29af12447c347a5574b4dc1568c7db61c0b (commit)
via 64b5a0f4dde23ee9b809b909bccd4ee8637364e9 (commit)
via a0a49e530b269679695daa6014bfade0b36970e1 (commit)
via 6204a717fc63891839faefda75e95a364ec0434e (commit)
via 93976a816e6d690a6c7d77801e31ce6ee5bc4899 (commit)
via df66588b0f6daf99573153cb384a676ced27f0b1 (commit)
via c7030a9c0ac36cccb07ef562908b62c2ef9d8bb4 (commit)
via bbe90168171e6aa8bc0045162ef9f03a01e36309 (commit)
via cc2464c4969f232ed6efb305adfdb69b2176ff34 (commit)
via 03e6f1fa6846dd860d0cd7babee62b8767cade30 (commit)
via b8b92e2455c2a9652e60a17dd38fc8dc031b77c3 (commit)
via 9cec7a2482a68ca1ae41d65fc8b94584d5020c3f (commit)
via 89c0598d4c1c414c7c567995fd1d0e569fee3d08 (commit)
via a148e931c6c6a7d2a5e602f188d67e199082ae0a (commit)
via e3c983ea9d62cdd0de86a8f4c4164c692252fb74 (commit)
via ceb716e88f2ade9d9abe116fe8cddf34844d71e7 (commit)
via bbf408117c40f2e02b9d3e23025c01b74f5bdc09 (commit)
via e5bb7f10e01224d75e55da6e545f779ac0fa73a3 (commit)
via 34ff01a84390ba7a5c0377c326944fc026d66140 (commit)
via f0023823ef3282bd3483e6a7aa19b0a0939a6ba4 (commit)
via 2c9422595f41635e2f4f7ef1afb7eece9001feae (commit)
via 6d1f5176f257ab9a9b47ae65b528c9ab79db5b31 (commit)
via 460b6f2daff3c413de4312424d38cd50c481016f (commit)
via c62b1edd42d9522d6277d5ca648f2e4a4214341c (commit)
via 4353f92301cd903a00831a8272d149c45bbb5b8c (commit)
via 76a94131bf8823b3ad0192878ecef6b6ef2da004 (commit)
via 31d394232eb8544154198ec3de7328ab1a6b82a6 (commit)
via 78636c03a561d3a9a1b7c008dc390fe854196309 (commit)
via 88be9e7481f167d139b4f3c981368b6071c61384 (commit)
via 2ef89abb8cbafab865baa2399e2641879b495aea (commit)
via 5e3d2fc37be8b73a0ddabf1389c75f79e77c7e93 (commit)
via ae2434732c4b24d1b91ab30615e79f48bd40b9b5 (commit)
via 7d8a6e3f517d0bf959a2db2c9c774a15439f6c94 (commit)
via d1fd151cdd1faec5fd4966118586c746a89d93c1 (commit)
via 562e3a8a2652dd960d5d76208c723f717e47330e (commit)
via 6ba9bf05e62d651505e1487b50eee90bd6379e02 (commit)
via edd9912ffb4a44068aae2ec21f0449d3d53616a3 (commit)
via 32e60534c7e2b6093de74bd75d37cb117f1d3a5c (commit)
via 448d06e8dc5c06f111bb6baae7d456e174225729 (commit)
via 4d6828ca04636d331f9a050f05b576e489022a1f (commit)
via e971ab1a229d1ef1d5c1e5e1ff52ec597c55270e (commit)
via 8f39f8bf905ca84db4c853733f6a3d3a3011c237 (commit)
via ef0b64d8d0ee7851a4d149ef8e39c133e4b788b7 (commit)
via dc96b68a826a652d514f994d1f7932fb6fff87a7 (commit)
via e4e5c29fb254a05a134886ee6518e3d7cfde1cc6 (commit)
via 5d3b00abe9a506ab3c3310cfb82394534463c40b (commit)
via 95e50540529d5a411880acbb6ee9f743226243a8 (commit)
via c75adc040ca2767545e9cff51575b2ac1706efcd (commit)
via f5ba2dee8d589639de0e0df315322e5b312c45c5 (commit)
via 9b02c4454abee568af9ff1d6c9044e9cd757b5aa (commit)
via 130b51ac17f44707261f4885d2fadb44a2f5a1e5 (commit)
via 5d255e321ace772df825d4ac2604b451bde7ba15 (commit)
via aaba23a7f450d43d0062d66a712e5d0de62f7e87 (commit)
via 180563217f2579029424c9b79abe7bb2fcfeb51b (commit)
via b31164eeecf3f798f75a71577ae365daf8211946 (commit)
via bd55e5ccce4b35ffb1028d7810b93df3b7522d05 (commit)
via d22ba3e7629976f6a55382140945e92a4d5600b7 (commit)
via 59499c6189fd0871b46acf7c3c1a67c00bba9956 (commit)
via 20fdd28047bfe8fabb7cebbda49386f4cab3c020 (commit)
via e65dc371a1c421dcfe4b6bbf2f937ae7ef5a563d (commit)
via cb92b7618edec56b534f89129556ba74b62e4c6e (commit)
via 38bd193c9908d88f26f36ed62298b0b1ad13d2cb (commit)
via 9019e629679ec12c1a4c9656bab337e84f861e8c (commit)
via 057c04d1157322c235872e412bcc22487858c5af (commit)
via 218cae5a714342b5d82a5b004d58f0a9ebbbfe5e (commit)
via 880dd56f468b57a198ab2136767d03ddaa586eef (commit)
via a274a4f22c83c536744e77e3dc873417912a1928 (commit)
via 2ca0296a824d12bc55e3d4d0bf580f26a10eb830 (commit)
via c38a10bca63e4fea5573dccf4caa9d17e325a6d8 (commit)
via 87c02e03c4ae40e5e96792f67d7aad09b7f50935 (commit)
via aece54e2c790d65c660bfe0bbbfd42d9cdd3fe27 (commit)
via 52b0837fc72d5be2b99b71e6223d54cbfaf1716a (commit)
via e1dff04f50833437c47cf1b737e69d3a73de9d63 (commit)
via 1cf9d9d1ee1b5bb9ea73208b9635252ab5d883fb (commit)
via 6a33dc6cb1546acf3c5db982e3f44b41bff67b05 (commit)
via 2e5f5e3c6d3716aec736474a198de5f7746a5450 (commit)
via 5ab5d98fa515cd19a64e8d5868fcbae85eec9dc5 (commit)
via 4660ac02b9723380b4581b4c6a46e54861b95059 (commit)
via 1cfdceba98c380ad1cebb3a6b3d1f141d852c691 (commit)
via ef6f49570c748bed2c086faecec9064b9b04514a (commit)
via 5296cbf51c564fdbf2beb299beda43bdd52a8229 (commit)
via 810d47c823ccac01888f3e64e1dcdd247ef92986 (commit)
via 9be362ab7efc6ad27a678e00f9b0b35a24993aa1 (commit)
via 695e5d209ade018afea1b2d2f9e042e9c78028ae (commit)
via fd8213f83d0656bd0cd5215306e22e5a25058bee (commit)
via d0302f12c4d33eabbcbaf23e941ac33e1e364e3d (commit)
via 0fd357b48642f16c3adf8ed474f299daecef2613 (commit)
via 9ba4ba4394e729560e72148a0e52160faf83893f (commit)
via c87688a05a8b49479ee10127470cc60acebead4a (commit)
via 98b6f846b628e858acbae9258bac78cf54126d27 (commit)
via 6c3825f2b750bf9b913c6ea986739e648c470603 (commit)
via a81c0c28ea606b0d0a2ad5eeb74071c746b7cdeb (commit)
via 6e517e5e6243c1014ab35d20a6b08d7fd6a52e9b (commit)
via 3bdf8aad39d39168d096d3042b659fb9d2ef1651 (commit)
via 559ee510cb7058d9e0d3384302be4a0053e179cf (commit)
via 76c5584261baae519063162fea47620e631005ce (commit)
via 6b218d07bfb6bd1b16bec6f5ccce7301886d6b79 (commit)
via 51a25140f5314549b586a35e05e9f1e3319fd2cf (commit)
via d8d91cdaf9fd1e0a6d676a211da024fa7f52055b (commit)
via 3aee8e4b88269ec6fbc47779cc2acb5cce6d78b4 (commit)
via cf2aaecb77099ef8d2b9f9fb8ae0d1e362643271 (commit)
via fac7bebe532f05b6053315a6be505e49c500f4e0 (commit)
via f73b0c1a45a7c73fcc034f7fd34ae906dd51b4ad (commit)
via 6c277e6e677df4b92f7588513f34f745af5fce24 (commit)
via 969078c9755b7e28dcabe277629f757e20a19f1a (commit)
via 690beb4d6679c66f45d09883408cb860337e31c2 (commit)
via 883e9a3bcbd0de620272c79b6a081b42b0832ef4 (commit)
via 2f13ab11aa71a2b8fb6e045a9ff81b7b2252cbe0 (commit)
via 2baaf773daa797048ea96573fa01786d129f00fb (commit)
via eda9e61107ed34a5f7a566fe6835a48c48aec1d3 (commit)
via fc7055f2461fa92bc17d67f02058399dca5736ae (commit)
via 7802531da03626cfded497239e29a8ec2e4a3285 (commit)
via 07b0785c207cd46751abcb17cf44168621bbc479 (commit)
via 92132dda0f13b2f4e82048797acfb7c34da2f53f (commit)
via 890f987c15029d7e29f7deea0bba0b8d4ecaeaeb (commit)
via 641249f6b143c4e22825e18e0dbe22bb04d21138 (commit)
via b1a3f96a8139c5ed3aac7b8a77b06ba4c0a877c7 (commit)
via 669dadfa07a5e63db8d9e572603872be88db52a3 (commit)
via fd1f64a2e9e794a0184238bf3a0c4b7f5c6f963c (commit)
via ea6ea2f554bc81b856d5286c23c2b4c8ba303fb9 (commit)
via 26b18d8e7d8bb5f1bf9ae20e40e8b291db3cebd6 (commit)
via 9288839793069e589615e4bb47257b63501586ae (commit)
via 3081d01a686922957fa298a3101f3cb1e8200ce7 (commit)
via 1b7ad5c5d601b6388f0fc871b4fa42d231c05400 (commit)
via f15806e05d97ac060f4e992db6c3e2b6814a9bbc (commit)
via 9828a0bb4c6e69f401738013e4adfb4da95afc03 (commit)
via b5014c2caaef8ee061c47b907a599526d9dbe875 (commit)
via 9cb2ed46f9958cf80221a75df5a56aa82d46133e (commit)
via da62c4ea16e14fac7e298385a681043820d69ac4 (commit)
via e50d744b189595aa9e2f2351c57225980387362f (commit)
via 4d9dc03bbc42fdfdac0dc72f2bfac1f37f70e8b7 (commit)
via f8471a5a6b20693d3c7afc0645de62c842b82bd3 (commit)
via d9fc76bd4e8c9a459fad7152135b738496318415 (commit)
via ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f (commit)
via f4dfd14bb77fd884a0e5afe306c677e7e873f41d (commit)
via b0db9bc55ce9b66d0fba511239c278d1a257a9ef (commit)
via 8dc9884fc74243a6810fdcac603e1941962b666a (commit)
via 5c7310fd853620627b57c72ddcc3b212f29f6056 (commit)
via e25cfb3f3a843122df7e70e97992a97ffe81717a (commit)
via 0f3c9c2640ffd76f1d60f16dce6d16c47aac98b4 (commit)
via 164db73bb35173f45a7eaba1984c3169cba778e8 (commit)
via e1c831a43ac1945db5a52ee6873856b9399dca76 (commit)
via ca8277c6f507e54a043b84a8df9c55ac39a83c6e (commit)
via b3d304167929bc199e6789fd67ffea035e7fdbf1 (commit)
via 7b027a34676880bded1a05a5c47bfa85a6e79092 (commit)
via 434f79cbfa00c7370724dc25091b5a42bdf8d9e1 (commit)
via 7550343b09a94dc1c659ad74dc75b3b77e7ab0bc (commit)
via f522af65aa004fea09705c74115836c6acd1cddb (commit)
via 4646c4a3ef6171a0ddec4fcfe0c6aa34b50501cd (commit)
via 6e202c432e2f16dfa83a7dc21b759c03623fa394 (commit)
via 0f2bdacd6ad3dbcc905925dee12cb30918c33a11 (commit)
via a269783a41ae8b18e5b24d934c96ce9e90de3067 (commit)
via 0439361f817c3f610c1f5ec859bd302867472e50 (commit)
via 4deaca2ce2c4ed2c5ab53f57a7747c71126a8da7 (commit)
via 4f40fb6fbfa95c51b6abfceffcd0e1ce80824e70 (commit)
via d67e76dbb63e277f0d503224e63e85cc5d91ac11 (commit)
via 33bfc249fd692910bb1e3f7a5820d31dfda0f284 (commit)
via 25bad336ed7af83bfb78b2a3534fdf223554bfc0 (commit)
via abd1ad000a2861b46df445888365678686e31bcb (commit)
via e873ff83afba08ff61a5e98ab90d5ee05ab5c601 (commit)
via e3707dc9deb28d5144836032a54dbc028247835d (commit)
via 0ef322973a8b9dc9c0f5ba8155ad780016f3654f (commit)
via 4665f087fde174a9de3e1c3f3de090dd4bfa85e0 (commit)
via 5714e1cef2584410a7823c7ead9d2435141fb0c4 (commit)
via b3427143ae8dc628cb3748da7618700c6bd7ac9e (commit)
via f9ddb679942b6f4309d05b5462fe5cbb3d0a2beb (commit)
via c68fc8b783804e093551d93cc1b8c10964cdaaeb (commit)
via aa3bac054364aa2d3614ded28df4980639184319 (commit)
via efb8515465dcb03526a35bf87b549cac97bbab8c (commit)
via 2717c43bca6f920c4d3b0909c33bf3c1f76a70a9 (commit)
via 80e439d146f661c416b7f42c4180b16aae7ac2f7 (commit)
via 75f53efdc66be8c6ffac31bd17a309f9065e273c (commit)
via a45606d0036565c468b462a207575bf2b4077fd8 (commit)
via 1f1661d6a5b6f22acb48460b5304e29af2a0a554 (commit)
via 086569ee636d91a820aa23031dda3cb74bab9505 (commit)
via 2c7dcef74c3259d2d5db7a11f5c77d18d3a51e85 (commit)
via c6c770c33eb0f23e7e8e04976c711653cdf1a41d (commit)
via 4ac169deaa1eb4c8df4a49fc940700971fa5863a (commit)
via 97e598086b37583585b455d2b804b6e49d97ea85 (commit)
via ef370b0967024ced9296ff2028abc1b154c0a951 (commit)
via 56d301e212ac1964223cff8ef9c34889cb1a6e75 (commit)
via 2fb5b93b4cd56fd68b525371ba63b0933b61d03a (commit)
via c62d5ff73ceaad21bb0784ed6098d307a625b10d (commit)
via ba139824fa06a97f2a3b1cc4c6085d10a83ec2b9 (commit)
via ac75e3648e6a9c3a8cf45d5fa491abd3a3ab3613 (commit)
via 3907bbbcfb806799a5349e46a2b804307a0e9836 (commit)
via 56ba0ac1e3a3f32763060ab862a6f0054c8a50bf (commit)
via 0a4c7a1ca8bff458eb11322d2c94ec9ffd832524 (commit)
via d938e96e59a41d5eaa11040513815b757e58eb0c (commit)
via 1b55547480eff13851f2d53ff96afbace11c6004 (commit)
via 5af547e7fc9ddc0b472b99c6bdb7341f6204e43f (commit)
via 5d011324a721d7cf3babfe6aa068e247c7f27f42 (commit)
via d76613f23eec2a66f4727c69fcec3b5e3be3da22 (commit)
via edb4593c38d421b5d538b221a991b50c36fdba15 (commit)
via e58f247f9c3a95ea2805fe132777d192ef51f6d1 (commit)
via 7e7201c453ad7faa5d26625ca9d263ee625ef5ed (commit)
via 7a8b315855fc8edba2003fa69cb86cf664f4c2ec (commit)
via fdd74966f222b67aa3161e809c6e9d8aacb16b12 (commit)
via b33bac72fa26be8676a6da73e0b13f51bcd40034 (commit)
via 80e2bfc9ee29a5ecac3a9b8eaa2d470ae30222c9 (commit)
via 4cce52a1ec161008243f5bee63df7f6230c0f7e6 (commit)
via 151d56afe0d7d9eb527fb0a194f383435b2c0f65 (commit)
via 5bb07a3cb626b18aedfa463b6b344bf0fd963e71 (commit)
via a027dcc41d381a3c76a5b20d4d55ad9821af2308 (commit)
via 0419c2813a91d0746cc70f4ecab33efca4b9440c (commit)
via 802ea16ef91b30bc4fa9a61779b5c3602219bb1d (commit)
via c15f3bee8d46f05afe1d3f582778d74c7e706485 (commit)
from 75ee933b844a3cf0f1dc3a99337ee3b557d49631 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6e1555c9a749b215665619f4ec6f0b0d4d0f3fd6
Merge: 75ee933 87bc937
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 29 13:10:15 2015 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd into dde
commit 87bc93725aea306e8bd4e4171622e4418869fc2f
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 29 12:47:14 2015 +0100
Add devnode translator
* devnode: New directory
* Makefile (prog-subdirs): Add devnode.
commit 226a9d9c34a2d187f978a25874488e5b07986d7c
Author: Justus Winter <address@hidden>
Date: Sun Jun 7 00:58:36 2015 +0200
libihash: prefer performance degradation over failure
* libihash/ihash.c (hurd_ihash_add): Add the item even though we are
above the load factor if resizing failed.
commit c1d5c163a89f53a3c6e4e67f5f4119af96f7a470
Author: Justus Winter <address@hidden>
Date: Wed May 14 16:24:21 2014 +0200
libihash: optimize lookup-or-insert operations
If libihash is used to implement a cache, a insertion is always
preceeded by a lookup. hurd_ihash_add has to do the lookup again.
Provide a new pair of functions, hurd_ihash_locp_add and
hurd_ihash_locp_find, that can be used in combination to avoid the
second lookup.
* libihash/ihash.c (hurd_ihash_locp_add): New function using a
location pointer...
(hurd_ihash_locp_find): ... that has been returned by this function.
* libihash/ihash.h (hurd_ihash_locp_add): New declaration.
(hurd_ihash_locp_find): Likewise.
(hurd_ihash_locp_value): New function.
commit 6c948532d2799bcc172053cac504c4aa5f016bba
Author: Justus Winter <address@hidden>
Date: Thu May 15 17:55:45 2014 +0200
libihash: add hurd_ihash_value_valid
* libihash/ihash.h (hurd_ihash_value_valid): New function.
* libihash/ihash.c (index_empty): Use hurd_ihash_value_valid.
commit df778cd01505e3a8c11f5b13f5ee26a4be290f9a
Author: Justus Winter <address@hidden>
Date: Fri Nov 6 14:42:04 2015 +0100
random: satisfy arbitrarily-sized reads
* random/random.c (trivfs_S_io_read): Satisfy arbitrarily-sized reads.
commit 710201a5db7bcd1c13364eccca65d8b13c1d0d65
Author: Justus Winter <address@hidden>
Date: Fri Nov 6 12:06:32 2015 +0100
random: use /servers/startup to register for shutdown notifications
* random/random.c (arrange_shutdown_notification): Use the new way to
contact the startup server.
commit 5f7601f47a3fd8957a52c03f1135534fc2232539
Author: Justus Winter <address@hidden>
Date: Fri Nov 6 12:00:31 2015 +0100
random: improve error handling
* random/random.c (arrange_shutdown_notification): Improve error
handling.
(main): Display warning if arranging the shutdown notification failed.
commit 608ea90065a50b7f8e3a5592c8e8e4cbd0265490
Author: Justus Winter <address@hidden>
Date: Fri Nov 6 11:48:39 2015 +0100
random: fix odd formatting
* random/random.c (trivfs_append_args): Fix odd formatting.
commit a9eb3e9765a21f9903705e2b9f46694529af8155
Author: Justus Winter <address@hidden>
Date: Fri Nov 6 10:39:53 2015 +0100
Remove unused variables
* console/pager.c (user_pager_init): Remove unused variables.
* ext2fs/pager.c (create_disk_pager): Likewise.
* fatfs/pager.c (create_fat_pager): Likewise.
* storeio/pager.c (init_dev_paging): Likewise.
commit 7dd0f755f4ac29e6c10085c16e18dd97d92ae5e7
Author: Justus Winter <address@hidden>
Date: Sun Nov 1 12:34:36 2015 +0100
libtrivfs: remove deprecated static class vectors
This API has been deprecated in Hurd 0.7.
* doc/hurd.texi (trivfs_protid_portclasses,
trivfs_protid_nportclasses, trivfs_cntl_portclasses,
trivfs_cntl_nportclasses): Remove.
* libtrivfs/trivfs.h: Likewise.
* libtrivfs/mig-decls.h: Adapt accordingly.
* libtrivfs/cntl-classes.c: Remove unused file.
* libtrivfs/protid-classes.c: Likewise.
* libtrivfs/Makefile (OTHERSRCS): Drop the two files.
commit d9a22b92a226419c50fd13013741679ce7e7b624
Author: Justus Winter <address@hidden>
Date: Tue Nov 3 22:44:07 2015 +0100
pfinet: fix sanity check at translator startup time
* pfinet/main.c (main): Properly iterate over `pfinet_protid_portclasses'.
commit ff578e992a792e4a844a9a800e48ad9cef69e97a
Author: Thomas Schwinge <address@hidden>
Date: Sat Oct 31 13:35:44 2015 +0100
GNU Hurd 0.7
* configure.ac (AC_INIT): Set version to 0.7.
* NEWS: Finalize for 0.7.
commit 3f0a9b1145c25d1f0f19fc93da3c272c5505a5ee
Author: Justus Winter <address@hidden>
Date: Thu Oct 29 16:39:31 2015 +0100
pflocal: avoid building the interrupt server
* pflocal/io.c: Do not needlessly include `interrupt_S.h'.
commit c3c6b55517d7d1e217e88d08f3265a5a7d77565a
Author: Justus Winter <address@hidden>
Date: Thu Oct 29 16:38:17 2015 +0100
hurd: fix type of in-translation function
* hurd/hurd_types.defs (interrupt_t): Fix type of in-translation
function.
commit 0437af60d3bbf09003f3fd1fdb9993958fcd430d
Author: Justus Winter <address@hidden>
Date: Thu Oct 29 15:43:28 2015 +0100
trans: improve demuxers
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function.
* trans/proxy-defpager.c (proxy_defpager_demuxer): Improve the demuxer
function.
* trans/streamio.c (demuxer): Likewise.
commit d4a2c3958c79b9582b6541585ad2a72aca7a734a
Author: Svante Signell <address@hidden>
Date: Tue Oct 20 20:45:48 2015 +0200
Make fakerooted access() return real access
Various realworld tests would otherwise think they can write to /, while
they actually can't.
* trans/fakeroot.c (netfs_report_access): Call file_check_access instead of
returning O_RDWR|O_EXEC when faking mode too.
commit a6185e280c1e9ca17e9bd24eff169671fe28fb1b
Author: Samuel Thibault <address@hidden>
Date: Mon Oct 12 01:50:34 2015 +0200
Make dir_lookup create files with user permissions enabled
So we will always be able to re-open them.
* trans/fakeroot.c (netfs_S_dir_lookup): Call real_from_fake_mode() on modes
before calling the underlying filesystem's dir_lookup.
commit 1fa0cec1b643483918933b5d6a419e77d6e16c6d
Author: Samuel Thibault <address@hidden>
Date: Sun Oct 11 22:14:18 2015 +0200
Make netfs_S_io_reauthenticate handle allocation errors
* libnetfs/io-reauthenticate.c (netfs_S_io_reauthenticate): Loop when
netfs_make_protid fails with EINTR, return error when it fails otherwise.
commit bd7e7ae44c78bcfe623dec8636375685c8c30be3
Author: Samuel Thibault <address@hidden>
Date: Sun Oct 11 22:02:41 2015 +0200
Drop duplicate port deallocation
Follow-up dbfa8a3
* libnetfs/io-reauthenticate.c (netfs_S_io_reauthenticate): Do not
deallocate parameter port `rend_port' when an error will be returned.
* libtrivfs/io-reauthenticate.c (trivfs_S_io_reauthenticate): Do not
deallocate parameter port `rend_port' when an error will be returned.
commit bf6d5e67e86a059c1ffbde425d0f3f05fd0a0717
Author: James Clarke <address@hidden>
Date: Tue Sep 29 18:06:46 2015 +0100
Add missing null checks in libshouldbeinlibc
The getpwnam_r and similar functions only return non-zero on error, but not
finding the given name/UID/GID does not count as an error. When they return
0,
the value of the result (*result when looking at the arguments in the man
pages)
still needs to be checked for null.
* libshouldbeinlibc/idvec-rep.c (lookup_uid): Check result for null.
(lookup_gid): Likewise.
* libshouldbeinlibc/idvec-verify.c (verify_passwd): Likewise.
(verify_id): Likewise.
commit 407237da61abdc0c82d91efab392d78b7e464fb4
Author: Justus Winter <address@hidden>
Date: Mon Oct 5 13:06:24 2015 +0200
Update NEWS file
commit 726c58c7de0f0ab6053801a566112497391cfe32
Author: Justus Winter <address@hidden>
Date: Mon Oct 5 13:04:45 2015 +0200
libdiskfs: fflush stdout when pausing
* libdiskfs/boot-start.c (diskfs_start_bootstrap): fflush stdout when
pausing for /hurd/startup.
commit 7e5f8c6e0d01e4df0c70fc82101ef9b294138a41
Author: Joshua Branson <address@hidden>
Date: Tue Sep 29 01:07:19 2015 +0200
Minor documentation changes
* .gitignore: Add generated doc/hurd.aux, doc/hurd.cp, doc/hurd.cps,
doc/hurd.fn, doc/hurd.ky, doc/hurd.log, doc/hurd.pdf, doc/hurd.pg,
doc/hurd.sc, doc/hurd.toc, doc/hurd.tp, doc/hurd.vr files.
* doc/hurd.texi: Fix typo, complete explanation about sharing Mach devices.
Complete documentation for shutdown. Replace cthreads with POSIX threads.
commit 379feba88080eb8cd731bbd64b98cc0bbf10931a
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 23:37:44 2015 +0200
libtrivfs: deprecate old api
* libtrivfs/trivfs.h (trivfs_protid_portclasses): Deprecate, and
schedule for removal in Hurd 0.8.
(trivfs_protid_nportclasses): Likewise.
(trivfs_cntl_portclasses): Likewise.
(trivfs_cntl_nportclasses): Likewise.
commit 9fe7adc2907afdd2039a67d27328ba82a884561e
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 18:55:39 2015 +0200
libtrivfs: optimize the object lookup code
* libtrivfs/mig-decls.h: Remove the specialized cases, they really
blow up these functions that are supposed to be inlined. Also, look
into the dynamically allocated vectors first, because this is the
preferred way of using libtrivfs since 1997.
commit fcf89e5bb006f71ecf5c46b7248216c3dee7e4b8
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 17:23:13 2015 +0200
trans/proxy-defpager: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a severe bug. As no classes are given to
`trivfs_startup', they are created and inserted into the dynamic
vector of classes. The helper function `allowed', however, used the
first item of the previously used static array, which is NULL. This
circumvented the typecheck, allowing the default pager protocol to be
spoken over control ports, likely resulting in a crash.
* trans/proxy-defpager.c: Convert to dynamic classes and buckets.
commit 65e63be1f4884a0223fe51ac6ff53ed11605506a
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 16:26:03 2015 +0200
trans/passwd: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* trans/password.c: Convert to dynamic classes and buckets.
commit 125f08eea403724713cea1c79913cc7d26406a07
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 23:34:20 2015 +0200
trans/new-fifo: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* trans/new-fifo.c: Convert to dynamic classes and buckets.
commit 580eeae985138272dc0f8c24d1e7f470e31fbcc3
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 23:35:26 2015 +0200
trans/magic: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a severe bug. As no classes are given to
`trivfs_startup', they are created and inserted into the dynamic
vector of classes. The server function `trivfs_S_fsys_forward',
however, used the first item of the previously used static array,
which is NULL. This circumvented the typecheck.
* trans/magic.c: Convert to dynamic classes and buckets.
commit 419a283fa2981c47f2a117fa56f268c0ae5b5989
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 23:33:23 2015 +0200
trans/ifsock: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* trans/ifsock.c: Convert to dynamic classes and buckets.
commit 2656f79608c8db735514bafe8026211c92d06aa1
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 17:07:18 2015 +0200
trans/crash: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* trans/crash.c: Convert to dynamic classes and buckets.
commit 50a7577b022851594fd15f8c934cd3c4a37c01b6
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 17:01:37 2015 +0200
pflocal: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* pflocal/pflocal.c: Convert to dynamic classes and buckets.
commit f42c29d2172e953887542bf7fb31d2b739563887
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 18:50:11 2015 +0200
pfinet: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* pfinet/main.c: Convert to dynamic classes and buckets.
* pfinet/options.c: Likewise.
* pfinet/pfinet.h: Likewise.
* pfinet/socket-ops.c: Likewise.
commit a5d384c333dbbe863c1515d6167d956b0c5b4852
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 18:54:31 2015 +0200
exec: convert to trivfs dynamic classes and buckets
libtrivfs contains two ways of managing more than one port class and
bucket. There is the old way of using a statically allocated array
with explicit length, and the new way with dynamically allocated
vectors.
Converting all users to the new way of handling multiple classes
and/or buckets, we can simplify the code in libtrivfs. In many cases,
the code will be simpler and more expressive for the user.
This also fixes a mild bug. The classes and buckets given to
`trivfs_startup' end up in the dynamic vectors too, making the object
lookup code use the more complicated code path.
* exec/main.c: Convert to dynamic classes and buckets.
commit 9e8cb4acfd8971f691b35657e1f63a903f638996
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 16:20:50 2015 +0200
libdiskfs: fflush stdout when pausing
* libdiskfs/boot-start.c (start_execserver): fflush stdout when pausing.
commit 9f179b1ab674355d5afbb6d664dee2d2ac6cb89c
Author: Justus Winter <address@hidden>
Date: Sun Sep 27 16:20:17 2015 +0200
libdiskfs: improve error handling
* libdiskfs/boot-start.c (start_execserver): Improve error handling.
commit 3d686a483df3e50904b0c92a5590416bf440e3b9
Author: Justus Winter <address@hidden>
Date: Wed Sep 23 00:25:52 2015 +0200
exec: add missing include
* exec/main.c: Include `argz.h'.
commit 2496f1c8cb1ccbe6a42a7cab2b50a1deb5ae27d5
Author: Justus Winter <address@hidden>
Date: Mon Sep 14 15:04:55 2015 +0200
libports: remove unused variables
* libports/inhibit-all-rpcs.c (ports_inhibit_all_rpcs): Remove unused
variable `bucket'.
* libports/inhibit-class-rpcs.c (ports_inhibit_class_rpcs): Remove unused
variables `pi' and `rpc'.
commit 737f692edbd14df39cc2d91019142bd2df2ab9ea
Author: Samuel Thibault <address@hidden>
Date: Sat Sep 19 15:07:09 2015 +0200
Define TIME_VALUE_TO_TIMESPEC only when not defined already
* exec/elfcore.c (TIME_VALUE_TO_TIMESPEC) [TIME_VALUE_TO_TIMESPEC]: Do not
redefine macro.
commit 51f60c38c8d3cae7b0d75ba51eab5af47f6b5df7
Author: Samuel Thibault <address@hidden>
Date: Sat Sep 12 14:08:17 2015 +0200
Turn EADDRNOTAVAIL to more commonly-understood ECONNREFUSED
Thanks Svante Signell for the investigation.
* pflocal/socket.c (S_socket_connect, S_socket_send): When addr_get_sock
returns EADDRNOTAVAIL, translate into ECONNREFUSED.
commit c6d8af579cffa9662ed1ea9e6096cccec821c6a1
Author: Samuel Thibault <address@hidden>
Date: Sat Sep 12 12:35:59 2015 +0200
Fix build warning
* pflocal/sock.h (sock_bind): Move declaration.
commit 90ae149104ee0f55309f8fc10fecedb7b2aef472
Author: James Clarke <address@hidden>
Date: Sat Sep 12 00:42:05 2015 +0100
Add support for ANSI.SYS SCP/RCP escape codes
This adds support for CSI s and u, which are equivalent to ESC 7 and 8,
saving/restoring the cursor position.
* console/display.c (handle_esc_bracket): Added support for CSI s and u.
commit 25ddda6354c4b70bcd8abb79770764d8ee3d6fc3
Author: Samuel Thibault <address@hidden>
Date: Fri Sep 11 02:08:51 2015 +0200
Fix detection of terminated dgram pflocal server
* libpipe/pipe.c (_pipe_no_readers): Break pipe for connection-less pipes
too.
commit df2b1fb2caed423b22f6d59d22f087100dd1b7d8
Author: Samuel Thibault <address@hidden>
Date: Fri Sep 11 02:05:06 2015 +0200
Fix closure of local server sockets
Since bound socks always have a ref for their address, they would never get
freed. Thanks Svante Signell for the investigation.
* pflocal/sock.h (sock_deref): When `sock' has one ref left and is bound to
an address, unbound it, and thus shut it down.
commit 280e26f17906c2c2fb39c33bee797e90f5cf0c40
Author: Samuel Thibault <address@hidden>
Date: Fri Sep 11 01:39:08 2015 +0200
Fix sock_bind(sock,NULL) support
* pflocal/sock.c (sock_bind): When addr is NULL, do not take/release its
mutex. When old_addr is also NULL, return EINVAL. When old_addr is not NULL,
deref old_addr instead of addr.
commit 5e8e02f53c47bcf108c64263249795f702b8b19a
Author: James Clarke <address@hidden>
Date: Thu Sep 10 11:59:04 2015 +0100
Install port-deref-deferred.h header for ports.h
* libports/Makefile (installhdrs): Add port-deref-deferred.h for ports.h
commit 87a79cbf282e97a7e729205d7cb19182c298474a
Author: Samuel Thibault <address@hidden>
Date: Thu Sep 10 00:23:47 2015 +0200
Do not install libtrivfs mig stub headers
They were not usable anyway.
* libtrivfs/Makefile (installhdrs): Remove generated mig stub headers.
commit 70962d761a364364f2809262a299829f35c1dd1e
Author: Justus Winter <address@hidden>
Date: Tue Sep 8 12:37:08 2015 +0200
libshouldbeinlibc/maptime: use memory fences
* libshouldbeinlibc/maptime.h (maptime_read): Use memory fences.
commit 06275e247873f44b2a5045df160bf55ec46918dc
Author: Justus Winter <address@hidden>
Date: Tue Sep 8 14:41:39 2015 +0200
pflocal: avoid nested function
* pflocal/io.c (copy_time): Move function out of `S_io_stat', turning
it into a static inline function.
commit 4b2e41017d621054c0ebb2acb7ceb88fa9617488
Author: Samuel Thibault <address@hidden>
Date: Wed Sep 9 01:37:19 2015 +0200
umount: Do not report errors on making the device go away
This fixes umounting bind mounts or other mounts for which the device can
not be made away.
* utils/umount.c (do_umount): When the --force option is not passed, ignore
errors from file_set_translator call on the device file.
commit 90b656d7e9bd288681cde6c9482d4c0ca575a431
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 8 22:49:50 2015 +0200
Also do not realpath "proc" pseudo-device
* sutils/fstab.c (fstab_find_device): Do not realpath "proc" pseudo-device.
commit 2ec3b41b65f1b7ccbe219544fd922db8fe4a0b2f
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 8 22:15:38 2015 +0200
Make procfs accept none or proc as "device"
This allows "mount none /proc -t proc" to work.
* procfs/main.c (argp_parser): On ARGP_KEY_ARG, accept and ignore "none" and
"proc".
commit f62819106ede2d407c31d1bd71a4e87c6fe60484
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 8 00:39:49 2015 +0200
Fix opening a fifo with O_RDWR
We should not wait for a writer in that case, since that will be ourself.
* trans/fifo.c (open_hook): Do not wait for a writer when flags contains
O_WRITE.
commit 7a2c17fcbb789997421725d726340301ef35d84c
Author: James Clarke <address@hidden>
Date: Thu Aug 27 17:22:11 2015 +0100
Fix race condition in ext2fs when remounting
On some systems, ext2fs.static would regularly hang at startup, as a
race condition meant it would process paging requests while remounting.
To fix this, libpager has been altered to allow inhibiting and resuming
its worker threads, and ext2fs uses this to inhibit paging while
remounting.
* console/pager.c (pager_requests): New variable.
(user_pager_init): Updated call to pager_start_workers to use new
pager_requests variable.
* daemons/runsystem.sh: Removed artificial delay working around the race
condition.
* ext2fs/ext2fs.c (diskfs_reload_global_state): Call new
inhibit_ext2_pager and resume_ext2_pager functions, and leave sblock as
non-NULL so it will be munmapped.
* ext2fs/ext2fs.h (inhibit_ext2_pager,resume_ext2_pager): New functions.
* ext2fs/pager.c (file_pager_requests): New variable.
(create_disk_pager): Updated call to pager_start_workers to use new
file_pager_requests variable.
(inhibit_ext2_pager,resume_ext2_pager): New functions.
* fatfs/fatfs.h (inhibit_fat_pager,resume_fat_pager): New functions.
* fatfs/pager.c (file_pager_requests): New variable.
(create_fat_pager): Updated call to pager_start_workers to use new
file_pager_requests variable.
(inhibit_fat_pager,resume_fat_pager): New functions.
* libdiskfs/disk-pager.c (diskfs_disk_pager_requests): New variable.
(diskfs_start_disk_pager): Updated call to pager_start_workers to use
new diskfs_disk_pager_requests variable.
* libdiskfs/diskfs-pager.h (diskfs_disk_pager_requests): New variable.
* libpager/demuxer.c (struct pager_requests): Renamed struct requests to
struct pager_requests. Replaced queue with queue_in and queue_out
pointers. Added inhibit_wakeup field.
(pager_demuxer): Updated to use new queue_in/queue_out pointers. Only
wake up workers if not inhibited.
(worker_func): Updated to use new queue_in/queue_out pointers. Final
worker thread to sleep notifies the inhibit_wakeup condition variable.
(pager_start_workers): Added out parameter for the requests instance.
Allocate heap space shared by both queues. Initialise new inhibit_wakeup
condition.
(pager_inhibit_workers,pager_resume_workers): New functions.
* libpager/pager.h (struct pager_requests): Public forward definition.
(pager_start_workers): Added out parameter for the requests instance.
(pager_inhibit_workers,pager_resume_workers): New functions.
* libpager/queue.h (queue_empty): New function.
* storeio/pager.c (pager_requests): New variable.
(init_dev_paging): Updated call to pager_start_workers to use new
pager_requests variable.
commit 918a8c2ce462cea65e3e7a614f19b4f5ae4ff1e1
Author: Samuel Thibault <address@hidden>
Date: Mon Aug 31 01:02:57 2015 +0200
Fix build against glibc 2.21
* Makeconf (CPPFLAGS): Remove -D_IO_MTSAFE_IO.
* libthreads/lockfile.c (_IO_MTSAFE_IO): Define macro.
(IS_IN): Define macro to 0.
commit 346ace4c2f5e020ca654541ff4b34d86faf88a4d
Author: Justus Winter <address@hidden>
Date: Sat Apr 18 01:34:40 2015 +0200
libdiskfs: rename `error' variable
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Rename `error' to `err'.
* libdiskfs/file-getcontrol.c (diskfs_S_file_getcontrol): Likewise.
* libdiskfs/file-syncfs.c (diskfs_S_file_syncfs): Likewise.
commit e507800e47973422c080a308955f8d46edc5d706
Author: Justus Winter <address@hidden>
Date: Sun May 24 14:37:20 2015 +0200
libdiskfs: add missing declarations
* libdiskfs/diskfs.h (diskfs_node_disknode): Add missing declaration.
(diskfs_disknode_node): Likewise.
commit 26e0ea9356e45a2aa1810b99c4341ebf6298bf05
Author: Justus Winter <address@hidden>
Date: Fri Jul 3 21:47:21 2015 +0200
libdiskfs: fix typo
* libdiskfs/diskfs.h: Fix typo.
commit fddacaea0c816639e5ad02e5c7237c4e53ebb5f7
Author: Justus Winter <address@hidden>
Date: Fri Aug 14 12:41:58 2015 +0200
libdiskfs: fix parent lookup in the name cache
* libdiskfs/name-cache.c (diskfs_check_lookup_cache): Drop stray negation.
commit 714c72349f136c4b798d0df847f85340c6e76aa8
Author: Justus Winter <address@hidden>
Date: Fri Aug 14 02:36:33 2015 +0200
ext2fs: provide unconditional debug macro
* ext2fs/ext2fs.h (ext2_debug_): New macro that unconditionally prints
the given message.
(ext2_debug): Use the new macro.
commit 72758b677ad240fd80b769e92f85c639860e6b97
Author: Justus Winter <address@hidden>
Date: Wed Aug 12 16:13:07 2015 +0200
ext2fs: improve ext2fs debugging
* ext2fs/ext2fs.h (ext2_debug): Print to stderr.
(printf): Drop declaration.
commit 68af46b57f817f84cf12bdacc32a1878e1c0fafa
Author: Samuel Thibault <address@hidden>
Date: Fri Aug 14 15:19:53 2015 +0200
Fake full file access only for faked nodes
Otherwise some scripts may try to modify system files just because they find
they seem to be able to.
* trans/fakeroot.c (netfs_report_access): When FAKE_MODE is not set on
`np', call file_check_access on the underlying node instead of returning
O_RDWR|O_EXEC.
commit 8b14af6546d542878a8ea6ca08e49e0cba2e34ef
Author: Samuel Thibault <address@hidden>
Date: Fri Aug 14 15:17:37 2015 +0200
Make fakeroot return file types from underly fs
Fakeroot does not support faking them anyway, and they may change on the
underlying fs, e.g. when creating a local socket.
* trans/fakeroot.c (netfs_validate_stat): Return S_IFMT part of st_mode as
provided by underlying filesystem.
commit 8d862231a0016dcf40f269e73d5b189606038490
Author: Justus Winter <address@hidden>
Date: Fri Aug 14 10:03:46 2015 +0200
libports: clarify why we emulate protected payloads
The Hurd uses protected payloads to improve the receiver lookup on the
server side to the point that we no longer do a hash table lookup in
the dispatch code.
If the kernel does not support protected payloads, we degrade
gracefully, do one lookup in libports' dispatching code, and emulate
the protected payload feature to still save one hash table lookup in
the intrans function.
* libports/manage-multithread.c (ports_manage_port_operations_multithread):
Add comment.
* libports/manage-one-thread.c (ports_manage_port_operations_one_thread):
Likewise.
commit 60d862ca1de4e5bd690dbc631bce15f08acffa13
Author: Justus Winter <address@hidden>
Date: Fri Aug 14 02:32:09 2015 +0200
pflocal: fix receiver lookup
* pflocal/mig-decls.h (begin_using_addr_payload): Use
`ports_lookup_payload'.
commit 5d1c6af9f59c7a768684a537fc32389be8cddeca
Author: Samuel Thibault <address@hidden>
Date: Sat Aug 8 14:09:44 2015 +0200
Print which path init tried to execv
* init/init.c (main): On execv failure, print which path failed.
commit 827915ca4a4d61ae5b50596e46f5aaf7d402a2c0
Author: Justus Winter <address@hidden>
Date: Sun Jul 12 14:46:50 2015 +0200
exec: fix setting the name of early servers
Previously, the exec server did not set the name of the servers
started before the proc server. Instead this was done by the startup
server, but this was merely a workaround, missing notably the startup
server itself.
* exec/exec.c (set_name): New function.
(do_exec): Move the code setting the name to a new function, and also
call it if the proc server is not started yet.
* startup/startup.c (run): Drop hack.
commit be0a34cf05c1bcbb119d91a74be44ee837861426
Author: Samuel Thibault <address@hidden>
Date: Sat Jul 4 23:29:46 2015 +0200
Do not keep mutex locked while waiting for authenticate loop
* libdiskfs/io-reauthenticate.c (diskfs_S_io_reauthenticate): Release the
node
lock while blocking on the auth server and client.
* libnetfs/io-reauthenticate.c (netfs_S_io_reauthenticate): Likewise.
* pfinet/io-ops.c (S_io_reauthenticate): Likewise.
commit 64f99d303557e991149bd2d4e6085e9f46efb3ef
Author: Justus Winter <address@hidden>
Date: Fri May 29 16:37:00 2015 +0200
utils/rpcscan: new utility
* utils/rpcscan.c: New file.
* utils/Makefile: Add `rpcscan'.
commit 74fb5209f06edcf0b52bdf44ba805cb5f6cd41c8
Author: Justus Winter <address@hidden>
Date: Sun May 31 00:26:40 2015 +0200
utils: split-off the message id parsing
* utils/rpctrace.c: Move all the code handling the message id files...
* utils/msgids.c: ... to a new file.
* utils/msgids.h: And add the relevand declarations.
* utils/Makefile (SRCS): Add the new file.
commit f57ed76faed9e9e922ba93dd3bf8740974eb718a
Author: Svante Signell <address@hidden>
Date: Wed Jun 17 00:12:49 2015 +0200
Cope with scripts which chmod -x directories
As well as other potential mode changes which are indeed supposed to still
work as root.
* trans/fakeroot.c (netfs_attempt_chmod): Always set S_IRUSR and S_IWUSR in
real_mode, and set S_IXUSR also when this is a directory.
commit f5bc22b18e3c3042dbf7e4ecc38e046b13a2a992
Author: Esa Peuha <address@hidden>
Date: Fri Jun 5 20:28:28 2015 +0530
Fix ps -o %r infinite loop
* libps/fmt.c (_fmt_create): When nothing at all was recognized, break out
instead of looping.
commit 921af9c9865a3f54c388b0836f20c9ae3b30b247
Author: Justus Winter <address@hidden>
Date: Fri Jun 5 18:31:57 2015 +0200
libdiskfs: do not print a message on ENOMEM
* libdiskfs/node-cache.c (diskfs_node_iterate): Do not print a message
on ENOMEM.
commit f397f7c9c2a864f6496732a1406ed1f546cf3ad6
Author: Diego Nieto Cid <address@hidden>
Date: Fri Jun 5 00:28:19 2015 -0300
Check AWK usability when XKB is enabled
* configure.ac: test whether AWK provides strtonum function.
commit db48e1651302797806f5656c856cf22e73761ea5
Author: Diego Nieto Cid <address@hidden>
Date: Thu Jun 4 22:58:10 2015 -0300
console-client: Fix lower range of binary search
To prevent infinite recursion range checking was introduced
as an exit condition adding two extra comparisons on each
recursive call.
By fixing the range used by the recursive call over the lower
half of the array one can avoid penalizing successful lookups
while still preventing infinite recursion due to `first`
parameter being greater than `last` parameter.
* console-client/xkb/kstoucs.c (find_ucs): don't remove middle from the
lower range. Remove extra comparisons.
commit ffea85471c65fd7758e159207ae7f7a089106644
Author: Diego Nieto Cid <address@hidden>
Date: Thu Jun 4 22:58:09 2015 -0300
console-client: assert precondition
* console-client/xkb/kstoucs.c (find_ucs): assert precondition.
commit 50da095243745f2e2a0c3f4805fe187a392832b7
Author: Justus Winter <address@hidden>
Date: Sat May 23 12:06:35 2015 +0200
utils/vmstat: fix integer overflow
Previously, the `vmstat' utility would stop displaying the memory
object hit ratio after some time due to an integer overflow.
* utils/vmstat.c (get_memobj_hit_ratio): Fix integer overflow.
commit d8a9c7d02629049bcd451d4d9b93fdfaa7c2c8fb
Author: Justus Winter <address@hidden>
Date: Sat May 23 12:04:36 2015 +0200
utils/rpctrace: fix build with -O0
* utils/Makefile: Link against `libshouldbeinlibc'.
commit 7410d78ed496c66a6c1d806360d1f83aa3321c01
Author: Justus Winter <address@hidden>
Date: Sat May 23 10:51:05 2015 +0200
console-client: fix binary search
Previously, the binary search through the keysym map was incorrectly
implemented. This resulted in infinite loops (thanks to the compilers
tail call optimization) or crashes (if the stack space was exhausted).
* console-client/xkb/kstoucs.c (find_ucs): Fix binary search.
commit 0df1499b87688d3e9ff6132617dac1631b7733f4
Author: Justus Winter <address@hidden>
Date: Sat May 23 10:42:36 2015 +0200
console-client: avoid nested function
* console-client/xkb/kstoucs.c (find_ucs): Previously, this function
was a nested function for no reason at all. Turn it into a normal
function.
commit 805d5bb95aacfaecde4d668beecff31570eaa2ca
Author: Justus Winter <address@hidden>
Date: Sat May 23 10:40:08 2015 +0200
console-client: fix build with -O0
* console-client/timer.h (fetch_jiffies): Make function `static inline'.
commit ef1312fb2e17d15d695dc29be9c3abc25584ba10
Author: Samuel Thibault <address@hidden>
Date: Sat May 23 02:18:03 2015 +0530
fakeroot: Fix reopening files after a chmod
Huge thanks to Svante Signell for having tracked the bug.
* trans/fakeroot.c (netfs_attempt_chmod): Make the file_chmod call
additionally include the modes from nn->openmodes.
commit 28d8dd078448af0f964bbdf408374c08ccbcc84a
Author: Samuel Thibault <address@hidden>
Date: Sat May 23 02:02:11 2015 +0530
Make comment clearer
* trans/fakeroot.c (check_openmodes): Make comment clearer about missing new
openmodes.
commit bc0163aaa19ba102da3f73f30ca3f4cc11ba7a9d
Author: Samuel Thibault <address@hidden>
Date: Sat May 23 00:33:04 2015 +0530
Make sure to record only RWX open modes
Thanks Svante Signell for the investigation and proposed patch.
* trans/fakeroot.c (new_node): Assert that `openmodes' includes only
O_RDWR|O_EXEC
(check_openmodes): Likewise with `newmodes'.
(netfs_S_dir_lookup): Keep only O_RDWR|O_EXEC from `flags' when calling
new_node.
commit 3ffb892a5db5ad64b87261fa01478401806894cf
Author: Justus Winter <address@hidden>
Date: Tue May 19 18:52:58 2015 +0200
fatfs: fix error handling
* fatfs/dir.c (diskfs_dirrewrite_hard): Fix error handling.
commit e840329de670757720cec729556b9b1f7d655ab5
Author: Justus Winter <address@hidden>
Date: Tue May 19 18:12:20 2015 +0200
libdiskfs: fix renaming of directories
Previously, file permissions and ownership of the target directory
were ignored when renaming a directory:
% mkdir a b
% chmod 555 a
% mv b a
% ls a
b
* libdiskfs/dir-renamed.c (diskfs_rename_dir): Fix error handling.
commit 09964a022f1c1e969d8258c7a38879b0fa983402
Author: Svante Signell <address@hidden>
Date: Thu May 14 01:36:15 2015 +0200
Fix creating named sockets inside fakeroot-hurd
* trans/fakeroot.c (netfs_set_translator): New function.
commit b497f1613187c142ad6d0b76761a49811c37da80
Author: Justus Winter <address@hidden>
Date: Thu Apr 16 16:12:05 2015 +0200
fatfs: port to libdiskfs' node cache
* fatfs/inode.c: Drop all cache-related code.
(diskfs_user_make_node): New function.
(diskfs_cached_lookup_in_dirbuf): Reimplement using the `lookup_context'.
(read_node): Rename to diskfs_user_read_node and adopt accordingly.
(diskfs_try_dropping_softrefs): Rename to
`diskfs_user_try_dropping_softrefs'.
(diskfs_node_reload): Pass context to `diskfs_user_read_node'.
(diskfs_alloc_node): Pass `dir' via context to `diskfs_user_read_node'.
* fatfs/fatfs.h (struct disknode): Drop fields `hnext', `hprevp'.
(struct lookup_context): New definition.
(ifind): Drop declaration.
* fatfs/dir.c (diskfs_lookup_hard): Adjust accordingly.
* fatfs/main.c (fetch_root): Likewise.
commit 4266bb02b1f3342d3fc4920c07c71592a14acdd9
Author: Justus Winter <address@hidden>
Date: Wed Apr 15 16:26:31 2015 +0200
isofs: port to libdiskfs' node cache
* isofs/inode.c: Drop all cache-related code.
(diskfs_user_make_node): New function.
(calculate_file_start): Check for `record' being null.
(cache_id): New function.
(read_node): Rename to diskfs_user_read_node and adopt accordingly.
(diskfs_try_dropping_softrefs): Rename to diskfs_user_try_dropping_softrefs.
* isofs/isofs.h (struct lookup_context): New definition.
(cache_id): New declaration.
* isofs/lookup.c (diskfs_lookup_hard): Adjust accordingly.
* isofs/main.c (fetch_root): Likewise.
commit c234e34ad80801acd902c6d4892a7722fd084a87
Author: Justus Winter <address@hidden>
Date: Wed Apr 15 13:17:06 2015 +0200
libdiskfs: implement a node cache
Previously, all users of libdiskfs implemented a node cache on their
own. Move the node cache from ext2fs into libdiskfs. We preserve the
previous API by marking all functions that we pull from ext2fs as
weak, so that users like tmpfs can still implement their own node
cache.
* ext2fs/dir.c (diskfs_lookup_hard): Adjust accordingly.
* ext2fs/ext2fs.c (main): Don't call `inode_init'.
* ext2fs/ext2fs.h (struct disknode): Drop `hnext', `hprevp'.
* ext2fs/inode.c: Move the node cache into diskfs.
(diskfs_user_make_node): New function.
(diskfs_try_dropping_softrefs): Rename to
`diskfs_user_try_dropping_softrefs'.
(read_node): Rename to `diskfs_user_read_node'. Also move a chunk of
code dealing with generations from `diskfs_cached_lookup' here.
* libdiskfs/Makefile (OTHERSRCS): Add `node-cache.c'.
* libdiskfs/diskfs.h (struct node): Add `hnext', `hprevp'.
Amend existing comments, add forward declarations.
* libdiskfs/node-cache.c: New file.
commit bf06e6535f7e00a3711978fa7835a3394b82b547
Author: Justus Winter <address@hidden>
Date: Tue Apr 14 22:37:31 2015 +0200
ext2fs: use fat nodes
Use `diskfs_make_node_alloc' to allocate both the node and the
disknode in a continuous chunk of memory. This increases locality and
reduces the pressure on the memory allocator.
* ext2fs/inode.c: Use `diskfs_node_disknode' to access the disknode.
(diskfs_cached_lookup): Use `diskfs_make_node_alloc' to allocate the
node.
(diskfs_node_norefs): Only free `np'.
* ext2fs/dir.c: Use `diskfs_node_disknode' to access the disknode.
* ext2fs/ext2fs.h: Likewise.
* ext2fs/getblk.c: Likewise.
* ext2fs/ialloc.c: Likewise.
* ext2fs/pager.c: Likewise.
* ext2fs/truncate.c: Likewise.
commit e00a105ff35ee53bfd6caeb6f29c47d8ed7cf3ab
Author: Justus Winter <address@hidden>
Date: Fri Apr 17 17:44:07 2015 +0200
libdiskfs: declare all inline functions as `extern inline'
* libdiskfs/diskfs.h (diskfs_node_disknode, diskfs_disknode_node):
Declare functions as `extern inline' so that we can use them in other
functions declared as `extern inline'.
commit 499bcd54f132464fcec55583fcf433fbe6ce4e3b
Author: Justus Winter <address@hidden>
Date: Tue Apr 14 21:24:48 2015 +0200
libdiskfs: fix node initialization
* libdiskfs/node-make.c (init_node): Initialize flag `author_tracks_uid'.
commit 6d9601c56f2dd29cfbcf8dee30a2fff24a39df17
Author: Justus Winter <address@hidden>
Date: Tue Apr 14 21:18:31 2015 +0200
libdiskfs: drop unused fields from struct node
* libdiskfs/diskfs.h (struct node): Drop unused fields from struct
node.
commit cfe76b64ba01edcac75f751aba1766ade2e54c7d
Author: Justus Winter <address@hidden>
Date: Tue Apr 14 21:17:19 2015 +0200
libdiskfs: make struct node more compact
* libdiskfs/diskfs.h (struct node): Turn flags into a bit field.
commit c16eed2cb64089bf7d958db0fe85352f4ceefb4d
Author: Justus Winter <address@hidden>
Date: Wed May 14 11:19:35 2014 +0200
libdiskfs: lock-less reference counting of nodes
* libdiskfs/diskfs.h (struct node): Use refcounts_t for reference counting.
(diskfs_node_refcnt_lock): Remove.
(diskfs_node_norefs,diskfs_drop_node): Change comments accordingly.
* libdiskfs/init-init.c: Adjust accordingly.
* libdiskfs/node-drop.c: Likewise.
* libdiskfs/node-make.c: Likewise.
* libdiskfs/node-nput.c: Likewise.
* libdiskfs/node-nputl.c: Likewise.
* libdiskfs/node-nref.c: Likewise.
* libdiskfs/node-nrefl.c: Likewise.
* libdiskfs/node-nrele.c: Likewise.
* libdiskfs/node-nrelel.c: Likewise.
* ext2fs/inode.c: Likewise.
* fatfs/inode.c: Likewise.
* isofs/inode.c: Likewise.
* tmpfs/node.c: Likewise.
* doc/hurd.texi: Likewise.
commit 8c050fb080c6e1981dc8e5a97a2313cd24e9b4b4
Author: Justus Winter <address@hidden>
Date: Tue May 13 15:35:42 2014 +0200
tmpfs: use a seperate lock to protect all_nodes
Previously, tmpfs used diskfs_node_refcnt_lock to serialize access to
the all_nodes and some other related global state related to memory
consumption.
Use a separate lock to protect all_nodes, and atomic operations to
access the state related to memory consumption. Adjust the reference
counting accordingly. Every node in the all_nodes carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock momentarily to check whether someone else
reacquired a reference through the all_nodes.
* tmpfs/tmpfs.h (num_files, tmpfs_space_used): Use atomic operations
for these variables.
(adjust_used): Use atomic operations.
(get_used): New convenience function to atomically retrieve
tmpfs_space_used.
* tmpfs/node.c (all_nodes_lock): New lock.
(diskfs_alloc_node): Use a separate lock to protect all_nodes.
Adjust the reference counting accordingly.
(diskfs_free_node): Likewise.
(diskfs_cached_lookup):Likewise.
(diskfs_node_iterate): Likewise.
(diskfs_node_norefs): Do not remove the node from all_nodes. This
actually looks like a mistake, I do not know why they did that here as
well as in diskfs_free_node.
(diskfs_try_dropping_softrefs): Check whether someone reacquired a
reference, and if so hold on to our light reference.
(diskfs_grow): Use atomic operations.
* tmpfs/tmpfs.c (diskfs_set_statfs): Likewise.
commit f4823c00581eb91e5b42169405e641463256bbfa
Author: Justus Winter <address@hidden>
Date: Tue May 13 15:16:31 2014 +0200
isofs: use a seperate lock to protect node_cache
Previously, isofs used diskfs_node_refcnt_lock to serialize access to
the node_cache.
Use a separate lock to protect node_cache. Adjust the reference
counting accordingly. Every node in the node_cache carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock momentarily to check whether someone else
reacquired a reference through the node_cache.
* isofs/inode.c (nodecache_lock): New lock.
(inode_cache_find): Use a separate lock to protect node_cache.
Adjust the reference counting accordingly.
(diskfs_cached_lookup): Likewise.
(load_inode): Likewise.
(cache_inode): Update comment accordingly.
(diskfs_node_iterate): Likewise.
(diskfs_node_norefs): Move the code removing the node from node_cache...
(diskfs_try_dropping_softrefs): ... here, where we check whether
someone reacquired a reference, and if so hold on to our light
reference.
commit e17366f09a6003dcc95633ce312aa3753f056e28
Author: Justus Winter <address@hidden>
Date: Tue May 13 15:14:53 2014 +0200
fatfs: use a seperate lock to protect nodehash
Previously, fatfs used diskfs_node_refcnt_lock to serialize access to
the nodehash.
Use a separate lock to protect nodehash. Adjust the reference
counting accordingly. Every node in the nodehash carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock momentarily to check whether someone else
reacquired a reference through the nodehash.
* fatfs/inode.c (nodecache_lock): New lock.
(diskfs_cached_lookup): Use a separate lock to protect nodehash.
Adjust the reference counting accordingly.
(ifind): Likewise.
(diskfs_node_iterate): Likewise.
(diskfs_node_norefs): Move the code removing the node from nodehash...
(diskfs_try_dropping_softrefs): ... here, where we check whether
someone reacquired a reference, and if so hold on to our light
reference.
commit 4166312a45357c2ff11b00219dfb83b7475ac4b1
Author: Justus Winter <address@hidden>
Date: Tue May 13 13:09:15 2014 +0200
ext2fs: use a seperate lock to protect nodehash
Previously, ext2fs used diskfs_node_refcnt_lock to serialize access to
the nodehash.
Use a separate lock to protect nodehash. Adjust the reference
counting accordingly. Every node in the nodehash carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock momentarily to check whether someone else
reacquired a reference through the nodehash.
* ext2fs/inode.c (nodecache_lock): New lock.
(diskfs_cached_lookup): Use a separate lock to protect nodehash.
Adjust the reference counting accordingly.
(ifind): Likewise.
(diskfs_node_iterate): Likewise.
(diskfs_node_norefs): Move the code removing the node from nodehash...
(diskfs_try_dropping_softrefs): ... here, where we check whether
someone reacquired a reference, and if so hold on to our light
reference.
commit b8ffab7c38f3ede424b8a07553d6ee6b16abb85b
Author: Thomas Schwinge <address@hidden>
Date: Fri Apr 10 13:04:33 2015 +0200
GNU Hurd 0.6.
* configure.ac (AC_INIT): Set version to 0.6.
* NEWS: Finalize for 0.6.
commit 7940555177699048a111043d22b00969445cba80
Author: Justus Winter <address@hidden>
Date: Wed Apr 8 00:19:05 2015 +0200
NEWS: mention that the init server has been split
* NEWS: Mention that the init server has been split into the startup
server and the init server.
commit 626596bcb027313f39069be94f85f3f523feb365
Author: Justus Winter <address@hidden>
Date: Tue Apr 7 14:45:26 2015 +0200
procfs: fix runtime option parsing
* procfs/main.c (netfs_runtime_argp): Actually use the runtime option
parser.
commit 4241dd5673566a61add85bd9eb52d4ae7db2750a
Author: Justus Winter <address@hidden>
Date: Sat Nov 23 16:12:55 2013 +0100
libports: use protected payloads to optimize the object lookup
* NEWS: Mention protected payloads.
* libports/Makefile (SRCS): Add `port-deref-deferred.c'.
* libports/create-internal.c (_ports_create_port_internal): Set the
protected payload to the objects address.
* libports/import-port.c (ports_import_port): Likewise.
* libports/reallocate-from-external.c (ports_reallocate_from_external):
Likewise.
* libports/reallocate-port.c (ports_reallocate_port): Likewise.
* libports/transfer-right.c (ports_transfer_right): Likewise.
* libports/manage-multithread.c (ports_manage_port_operations_multithread):
Use the protected payload for the object lookup if provided. Add
thread pool management calls.
* libports/manage-one-thread.c (ports_manage_port_operations_one_thread):
Likewise.
* libports/destroy-right.c (ports_destroy_right): Defer the
dereferencing of outstanding send rights to avoid a port_info
use-after-free.
* libports/port-deref-deferred.c: New file.
* libports/port-deref-deferred.h: Likewise.
* libports/ports.h (struct port_bucket): New field `threadpool'.
(ports_lookup_payload): Check `port_right'.
commit 785f4aea18b5705e63609001d2aa12871a774804
Author: Justus Winter <address@hidden>
Date: Tue Apr 7 12:53:03 2015 +0200
procfs: fix argument parsing
* procfs/main.c (argp_parser): Fix argument parsing.
commit d293e13f756d44cad5a36c15e6f54ae0b6b71c81
Author: Samuel Thibault <address@hidden>
Date: Thu Mar 5 01:57:25 2015 +0100
Fix space style
commit fb8c531ddeef55c8581d3882bd1b1f501d980a30
Author: Justus Winter <address@hidden>
Date: Mon Dec 15 11:53:26 2014 +0100
libports: avoid acquiring global lock in message dispatch
* libports/interrupt-operation.c (ports_S_interrupt_operation): Update
`cancel_threshold' using atomic operations.
* libports/manage-multithread.c (internal_demuxer): Avoid taking the lock.
* libports/ports.h (struct port_info): Mention that one needs atomic
operations to access `cancel_threshold'.
commit eceeaeb5a2d40875fd432148b9cf26b41497811d
Author: Justus Winter <address@hidden>
Date: Sat Feb 14 00:00:24 2015 +0100
TODO: drop obsolete item
* TODO (libpager): Drop item trying to prevent thread storms. We
dealt with that in a much nicer way. Nowadays we use a fixed number
of threads in libpager.
commit e04b779d1cf875010befd37f1a0b86e132d077a6
Author: Justus Winter <address@hidden>
Date: Sun Feb 8 01:32:33 2015 +0100
startup: add more error handling
* startup/startup.c (launch_core_servers): Add more error handling.
commit f8163aefa589a91ef9f31da2aafe1eb326a7d9b0
Author: Samuel Thibault <address@hidden>
Date: Mon Feb 2 11:17:13 2015 +0100
Explicit the keymap compatibility flags
Since "default" is not provided any more by xkb
* console-client/xkb/xkb-data/keymap/hurd: Replace "default"
xkb_compatibility by
"basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" for all
keymaps.
commit 2be6756dbbdd400b1734ee014aa1518201271482
Author: Samuel Thibault <address@hidden>
Date: Mon Feb 2 11:10:48 2015 +0100
Allow dhcp trafic and configuration
2007-10-14 Christian Dietrich <address@hidden>
* options.c (options): Marked -a, -g -m, -p, -A, -G
OPTION_ARG_OPTIONAL.
(parse_interface_copy_device): New function.
(parse_opt): When selecting another interface with -i
set the options from e.g. a prior fsysopts call as default
values. For -a, -g, -p, -g, -A, -G set the optional
argument as value. When there is no argument, delete the
value (e.g. unset default gateway). Delete delete default gateways
only if the set gateway is on an interface modified in this call.
Add always an route for dhcp packages on all devices. By doing
this we can send dhcp renew packages.
(trivfs_append_args): Add --gateway only once.
2007-10-14 Marco Gerards <address@hidden>
* options.c (parse_opt): Add the route for `0.0.0.0' so broadcasting
works.
* linux-src/net/ipv4/devinet.c (inet_insert_ifa) [_HURD_]: Don't
fail when the address is `0.0.0.0'.
commit af81a0728e712fb3d4bec3a0ecfc7dff7fff40b8
Author: Samuel Thibault <address@hidden>
Date: Mon Feb 2 10:55:58 2015 +0100
Remove unimplemented -s option
* pfinet/options.c (options): Remove 's' case.
commit ccee70dd9fc20a5b39c59b0a7dc8c72e2536ede9
Author: Justus Winter <address@hidden>
Date: Tue Jan 20 20:10:08 2015 +0100
utils/rpctrace: fix notification port handling
* utils/rpctrace.c (new_receiver_info): Fix handling of old
notification port.
commit 508221b49ae825501882e228b18e4586e59e88b0
Author: Justus Winter <address@hidden>
Date: Tue Jan 20 20:01:43 2015 +0100
console: fix error and notification port handling
This fixes a deallocation of an invalid port notably seen on system
shutdown.
* console/display.c (free_modreqs): Handle errors of
`mach_port_request_notification' and check whether the old
notification port was valid.
(do_mach_notify_msg_accepted): Likewise.
(display_notice_filechange): Likewise.
commit 1ad178fd00b675d686c2560829e9a10c5cb44f6f
Author: Justus Winter <address@hidden>
Date: Wed Jan 7 16:05:48 2015 +0100
proc: call `startup_essential_task' earlier
Previously, the proc server did not call `startup_essential_task'
until it got the message port of the startup server using
`proc_setmsgport'.
Now that we have `/servers/startup', we can do this in main, before we
start our message service loop.
A complication arises because the traditional startup server is
single-threaded. Handle this by tweaking startup not to bind itself
to `/servers/startup' before it is ready.
* proc/main.c (main): Try to lookup `/servers/startup' and send the
message here, or...
* proc/msg.c (S_proc_setmsgport): ... fall back to the old way here.
* proc/proc.h (startup_fallback): New variable.
* startup/startup.c (main): Move code installing ourself on
`/servers/startup'
(install_as_translator): ... here.
(launch_core_servers): And use it here, just before we reply to
`/hurd/auth'.
commit 40b354e4cc67f1fedf9d4c2ce8d050a9ac68a643
Author: Justus Winter <address@hidden>
Date: Wed Jan 7 16:00:06 2015 +0100
auth: remove implicit assumption about the bootstrap process
The current code assumes that it can speak the startup protocol over
its bootstrap port.
* auth/auth.c (main): Generalize by trying to use `/servers/startup'
before falling back to the bootstrap port.
commit 2d371a0b01054843f294a6c5ff401bd2093604a4
Author: Justus Winter <address@hidden>
Date: Fri Jan 2 21:53:08 2015 +0100
auth: simplify expression
* auth/auth.c (S_auth_{user,server}_authenticate): Simplify expression.
commit 361c586e263ebf4a0531045029c3cf076dbcb847
Author: Justus Winter <address@hidden>
Date: Fri Jan 9 11:06:52 2015 +0100
startup: give the tasks we create a name
* startup/startup.c (run): Name the tasks we start.
commit 1901e7aa92ccd021d73f32aa97661428d7142cd4
Author: Justus Winter <address@hidden>
Date: Sat Jan 3 16:21:24 2015 +0100
libports: silence pointless error message
* libports/manage-multithread.c (adjust_priority): Silence pointless
error message.
commit e2b1c5c20ff1ac0017e7ac8ef853ce3326210077
Author: Justus Winter <address@hidden>
Date: Fri Jan 16 10:10:42 2015 +0100
libdiskfs: fix port leak
* libdiskfs/boot-start.c (get_console): Deallocate `device_master'.
commit 106287af864c01f20c12d1a0a78a2469a27adc03
Author: Justus Winter <address@hidden>
Date: Sat Jan 17 14:23:34 2015 +0100
libfshelp: improve error handling
* libfshelp/start-translator-long.c (fshelp_start_translator_long):
Once we have a task, go to `lose_task' so that we do not leave hosed
tasks around.
commit c0c69366ce4717fb8c5db370ac42ab787782e28c
Author: Justus Winter <address@hidden>
Date: Sun Jan 4 13:31:49 2015 +0100
random: fix typo
* random/gnupg-random.c (read_pool): Fix typo in comment.
commit 87fad50310f2bd0dcc990e80e23b09768918cf5b
Author: Samuel Thibault <address@hidden>
Date: Sat Jan 3 17:44:01 2015 +0100
Backport Linux changes for proper TCP EOF handling
Notably when remote eagerly sends a RST: we want to return EOF to the
application, not EPIPE.
* pfinet/linux-src/net/ipv4/tcp_output.c (tcp_connect): Set sk->done to 0.
* pfinet/linux-src/net/ipv4/tcp_input.c (tcp_fin): Set RCV_SHUTDOWN, and
sk->done to 1.
* pfinet/linux-src/net/ipv4/tcp.c (tcp_recv_urg): Only return ENOTCONN when
we never actually connect. Always return 0 when reception is closed.
(tcp_recvmsg): When any data is available, ignore errors and EOF. When no
data is available, first check for reception being closed, then for errors.
commit 29a30c44bb8cecb341df211bcb3b330f515c9003
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:12 2015 +0100
procfs: Fix typos in comments (found by codespell)
Signed-off-by: Stefan Weil <address@hidden>
commit c7441b5eb9bd4327845a1704e07903bacff08962
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:11 2015 +0100
libshouldbeinlibc: Fix typo in local variable name
Signed-off-by: Stefan Weil <address@hidden>
commit bd1d3a48415cb6a7c24c45a899ce38b3ce34956d
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:09 2015 +0100
misc: Fix typos in comments (found by codespell)
Signed-off-by: Stefan Weil <address@hidden>
commit 695e606f7fd8940c2b260670a89ae2a6cc82b9f4
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:08 2015 +0100
console: Fix typos in comments
Signed-off-by: Stefan Weil <address@hidden>
commit d7fa37dd8e08a6179c97b3cdeea2405016304272
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:07 2015 +0100
console-client: Fix typos in comments
Signed-off-by: Stefan Weil <address@hidden>
commit 795d45e2a4ab58dd169e1febfd82b8e3b4601d9e
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:06 2015 +0100
aclocal.m4, configure.ac: Fix typos and grammar in comment (found by
codespell)
Signed-off-by: Stefan Weil <address@hidden>
commit 8f5e94f48e7668e3c5dcaa1cde1b8f591c05bb58
Author: Stefan Weil <address@hidden>
Date: Sat Jan 3 10:16:10 2015 +0100
lib*: Fix typos in comments (found by codespell)
Signed-off-by: Stefan Weil <address@hidden>
commit 2a340dd3310d0f67a48d6057214e54416d173265
Author: Samuel Thibault <address@hidden>
Date: Fri Dec 26 14:23:10 2014 +0100
Revert "Make sure to free content dir in procfs"
This reverts commit 5fe615a4d66f4dea48812ed9e4f250010a8f9298.
commit 5fe615a4d66f4dea48812ed9e4f250010a8f9298
Author: Lancelot SIX <address@hidden>
Date: Thu Dec 25 22:01:53 2014 +0100
Make sure to free content dir in procfs
In procfs/netfs.c:netfs_get_dirents, make sure to free the memory
allocated with the "get_contents" callback of nodes.
commit 8e3c26e98bcf30dd73a8c64bb9aab08e2f32c1f8
Author: Samuel Thibault <address@hidden>
Date: Fri Dec 19 00:12:07 2014 +0100
Avoid ./ components in mtab output
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Match "." path as being the
root directory.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Likewise.
commit 89c2cbb53b8ad14ae9d5d06ec230a696bea4a6ba
Author: Justus Winter <address@hidden>
Date: Fri Dec 12 17:09:07 2014 +0100
hurd: make the protected payload changes less intrusive
The changes to `hurd_types.defs' caused the glibc build to fail.
Guard the problematic parts with `HURD_SERVER' similar how it is done
in GNU Mach.
* Makeconf: Define `HURD_SERVER' when preprocessing the RPC
definitions for the server side.
* hurd/hurd_types.defs: Guard problematic parts with `HURD_SERVER'.
commit b541a7c513aafa636a8ce0903aab4b72504bc0ed
Author: Samuel Thibault <address@hidden>
Date: Thu Dec 11 18:47:09 2014 +0100
Fix inclusion loop between hurd_types.defs and hurd/signal.h>
* boot/Makefile (MIGSFLAGS): Add -DHURD_DEFAULT_PAYLOAD_TO_PORT=1.
* mach-defpager/Makefile (MIGSFLAGS): Likewise.
* hurd/hurd_types.defs: Do not include <hurd/ports.h>.
commit 82a87d043498eeacb7e4f3edc85d1b7c424ea853
Author: Justus Winter <address@hidden>
Date: Tue Dec 2 00:20:51 2014 +0100
Replace `bcopy' with `memcpy' or `memmove' as appropriate
* ext2fs/inode.c: Replace `bcopy' with `memcpy' or `memmove' as
appropriate.
* ext2fs/pager.c: Likewise.
* isofs/lookup.c: Likewise.
* isofs/main.c: Likewise.
* isofs/rr.c: Likewise.
* libdiskfs/file-get-trans.c: Likewise.
* libiohelp/return-buffer.c: Likewise.
* libpager/pagemap.c: Likewise.
* libpipe/pq.c: Likewise.
* libpipe/pq.h: Likewise.
* libstore/unzipstore.c: Likewise.
* mach-defpager/default_pager.c: Likewise.
* pfinet/ethernet.c: Likewise.
* pfinet/tunnel.c: Likewise.
* storeio/dev.c: Likewise.
commit 0a4ada8d40fb687a659161ff7e0d1d0994264402
Author: Justus Winter <address@hidden>
Date: Mon Dec 1 23:55:25 2014 +0100
Replace `bzero' with `memset'
For reference, this patch was created using the following semantic
patch, and then manually applying the change in all functions
containing nested functions, as those are not supported by Coccinelle.
@@
expression A, B;
@@
- bzero (A, B)
+ memset (A, 0, B)
* auth/auth.c: Replace `bzero' with `memset'.
* boot/boot.c: Likewise.
* defpager/defpager.c: Likewise.
* exec/exec.c: Likewise. Also, drop `safe_bzero' and just use
`hurd_safe_memset' directly.
* ext2fs/ext2fs.c: Likewise.
* ext2fs/getblk.c: Likewise.
* ext2fs/pager.c: Likewise.
* fatfs/pager.c: Likewise.
* ftpfs/dir.c: Likewise.
* ftpfs/netfs.c: Likewise.
* isofs/inode.c: Likewise.
* isofs/pager.c: Likewise.
* libdiskfs/file-getfh.c: Likewise.
* libdiskfs/file-statfs.c: Likewise.
* libfshelp/fetch-root.c: Likewise.
* libfshelp/start-translator.c: Likewise.
* libftpconn/create.c: Likewise.
* libftpconn/open.c: Likewise.
* libftpconn/unix.c: Likewise.
* libpipe/pipe.c: Likewise.
* libps/procstat.c: Likewise.
* libps/spec.c: Likewise.
* libshouldbeinlibc/cacheq.c: Likewise.
* libshouldbeinlibc/idvec.c: Likewise.
* libshouldbeinlibc/ugids.c: Likewise.
* libstore/argp.c: Likewise.
* libstore/enc.c: Likewise.
* libstore/kids.c: Likewise.
* libthreads/alpha/thread.c: Likewise.
* libtreefs/fsys.c: Likewise.
* libtrivfs/file-statfs.c: Likewise.
* mach-defpager/default_pager.c: Likewise.
* pfinet/glue-include/asm/uaccess.h: Likewise.
* pfinet/io-ops.c: Likewise.
* pfinet/options.c: Likewise.
* pfinet/socket.c: Likewise.
* pfinet/timer-emul.c: Likewise.
* pflocal/io.c: Likewise.
* startup/startup.c: Likewise.
* storeio/storeio.c: Likewise.
* sutils/fstab.c: Likewise.
* usermux/usermux.c: Likewise.
* utils/fakeauth.c: Likewise.
* utils/frobauth.c: Likewise.
* utils/login.c: Likewise.
* utils/x.c: Likewise.
commit 51c2bd7408b0a4ee73ecd1928d4c17d4fafb1ec2
Author: Justus Winter <address@hidden>
Date: Mon Dec 8 12:53:06 2014 +0100
ext2fs: tune the size of the inode cache
The node cache uses a fixed number of buckets giving it a linear
access complexity, although with a small constant factor. Paper over
this issue by increasing the number of buckets.
* ext2fs/inode.c (INOHSZ): Increase from 512 to 8192 entries.
commit 6a2dec41b11492b3d6295e9546934f3cf10e6e74
Author: Justus Winter <address@hidden>
Date: Sun Dec 7 17:57:14 2014 +0100
libpager: use libports notification functions
Now that we do not use sequence numbers anymore, we can simply use
libports notification server functions.
* libpager/Makefile (SRCS): Drop `no-senders.c', and `notify-stubs.c'.
(OBJS): Drop `notifyServer.o'.
* libpager/demuxer.c (pager_demuxer): Use libports server functions.
* libpager/mig-mutate.h: Drop all notification mutators.
* libpager/no-senders.c: Remove file.
* libpager/notify-stubs.c: Likewise.
commit f878de5006045c849415afffaffc909458b5f6de
Author: Justus Winter <address@hidden>
Date: Sun Dec 7 17:22:31 2014 +0100
libpager: remove the `seqno' parameters
* libpager/Makefile (MIGSFLAGS): Drop `-DSEQNOS'.
* libpager/priv.h (struct pager): Drop fields `seqno' and `waitingforseqno'.
* libpager/chg-compl.c: Adopt accordingly.
* libpager/data-request.c: Likewise.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/demuxer.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/no-senders.c: Likewise.
* libpager/notify-stubs.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/pager-create.c: Likewise.
* libpager/stubs.c: Likewise.
commit 808073c49814b415b7ad6226a3e8c95bb1dbc277
Author: Justus Winter <address@hidden>
Date: Wed Nov 12 15:30:18 2014 +0100
hurd: add `proc_make_task_namespace'
Add a new RPC to the process protocol to create task namespaces.
These can be used by an unprivileged process to claims the
responsibility to manage all tasks in this namespace. Any task
created in this namespace will automatically be declared a child of
the root process, and a `mach_notify_new_task' message is sent to a
given port. If the root process dies, the proc server will terminate
all tasks in the namespace.
* hurd/process.defs (proc_make_task_namespace): New RPC.
commit d14748b5888d697583b6dc9df2feed1f09f92a4c
Author: Justus Winter <address@hidden>
Date: Tue Nov 11 21:23:42 2014 +0100
proc: implement `proc_make_task_namespace'
* proc/proc.h (struct proc): Add field `p_task_namespace'.
* proc/mgt.c (S_proc_child): Propagate `p_task_namespace' to child.
(allocate_proc): Initialize `p_task_namespace'.
(namespace_terminate): New function.
(process_has_exited): Reparent children of dead tasks in the namespace
to the root process. Terminate all tasks if the root process dies.
Reap dead tasks.
(S_mach_notify_new_task): For newly created tasks thats parent is in a
namespace, call S_proc_child and forward the `mach_notify_new_task'
message.
(S_proc_make_task_namespace): New function.
commit 46b2c2b071f31893c9ce9548537e34747b2941d6
Author: Justus Winter <address@hidden>
Date: Mon Sep 16 16:09:05 2013 +0200
proc: register for new task notifications
* proc/Makefile (MIGSTUBS): Add `gnumachServer.o'.
* proc/main.c (message_demuxer): Handle the `task_notify' protocol.
(main): Register for new task notificatinos.
* proc/mgt.c (S_mach_notify_new_task): Add server function.
commit 09ff61acc11cd495af5f4cba1f9a1f850c6745c9
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 11:47:09 2014 +0100
Makeconf: handle the task_notify protocol
* Makeconf (mach_defs_names): Add `task_notify'.
commit dd0317e49cf33671da3d6b1b17b12f7fa097756e
Author: Samuel Thibault <address@hidden>
Date: Wed Dec 10 01:18:07 2014 +0100
fakeroot: Fix initializing default faked field of nodes
* trans/fakeroot.c (new_node): Initialize faked field to FAKE_DEFAULT.
commit 6d9b349c4054b5998eea421823f97fb801ff8d75
Author: David Michael <address@hidden>
Date: Sun Dec 7 23:21:16 2014 -0500
include: don't install nonexistent refcount.h
* include/Makefile (installhdrs): Remove refcount.h.
commit 7f68a98c5cad19350f53b00203465c72641b8f58
Author: Samuel Thibault <address@hidden>
Date: Tue Dec 9 01:36:34 2014 +0100
Fix mode of nodes created with mkfile
Their faked field was not initialized.
Thanks a lot to Svante Signell for the investigation
* trans/fakeroot.c (new_node): Initialize faked field of nn to 0.
(netfs_attempt_mkfile): Call set_default_attributes on newly-allocated node,
and if the real mode is not the same as the requested mode, fake the mode.
commit ac30e16e8185883af52b4f45aad9f7a61e5c9911
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 10:24:26 2013 +0100
hurd: add intranpayload functions to all hurd types
For each hurd type defined in hurd_types.h, add a intranpayload
function. If an X_INTRAN mutation is defined for a type, a
corresponding X_INTRAN_PAYLOAD has to be defined. If no X_INTRAN
mutation is defined, use ports_payload_get_name as intranpayload
function, turning the payload back into an port name.
* hurd/hurd_types.defs: Add intranpayload functions.
* hurd/term.defs: Likewise.
* hurd/default_pager.defs: Include `hurd_types.defs' for
`MACH_PAYLOAD_TO_PORT'.
commit 02ae7e436efa33b11227c251eb9bb3a036082fe1
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 12:21:49 2013 +0100
utils/rpctrace: make `trace_and_forward' payload-aware
As the protected payloads were retrofitted into the Mach message
format, the local port type is lost.
* utils/rpctrace.c (is_notification): New function
(trace_and_forward): Recover the original local port type.
commit 2e43e93b78786c42828867057818888c306ded1f
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 21:00:48 2013 +0100
trans/symlink: disable default payload to port mapping
`fsysServer' is only used by the symlink translator which does not use
libports. Therefor, it is not necessary to use the default payload to
port translation function.
* trans/Makefile (fsys-MIGSFLAGS): Disable the default payload to port
translation function.
commit b0ed6c9379dc680047def564fbc0ba04dff8d50b
Author: Justus Winter <address@hidden>
Date: Fri Nov 21 05:29:36 2014 +0100
trans/streamio: make the translator payload-aware
* trans/Makefile (device_reply-MIGSFLAGS): Define MACH_PAYLOAD_TO_PORT.
commit f7947d4018ec2bc7348beaa8d58139b4406471ca
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 16:51:42 2013 +0100
trans/password: add a payload-aware intrans function
* trans/Makefile (password-MIGSFLAGS): Add mutator.
commit 28a16dd74e9f3a81a5e2a96a54b0faf06dd0687f
Author: Justus Winter <address@hidden>
Date: Sun Apr 13 17:08:38 2014 +0200
trans/ifsock: add a payload-aware intrans function
* trans/Makefile (ifsock-MIGSFLAGS): Add mutator.
commit ecb7f7c08ecc57863e606c553d7ea3477e6d2126
Author: Justus Winter <address@hidden>
Date: Sun Nov 23 19:24:49 2014 +0100
trans/fakeroot: make the demuxer payload-aware
* trans/fakeroot.c (netfs_demuxer): Make the demuxer payload-aware.
commit 73624addcafebb767622cfd086ef7a7ebe67761b
Author: Justus Winter <address@hidden>
Date: Mon Apr 14 14:21:16 2014 +0200
term: add a payload-aware intrans function
* term/mig-mutate.h: Add mutator.
commit 45f735576a92bf50b431f28425e0b4b4a8da8ec6
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 20:57:40 2013 +0100
startup: disable default payload to port mapping
startup does not use libports. Therefor, it is not necessary to use the
default payload to port translation function.
* startup/Makefile (MIGSFLAGS): Disable the default payload to port
translation function.
commit 07db92f65a7b49f97bc43ed94ff02586b75e21c6
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 10:31:08 2013 +0100
proc: add payload-aware intrans functions
* proc/mig-decls.h (begin_using_proc_payload): New function.
(begin_using_exc_payload): Likewise.
* proc/mig-mutate.h: Add mutators.
* proc/proc_exc.defs (exception_t): Add payload-aware in-translator
function.
commit ab741d845af6fac6313ed40b8f2ae148d96aa716
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 11:13:29 2013 +0100
pflocal: add payload-aware intrans functions
* pflocal/mig-mutate.h: Add mutators.
* pflocal/mig-decls.c (begin_using_sock_user_payload): New function.
(begin_using_addr_payload): Likewise.
commit 2514b693920124eb47eb48f50f07b179bc5090e9
Author: Justus Winter <address@hidden>
Date: Sun Apr 13 14:03:48 2014 +0200
pfinet: make the demuxers payload-aware
* pfinet/ethernet.c (ethernet_demuxer): Make the demuxer payload-aware.
* pfinet/main.c (pfinet_demuxer): Likewise.
commit df8605b39f109362e86b0ebf6b8cf79fd1b2f3fd
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 11:10:20 2013 +0100
pfinet: add payload-aware intrans functions
* pfinet/mig-mutate.h: Add mutators.
* pfinet/mig-decls.h (begin_using_socket_payload): New function.
(begin_using_sockaddr_payload): Likewise.
commit b6079b096eef4b7b347c85184592584c7ec4a022
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 11:08:39 2013 +0100
exec: add payload-aware intrans functions
* exec/execmutations.h: Add mutators.
* exec/mig-decls.h (begin_using_bootinfo_payload): New function.
commit b11b002e1f08ad44273e9b139fab195e56bf6b6b
Author: Justus Winter <address@hidden>
Date: Fri Apr 4 16:53:25 2014 +0200
console-client: make the demuxer payload-aware
* console-client/trans.c (console_demuxer): make the demuxer payload-aware.
commit 4191267e600e4ff1d54cf42baa2b3a0c9a842844
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 10:40:56 2013 +0100
console: add a payload-aware intrans function
* console/priv.h (begin_using_protid_payload): New function.
* console/mutations.h: Add mutators.
commit edfeb493f9d95e64b747a11abb528d81da47b16a
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 14:43:31 2013 +0100
auth: add a payload-aware intrans function
* auth/mig-mutate.h: Add mutator.
* auth/mig-decls.h (auth_payload_to_handle): New function.
commit d3bbc5f4309b85e36e260e9c0ece006b131db3f5
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 14:12:25 2013 +0100
libcons: add a payload-aware intrans function
* libcons/mutations.h: Add mutator.
* libcons/priv.h (begin_using_notify_payload): New function.
commit 0095490a7918ba60483d656214dd9080601e886f
Author: Justus Winter <address@hidden>
Date: Fri Apr 4 14:19:59 2014 +0200
libpager: add a payload-aware intrans function
* libpager/mig-decls.h (begin_using_pager_payload): New function.
* libpager/mig-mutate.h: Add mutators.
commit 831a341d6b32d1005c6667e71aec9f67c3d48456
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 11:04:38 2013 +0100
libtrivfs: add payload-aware intrans functions
* libtrivfs/mig-decls.h (trivfs_begin_using_protid_payload): New function.
(trivfs_begin_using_control_payload): Likewise.
* libtrivfs/mig-mutate.h: Add mutators.
commit 66bfd16b75e8731a3b03a99e931e100b00c0d266
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 10:45:44 2013 +0100
libnetfs: add a payload-aware intrans function
* libnetfs/priv.h (begin_using_protid_payload): New function.
* libnetfs/mutations.h: Add mutator.
commit a226c74609b12cac905d06ec97a077bb2633e8a8
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 10:43:18 2013 +0100
libdiskfs: add payload-aware intrans functions
* libdiskfs/diskfs.h (diskfs_begin_using_protid_payload): New function.
(diskfs_begin_using_control_payload): Likewise.
(diskfs_begin_using_bootinfo_payload): Likewise.
* libdiskfs/fsmutations.h: Add mutators.
commit f8ce37835ad53f67da245db6fed7d2a028514b01
Author: Justus Winter <address@hidden>
Date: Tue Apr 8 23:40:26 2014 +0200
libports: add a payload-aware intrans function
* libports/mig-decls.h (begin_using_port_info_payload): New function.
* libports/mig-mutate.h: Add mutator.
commit 92b49a0fc6f24cbd970f8a9f79cf2513cd58a1b3
Author: Justus Winter <address@hidden>
Date: Sat Nov 23 16:19:08 2013 +0100
libports: add `ports_lookup_payload' and `ports_payload_get_name'
These two functions map payloads to objects and port names. The former
can be used like `ports_lookup_port' to look up objects, the latter to
map payloads to port names if the server function expects a
`mach_port_t'.
* libports/ports.h: Add function ports_payload_get_name.
* libports/lookup-payload.c: New file.
* libports/ports.h (ports_lookup_payload): Add declaration.
* libports/Makefile (SRCS): Add lookup-payload.c.
commit 9a5ede46033e225b870cd289221ac0608540a6d3
Author: Samuel Thibault <address@hidden>
Date: Sat Dec 6 12:42:41 2014 +0100
Fix coding style
commit 0d3b80f04a1caee51b9995c9626838f85295bb06
Author: Justus Winter <address@hidden>
Date: Sun Nov 23 19:09:51 2014 +0100
libshouldbeinlibc: move the reference counting primitives here
Declare all functions `extern inline' instead of `static inline'.
This allows us to use them in functions declared as `extern inline'.
* libshouldbeinlibc/refcount.h: Move here, and declare all functions
`extern inline'.
* libshouldbeinlibc/refcount.c: And define the functions here.
* libshouldbeinlibc/Makefile: Add `refcount.{c,h}'.
commit 40d433fd1ca3aedac58a281f982725bfa9f77997
Author: Justus Winter <address@hidden>
Date: Wed Nov 26 12:12:27 2014 +0100
Revert "random: fix a receiver lookup"
This reverts "8927fbd63e29005ddb9b2c2264046089bf669857".
The change mistakenly adds mutators for the `startup' protocol, but
the server routine is for the `startup_notify' protocol.
commit 7ca4c02513d7c6998d9c92dafb3c0fcbe8d6dd6d
Author: Samuel Thibault <address@hidden>
Date: Thu Nov 27 19:05:57 2014 +0100
Add atomicity support to fshelp_acquire_lock
This adds support for the __LOCK_ATOMIC flag which requests atomicity of
SH->EX
upgrades and EX->SH downgrades.
* libfshelp/lock-acquire.c (__LOCK_ATOMIC): New macro
(fshelp_acquire_lock): When __LOCK_ATOMIC is set, do not release the
lock early, change the lock hold atomically instead. On upgrade to LOCK_EX,
prevent new shared locks from being acquired to avoid starvation.
commit b69b9c28b6628c7d736476d075d56ae137afd343
Author: Samuel Thibault <address@hidden>
Date: Thu Nov 27 01:24:43 2014 +0100
Fix proc crashes
* proc/notify.c (do_mach_notify_dead_name): When `pi' is NULL,
immediately return EOPNOTSUPP.
commit 9cd99ff80c3c129ed137e0d22b7e438f292e5e8f
Author: Justus Winter <address@hidden>
Date: Sun Nov 23 20:13:30 2014 +0100
libdiskfs: fix fabrication of protid
* libdiskfs/dir-init.c (diskfs_init_dir): Fix fabrication of protid.
commit b3fcdc50024b3837a76cd854d02a940dac2e5dc3
Author: Justus Winter <address@hidden>
Date: Sun Nov 23 18:11:30 2014 +0100
libpager: make the request queue more memory-efficient
Previously, `pager_demuxer' allocated a chunk of memory for the
response message. But if memory gets scarce, the kernel will issue a
large number of paging requests to free up memory. In such a
situation, allocating memory is dangerous.
Fix this by not allocating space for the response message, rather, use
a chunk of the workers stack space. Also, we only handle the `notify'
and `memory_object' protocol, which both only contain simple routines,
we only need a `mig_response_header_t'.
* libpager/demuxer.c (struct request): Remove `inp' and `outp'.
(request_inp): New function.
(pager_demuxer): Do not allocate memory for the response.
(mig_reply_setup): New function.
(worker_func): Adjust accordingly.
commit 25fe9cb62331d609b87b9d0b1db06d06ab825d16
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 10:43:47 2014 +0100
boot: improve the demuxer
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function.
* boot/boot.c (mig_reply_setup): Provide local version.
(request_server): Rename to `boot_demuxer', and improve the dispatch.
commit 4e38225c4e3af1dede56b5df6f734faaa2b2469e
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 00:27:03 2014 +0100
boot: implement pseudo-time device
* boot/boot.c (pseudo_time): New variable.
(main): Allocate port `pseudo_time'.
(ds_device_open): Give out `pseudo_time'.
(ds_device_map): Emulate Mach-style `Mapped Time'.
commit e4429ebed2924fd75b23248719a6e0ef4f8b53c3
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 09:56:29 2014 +0100
boot: support ds_device_get_status with flavor DEV_GET_RECORDS
* boot/boot.c (ds_device_get_status): Support flavor DEV_GET_RECORDS.
commit eece795b00d83c9816a2cc7ebb7b8aad7a37bc17
Author: Justus Winter <address@hidden>
Date: Thu Nov 6 18:49:06 2014 +0100
boot: drop obsolete device procedures
* boot/boot.c (ds_xxx_device_set_status): Remove function.
(ds_xxx_device_get_status): Likewise.
(ds_xxx_device_set_filter): Likewise.
commit a99d8b562d74e3b08c88d52433914d9c1c6bd362
Author: Justus Winter <address@hidden>
Date: Thu Nov 6 13:59:59 2014 +0100
boot: remove unused function `boot_script_read_file'
The unused function `boot_script_read_file' requires access to the
default pager, which is privileged.
* boot/boot.c (defpager): Remove now unused variable.
(boot_script_read_file): Remove unused function.
(main): Do not acquire port to the default pager.
* boot/boot_script.h (boot_script_read_file): Remove declaration.
commit 5133c8eb5d6564d037c9c7312ee4506c0d2e49a7
Author: Justus Winter <address@hidden>
Date: Thu Nov 6 13:27:43 2014 +0100
boot: drop bootstrap compat code
GNU Mach never sent old-style bootstrap messages. Drop the unused
compatibility code.
* boot/boot.c (request_server): Drop unused code.
(bootstrap_compat): Drop unused function.
commit 41eda58f8bfa602f7aa82157b5d1bd3c6ec30466
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 16:15:17 2014 +0100
startup: also open `console' for reading
* startup/startup.c (main): Also open `console' for reading.
commit 8bee9fcf5fc9e47e1aac0a670cc8d5e3fba8a7dd
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 14:57:43 2014 +0100
proc: gracefully handle failure to increase priority
* proc/main.c (increase_priority): New function.
(main): Move code increasing the proc servers priority to a new
function and handle errors gracefully.
commit 788407b951b162148a2e223da69ff2c16d8d05b4
Author: Justus Winter <address@hidden>
Date: Fri Nov 7 11:44:22 2014 +0100
Makeconf: handle the gnumach protocol
* Makeconf (mach_defs_names): Add `gnumach'.
commit 5ee314b6c1ffd8b090ca6771f0896e080f7000ef
Author: Justus Winter <address@hidden>
Date: Thu Sep 19 09:15:02 2013 +0200
startup: bind the startup server to /servers/startup
Previously, the Hurd (ab)used the fact that the startup server speaks
all protocols on its message port. Any server that wished to register
for shutdown notifications would use proc_getmsgport to get a port to
the startup server.
This hardcodes the PID of /hurd/startup, and does not allow one to
point a server to ones own startup server (e.g. using remap).
Bind the startup server to /servers/startup instead. Use this to
contact the startup server.
* exec/main.c (S_exec_init): Use /servers/startup. Fall back to the
old method so that the system still boots when the node
/servers/startup is missing.
* hurd/paths.h (_SERVERS_STARTUP): New macro.
* libdiskfs/boot-start.c (diskfs_S_fsys_init): Use /servers/startup.
* libdiskfs/init-startup.c (_diskfs_init_completed): Likewise.
* pfinet/main.c (arrange_shutdown_notification): Likewise.
* startup/Makefile (OBJS): Add fsysServer.o.
* startup/startup.c (demuxer): Handle the fsys protocol.
(main): Bind to /servers/startup.
(S_fsys_getroot): Implement fsys_getroot. Stub out the rest.
commit dcafd2d6cc7a98744b08875b35caf218a4a5c14a
Author: Justus Winter <address@hidden>
Date: Wed Sep 18 23:16:34 2013 +0200
startup: fix the declaration of the *_server functions
* startup/startup.c (demuxer): Fix the declaration of the server functions.
commit 31e8affe365ca9f1b91e31e3798f3d0725da15df
Author: Justus Winter <address@hidden>
Date: Wed Sep 18 23:12:13 2013 +0200
startup: be more specific in the shutdown message
Use the BOOT macro to print either halt or reboot instead of the
generic shutdown in the event of an system shutdown.
* startup/startup.c (reboot_system): Use more specific message.
commit 5cf9e79ca7a28376c7645271136eb2cbb30dc5bc
Author: Justus Winter <address@hidden>
Date: Wed Sep 18 22:58:11 2013 +0200
startup: do not pass signals on to the child
Formerly /hurd/startup would forward all signals to the child it
started (e.g. /libexec/runsystem).
The motivation for doing so is not revealed in the comments, nor it is
mentioned in the history of the version control system.
This patch removes the forwarding of signals to the child.
* startup/startup.c (process_signal): Do not pass signals on to the child.
* startup/stubs.c: Remove file.
* startup/Makefile: Remove stubs.c.
commit 7e9c559c75901f391b4151ed6cabba74e60f80af
Author: Justus Winter <address@hidden>
Date: Wed Sep 18 15:29:36 2013 +0200
init: add a minimalist init program
This patch adds a minimalist init program. It is somewhat lacking in
features, but is able to bring up a Hurd system with the runsystem and
rc scripts. In fact, it roughly does what the former /hurd/init did,
modulo all the very early bootstrapping stuff and the startup
protocol. It is started when all the essential servers are up and
running, so it can make use of most of the POSIX goodies, making its
implementation much simpler.
* Makefile (prog-subdirs): Add init.
* daemons/runsystem.sh: Generalize runsystem so that it can start any
init as specified on the kernel command line. By default, it starts
/hurd/init.
* daemons/runsystem.hurd: This is a verbatim copy of runsystem.sh. It
is started by /hurd/init.
* daemons/rc.sh: Do not start /hurd/mach-defpager as it is already
started in runsystem.sh.
* daemons/Makefile (SRCS): Add runsystem.hurd.
* init/Makefile: New file.
* init/init.c: Likewise.
commit 0224d569030e6838c63cf946ae7321be923afc23
Author: Justus Winter <address@hidden>
Date: Tue Sep 17 13:44:44 2013 +0200
startup: rename /hurd/init to /hurd/startup
This patch series splits /hurd/init into two programs. As a first
step, this patch renames /hurd/init to /hurd/startup. It is called
startup because it speaks the startup protocol.
* startup: Rename init to startup. Adjust accordingly.
* Makefile (prog-subdirs): Likewise.
* doc/hurd.texi (Server Bootstrap): Likewise.
* hurd/paths.h (_HURD_STARTUP): Likewise.
* libdiskfs/boot-start.c (diskfs_boot_init_program): Likewise.
* libdiskfs/opts-std-startup.c (startup_options): Likewise.
commit bf7ce656b71123926f0fcb32e4b9577b395da76e
Author: Justus Winter <address@hidden>
Date: Fri Sep 5 10:34:24 2014 +0200
procfs: do not hard-code the default argument values
* procfs/main.c (common_options): If possible, do not hard-code the
default values.
commit 8d16db0cc28b2d911aee918d5c3582ad29ddfeed
Author: Justus Winter <address@hidden>
Date: Wed Sep 18 15:59:31 2013 +0200
Add proc_set_init_task, make runsystem pid 1
* hurd/process.defs (proc_set_init_task): New procedure.
* hurd/process_reply.defs (proc_set_init_task): Likewise.
* hurd/process_request.defs (proc_set_init_task): Likewise.
* include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly.
* init/init.c (start_child): Register the child task.
* proc/proc.h (init_proc): New variable.
(create_startup_proc): Rename to create_init_proc.
* proc/main.c (main): Create placeholder proc object for pid 1.
* proc/mgt.c: Use init_proc instead of startup_proc, as the former is
the new root of the process tree.
(create_startup_proc): Rename to create_init_proc.
(S_proc_set_init_task): New function.
* doc/hurd.texi (Server Bootstrap): Update accordingly.
* procfs/main.c: Do not hard-code kernel pid, use pids.h instead.
commit c99cb9e4ab1bd2683759f35a6878a685bf5e8dd7
Author: Justus Winter <address@hidden>
Date: Sun Oct 5 13:20:01 2014 +0200
trans/mtab: avoid firmlink loops
* trans/mtab.c (struct mtab): Add a hash table to keep track of seen
ports.
(mtab_mark_as_seen): New function that records the identity port of a
given node in the hash table and reports whether it has been there
before.
(mtab_populate): Use the new function to avoid running in circles.
(main, open_hook): Initialize hash table.
(close_hook): Free ports and destroy hash table.
commit 36f340ae47a0f643be6d59a8190600cdd34eef0c
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 21 04:08:57 2014 +0100
Always canonicalize fstab entries with realpath
To avoid spurious ./, /, symlinks, etc.
* sutils/fstab.c (fs_set_mntent): Try to call realpath on mnt_fsname and
mnt_dir
field of `mntent'.
(fstab_find_mount): Try to call realpath on `name' parameter.
(fstab_find): Do not try to call realpath.
(fstab_read): Reset errno to zero before calling getmntent.
* utils/umount.c (main): Do not warn about missing fstab entries for
active translators.
commit f981d5bdba78ef72dbbf0d22c146890a305d487c
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 21 02:56:11 2014 +0100
Fix compiler warning
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Initialize
register_translator to 0, otherwise it may be used uninitialized in case
of non-ENOENT errors.
commit 9a56d8f0803d40dacb92eb366b534bbbd5438096
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 21 02:52:18 2014 +0100
Fix recording complete path of passive relative translators
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Prepend current path to
the relative path before recording the active translator.
commit f88d4616a25175c42c10334491054d54310262db
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 21 02:49:29 2014 +0100
Fix recording complete path of passive relative translators
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Prepend current path to
the relative path before recording the active translator.
commit fa108a1e6f15946aa72cd8edd09f3c08255b76fd
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 21 02:47:19 2014 +0100
Let pty readers always read end of writer output
* term/ptyio.c (pty_io_read): Do not return EIO when there is no writer
any more but some output remains in the pipe.
commit 6cc0c78b1f496cc9e680c0726b7561c93c3f1a7c
Author: Justus Winter <address@hidden>
Date: Wed Nov 12 13:20:52 2014 +0100
utils/rpctrace: fix crash while printing messages
% fakeroot rpctrace install
[...]
63<--66(pid5363)->io_read (-1 8192) = 0 [... rpctrace crashes]
/bin/fakeauth: Segmentation fault for child 5362
/bin/settrans: Error 139 for child 5361
* utils/rpctrace.c (print_data): Fix this by guarding the code
escaping non-printable characters introduced in 84932431 against
`data' being NULL.
commit 324c9cdbcd3644a0f8eb467b1ea61b9ff889ae7a
Author: Samuel Thibault <address@hidden>
Date: Tue Nov 11 22:43:22 2014 +0100
Make procfs appear in /proc/mounts
d-i needs to be able to check whether /proc is mounted or not.
* procfs/main.c (netfs_get_source): New function.
commit cfafc1a905f11da2b856aecea02b8c7e1f95e5dd
Author: Samuel Thibault <address@hidden>
Date: Mon Nov 10 03:32:19 2014 +0100
Fix mach-defpager's kalloc values
* mach-defpager/kalloc.c (MINSIZE): Set to sizeof(vm_offset_t) instead
of hardcoded 4.
(kalloc_init): Set kalloc_max to MINSIZE << (KLIST_MAX-1) instead of
hardcoded 16384.
(kalloc, kfree): Use the cache for the maximum size too.
commit b11e2e666ce3e1a8ad167c82bfc1fc9b820f97f3
Author: Samuel Thibault <address@hidden>
Date: Mon Nov 10 00:11:32 2014 +0100
Avoid hitting VM_MAX_ADDRESS
* libpager/pager-memcpy.c (pager_memcpy): Reset address passed to vm_map
on each loop, to avoid potentially monotonically increasing up to
VM_MAX_ADDRESS.
commit 84172a2e26fd81c1c39b6301b003cc89b97ee75c
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 9 22:38:22 2014 +0100
Deal with odd kernel behavior
Some versions of gnumach actually take address as a mapping hint, and would
fail
if the hint is bogus. Make sure to pass 0 for those versions.
* libstore/memobj.c (memobj_read): Make sure to set *buf to 0 before
calling vm_map.
commit 94b2c453829b3aebdaccf7d3d252136b283002b3
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 9 22:31:21 2014 +0100
Deal with odd kernel behavior
Some versions of gnumach actually take address as a mapping hint, and would
fail
if the hint is bogus. Make sure to pass 0 for those versions.
* console/pager.c (user_pager_create): Make sure to set *user to 0 before
calling vm_map.
* libdiskfs/disk-pager.c (diskfs_start_disk_pager): Make sure to set *image
to 0
before calling vm_map.
* libpager/pager-memcpy.c (pager_memcpy): Set window to 0 before calling
vm_map.
* tmpfs/node.c (diskfs_get_filemap): Make sure to set np->dn->u.reg.memref
to 0
before calling vm_map.
commit 9480792609c779516ac465ac5a038101032be77d
Author: Justus Winter <address@hidden>
Date: Thu Apr 17 15:44:12 2014 +0200
libpager: use a fixed number of threads
Previously, libpager used an unbounded number of threads to receive
messages from the pager bucket. It used sequence barriers to execute
the requests to order requests to each object.
The sequence barriers are implemented in seqnos.c. A server function
uses _pager_wait_for_seqno to wait for its sequence number and
_pager_release_seqno to release it, or it uses _pager_update_seqno to
do both operations in one step.
These sequence barriers divide each server function in three parts: A,
B, and C. A_i happens "before" the sequence barrier i, B_i happens
"in order", C_i happens "after" the sequence barrier. This partial
order < has the following properties:
* This order is *per object*. Requests to different objects are not
ordered.
* A_i < B_i, B_i < C_i (due to the structure of the code)
* B_i < B_{i+1} (this is due to the sequence barriers)
* Note that only the B parts are ordered by the sequence numbers, we
are free to execute C_i and C_{i+1} in any possible order. The same
argument applies to the A parts.
The sequence barriers are implemented using a very simple ticket
algorithm. Every request, even the invalid ones, is processed by a
thread, and waits until the ticket count reaches its seqno, does some
work in-order, then increments the ticket and awakes all threads that
have piled up up to this moment. All of them except one will then
discover that it's not their turn yet and go to sleep again.
Creating one thread per request has proven to be problematic as
memory_object requests often arrive in large batches.
This patch does two things:
* Use a single thread to receive messages from the port bucket. All
incoming request are put into a queue.
* Use a fixed-number of threads (though even one is actually enough)
to execute the the server functions. If multiple threads are used,
a work-delegation mechanism ensures that the per object order < is
preserved.
For reference, I used the following command to create workloads that
highlight the problem this patch is addressing:
% settrans t .../ext2fs --sync=30 /dev/sd2s1
...
% /usr/bin/time zsh -c 'for ((i=0; i < 1500; i++)); do
dd if=/dev/zero of=t/src/$i bs=4k count=290 2>/dev/null
echo -n .
if ((i % 100 == 0)) ; then echo -n $i; fi
done'
* libpager/queue.h: New file.
* libpager/demuxer.c: Manage a queue of requests received from the
port bucket.
(pager_demuxer): Just decode the server function and enqueue the
request.
(worker_func): New function that consumes and executes the requests
from the queue.
(service_paging_requests): New function.
(pager_start_workers): Likewise.
* libpager/data-request.c: Remove the seqno barriers.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/chg-compl.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/no-senders.c: Likewise.
* libpager/notify-stubs.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/seqnos.c: Remove file.
* libpager/stubs.c: Likewise.
* libpager/pager.h (pager_demuxer): Drop declaration.
(pager_start_workers): New declaration.
* libpager/priv.h: Remove the _pager_seqno declarations.
* libpager/Makefile (SRCS): Drop seqnos.c.
* console/pager.c (user_pager_init): Call pager_start_workers.
* libdiskfs/disk-pager.c: Likewise.
* storeio/pager.c: Likewise.
* ext2fs/pager.c (service_paging_requests): Remove function.
(create_disk_pager): Start separate file pager using
`pager_start_workers'.
* fatfs/pager.c (service_paging_requests): Remove function.
(create_fat_pager): Start separate file pager using
`pager_start_workers'.
commit 282e4ae275dc1b9b0b5bba6eb1b145cd1e80fa33
Author: Justus Winter <address@hidden>
Date: Fri Mar 14 00:29:02 2014 +0100
mach-defpager: use protected payloads for object lookups
* mach-defpager/default_pager.c (pager_port_list_insert): Set
protected payload.
(pager_port_list_delete): Clear protected payload.
* mach-defpager/mig-decls.h (begin_using_default_pager_payload): New
function.
* mach-defpager/mig-mutate.h: Add mutator.
commit 89abef408f02e463cfe9d462fa10be64a94b3b36
Author: Samuel Thibault <address@hidden>
Date: Mon Nov 3 01:53:17 2014 +0100
Fix optional definitions in static binaries
* libcons/extra-version.c (cons_extra_version): Add weak attribute.
* libcons/vcons-add.c (cons_vcons_add): Likewise.
* libcons/vcons-remove.c (cons_vcons_remove): Likewise.
* libdiskfs/extra-version.c (diskfs_extra_version): Likewise.
* libdiskfs/get-source.c (diskfs_get_source): Likewise.
* libdiskfs/readonly-changed.c (diskfs_readonly_changed): Likewise.
* libdiskfs/sync-default.c (diskfs_default_sync_interval): Likewise.
* libdiskfs/validate-author.c (diskfs_validate_author_change): Likewise.
* libdiskfs/validate-flags.c (diskfs_validate_flags_change): Likewise.
* libdiskfs/validate-group.c (diskfs_validate_group_change): Likewise.
* libdiskfs/validate-mode.c (diskfs_validate_mode_change): Likewise.
* libdiskfs/validate-owner.c (diskfs_validate_owner_change): Likewise.
* libdiskfs/validate-rdev.c (diskfs_validate_rdev_change): Likewise.
* libnetfs/file-get-storage-info-default.c (netfs_file_get_storage_info):
Likewise.
* libnetfs/get-source.c (netfs_get_source): Likewise.
* libnetfs/set-get-trans.c (netfs_set_translator, netfs_get_translator):
Likewise.
* libtrivfs/get-source.c (trivfs_get_source): Likewise.
commit bd611d2bbd2a7faa24ce8d3b1a422cebb8f71e8b
Author: Samuel Thibault <address@hidden>
Date: Mon Nov 3 00:02:52 2014 +0100
Use a mere weak attribute instead of a weak alias
We don't need to call the original function, so a weak attribute is
enough.
* libports/dead-name.c (ports_dead_name): Remove weak alias.
(__ports_dead_name): Rename back to ports_dead_name, but add weak attribute.
commit 86d5b43634dfb16aca5d03e4df2e047bfa500899
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 2 23:44:28 2014 +0100
Fix dead name notification in static binaries
When linking statically, the libports definition would come before the
libdiskfs definition, defeating the purpose of the ports_dead_name
callback.
* libports/dead-name.c (ports_dead_name): Rename into __ports_dead_name.
(ports_dead_name): Add weak alias for __ports_dead_name.
commit 4370c33bccc2ef5bddacbd364270aa310f89c94d
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 2 23:06:56 2014 +0100
Fix unlocking translator list
* libfshelp/translator-list.c (fshelp_set_active_translator): Use common
out path to unlock translator_ihash_lock before exitting on error.
commit e6e1f1addd6f0f237e54f0a55a776c99aa4d72bd
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 2 16:10:03 2014 +0100
Fix actual procinfo_t type
* exec/elfcore.c (dump_core): Use procinfo_t, which is already a
pointer, instead of procinfo_t*.
commit 610c428cf8c9340d955c79cd2daca3ed8657f2b1
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 2 16:00:03 2014 +0100
Fix proc_getprocinfo calls
The deallocation also needs to be fixed.
Also, fetch_procinfo already took care of the conversion.
* exec/elfcore.c (dump_core): Fix procinfoCnt taken from
proc_getprocinfo.
* utils/login.c (check_owned): Likewise.
* libps/procstat.c (merge_procinfo): Remove conversion between bytes and
int, already handled by fetch_procinfo.
commit 673603dae49fd06de782780a38e2914ed8cd8777
Author: Samuel Thibault <address@hidden>
Date: Sun Nov 2 12:29:27 2014 +0100
Fix proc_getprocinfo calls
The procinfoCnt argument is the number of elements of the procinfo_t array,
not its size in bytes.
* exec/elfcore.c (dump_core): Fix procinfoCnt given to proc_getprocinfo.
* libps/procstat.c (merge_procinfo): Likewise.
* utils/login.c (check_owned): Likewise.
commit 139b283e0d40a3a482a61e1fb9afb5381323d8d0
Author: Justus Winter <address@hidden>
Date: Wed Oct 29 14:57:23 2014 +0100
pfinet: fix path in comment
* pfinet/main.c: Fix path in comment.
commit 78343e97c68fda079c66f2443bab6d1ee16f0b67
Author: Justus Winter <address@hidden>
Date: Sat May 3 01:02:35 2014 +0200
libports: lock-less reference counting for port_info objects
* libports/ports.h (struct port_info): Use the new type.
* libports/lookup-port.c: No need to lock _ports_lock anymore.
* libports/bucket-iterate.c: Likewise.
* libports/complete-deallocate.c: Check if someone reacquired a
reference through a hash table lookup.
* libports/create-internal.c: Use the new reference counting primitives.
* libports/get-right.c: Likewise.
* libports/import-port.c: Likewise.
* libports/port-deref-weak.c: Likewise.
* libports/port-deref.c: Likewise.
* libports/port-ref-weak.c: Likewise.
* libports/port-ref.c: Likewise.
* libports/reallocate-from-external.c: Likewise.
* libports/transfer-right.c: Likewise.
* utils/rpctrace.c: Likewise.
commit 9a043bf1792be16a045dd2e2e37c2c6354425b9b
Author: Gabriele Giacone <address@hidden>
Date: Tue May 27 22:20:29 2014 +0200
utils/mount: add mount options to create firmlinks.
* utils/mount.c (parse_opt): Add -B/--bind/--firmlink/-o bind mount
options. (do_mount): Do not pass bind mount option to settrans, set
firmlink fstype. (main): Likewise.
commit ab8d8784cd73d5fe8ede7a95a3df36d068a6145c
Author: Gabriele Giacone <address@hidden>
Date: Fri Oct 3 14:58:35 2014 +0200
utils/umount: clean up
According to f2640263468aced5c91ac5fc1f15bb5691f7eb20, passive
translators are no longer removed.
* utils/umount.c (do_umount) Remove -p option from verbose message.
(passive_flags): Remove.
commit 4f29d810cad03047c19e5de3c342c90df7193c8b
Author: Justus Winter <address@hidden>
Date: Sun Sep 7 14:01:38 2014 +0200
libdiskfs: remove code counting cache misses
* libdiskfs/lookup.c (cache_misses): Remove.
(cm_lock): Likewise.
(diskfs_lookup): Do not count cache misses.
commit b2ae574d39adfe283c61a3ec0c766e8780f345af
Author: Justus Winter <address@hidden>
Date: Sat May 3 03:53:41 2014 +0200
libports: use a global hash table for the lookups
Previously, libports used a hash table per port bucket. This makes
looking up a port difficult if one does not know the port bucket, as
one has to iterate over all buckets and do a hash table lookup each.
Having to iterate over the buckets makes it necessary to keep a list
of all buckets, which has to be updated and protected by a lock as
well.
Also, the current code in _ports_bucket_class_iterate iterates over
the hash table associated with the bucket given. When
ports_class_iterate calls this common function, it obtains a reference
to the bucket from one of the ports in the given class. This will not
work if a class contains ports in different port buckets. This
limitation is not documented as far as I can see. Again, having to
maintain this list has its cost and requires serialization.
Use a global hash table for lookups instead. Keep the per-bucket hash
tables for efficient iteration over buckets. Furthermore, serialize
access to all hash tables using a separate lock. Remove the linked
lists of all buckets and all ports in a class.
* libports/bucket-iterate.c (ports_bucket_iterate): Acquire
_ports_htable_lock. Also, generalize ports_bucket_iterate so that it
takes a pointer to a hash table as first argument.
(ports_bucket_iterate): Ajust call to former function accordingly.
* libports/class-iterate.c (ports_class_iterate): Just call the
generalized _ports_bucket_class_iterate with the global hash table as
argument.
* libports/ports.h (struct port_info): Remove the port class links.
(struct port_bucket): Remove the hash table, and the all buckets link.
(_ports_all_buckets): Remove declaration.
(_ports_htable): New global hash table.
(_ports_htable_lock): Protected by this lock.
* libports/claim-right.c: Adjust accordingly.
* libports/complete-deallocate.c: Likewise.
* libports/create-bucket.c: Likewise.
* libports/create-class.c: Likewise.
* libports/create-internal.c: Likewise.
* libports/destroy-right.c: Likewise.
* libports/import-port.c: Likewise.
* libports/lookup-port.c: Likewise.
* libports/reallocate-from-external.c: Likewise.
* libports/reallocate-port.c: Likewise.
* libports/transfer-right.c: Likewise.
* libports/inhibit-all-rpcs.c: Iterate over the hash table.
* libports/inhibit-bucket-rpcs.c: Likewise, but filter using bucket.
* libports/inhibit-class-rpcs.c: Likewise, but filter using class.
* libports/init.c (_ports_htable): Initialize.
(_ports_htable_lock): Likewise.
commit 02c47da17b716bfff20bfafe2d5958b2b720ff49
Author: Justus Winter <address@hidden>
Date: Fri Sep 19 10:10:24 2014 +0200
procfs: reorganize rootdir.c
* procfs/rootdir.c: Move the translator linkage code to the
appropriate location.
commit af68bfc377c4f56a1355d856fe2c666fec6b0d5f
Author: Justus Winter <address@hidden>
Date: Fri Sep 19 10:01:57 2014 +0200
procfs: generalize the translator linkage code
Generalize the translator linkage code previously introduced for the
`mounts' node.
* procfs/rootdir.c (struct procfs_translated_node_ops): New
specialized node operations structure for translated nodes.
(rootdir_mounts_make_node): Generalize and rename to
rootdir_make_translated_node. Also, pass the entry_hook to
procfs_make_node so that...
(rootdir_mounts_get_translator): ... can be generalized to
rootdir_translated_node_get_translator and read the argz vector from
the hooked structure.
(ROOTDIR_DEFINE_TRANSLATED_NODE): New convenience macro to define
translated nodes.
(rootdir_entries): Use the new code for the `mounts' node.
commit 1fb3542ef83f01e913d9944b093de8d5c178e5d7
Author: Justus Winter <address@hidden>
Date: Fri Sep 19 08:18:33 2014 +0200
procfs: do not test whether /hurd/mtab exists
Now that procfs is merged into the Hurd repository we can just assume
that the mtab translator exists.
* procfs/rootdir.c (rootdir_mounts_exists): Drop function.
(rootdir_entries): Adjust accordingly.
commit b288ae932a53133c986e5daace2d5bfa4cf95d2c
Author: Justus Winter <address@hidden>
Date: Thu Sep 18 19:38:04 2014 +0200
procfs: implement /proc/filesystems
* procfs/rootdir.c (rootdir_gc_filesystems): New function.
(rootdir_entries): Use the new function to implement /proc/filesystems.
commit e9b7aa85c98750b6c8f54f3eb0013c359841f4d4
Author: Justus Winter <address@hidden>
Date: Thu Sep 18 18:38:04 2014 +0200
procfs: implement /proc/N/maps
Fixes https://savannah.gnu.org/bugs/?32770 .
* procfs/process.c (process_file_gc_maps): New function.
(entries): Use the new function to implement /proc/N/maps.
commit db9ad21d272a4dce53c35095b97ca0a597b45004
Author: Justus Winter <address@hidden>
Date: Mon Sep 22 17:59:57 2014 +0200
exec: redzone page zero before loading anything
This prevents load_section from mapping any sections to page zero.
* exec/exec.c (do_exec): Redzone page zero before loading anything.
commit af77f771b687d3653018bc18b1b07a4805beaa19
Author: Justus Winter <address@hidden>
Date: Tue Sep 23 11:42:43 2014 +0200
exec: add proper argument parsing, add --device-master-port
If the device master port is given, a boot-time exec server can print
diagnostic messages earlier.
* exec/main.c (opt_device_master): New variable.
(OPT_DEVICE_MASTER_PORT): New macro.
(options): New set of options.
(parse_opt): New function.
(trivfs_append_args): Likewise.
(argp): Pull the argp definition out of main.
(trivfs_runtime_argp): Set, so that we respond properly to fsysopts.
(open_console): Pull the code out of S_exec_init and generalize it.
(main): Call open_console if a device master port is given.
(S_exec_init): Call open_console.
commit 1a22019e6a86d0636f9847f8891f280facd2fd22
Author: Alexey Kuznetsov <address@hidden>
Date: Sun Sep 28 16:05:17 2014 +0200
BSD apps want sin_zero cleared in sys_getname.
Cherry-picked from Linux c1e9dcb37795b08a1f50b8de7b2ad5efcb15728f
* pfinet/linux-src/net/ipv4/af_inet.c (inet_getname): Clear `sin_zero'
part of `sin'.
commit 1bfccb9ff3ff1b079fd4b76a4d3e75e340e6813c
Author: Justus Winter <address@hidden>
Date: Wed Sep 24 15:00:02 2014 +0200
Update NEWS file
commit 0ef49e125811ddb750403f02a091fd892b595fdf
Author: Justus Winter <address@hidden>
Date: Fri Sep 19 08:13:26 2014 +0200
hurd: add symbolic name for the mtab translator
* hurd/paths.h (_HURD_MTAB): New macro.
* procfs/rootdir.c (rootdir_mounts_get_translator): Use the new macro.
(rootdir_mounts_exists): Likewise.
commit 3628f1479b9fb77bed1ba4ab8e93ee98e14d9960
Author: Justus Winter <address@hidden>
Date: Thu Sep 18 16:55:19 2014 +0200
procfs: fix typo in comment
* procfs/process.c (process_stat_make_node): Fix typo in comment.
commit 74fc3df9e4ecd84b971904d3e14e5a710d941836
Author: Justus Winter <address@hidden>
Date: Thu Sep 4 12:48:32 2014 +0200
trans/hello{,-mt}: properly escape contents in trivfs_append_args
Fixes https://savannah.gnu.org/bugs/?15806 .
* trans/hello-mt.c (trivfs_append_args): Escape contents.
* trans/hello.c (trivfs_append_args): Likewise.
commit 8fd228ccd454578fb0367d97d95b90f9073a8d7c
Author: Justus Winter <address@hidden>
Date: Thu Sep 4 11:19:29 2014 +0200
hurd: make memory_object parameter polymorphic
Make the memory_object parameter of default_pager_object_create
polymorphic. This fixes https://savannah.gnu.org/bugs/?26751 .
* hurd/default_pager.defs (default_pager_object_create): Make
memory_object parameter polymorphic.
* mach-defpager/default_pager.c (S_default_pager_object_create):
Adjust accordingly.
* trans/proxy-defpager.c (S_default_pager_object_create): Likewise.
commit 626ff916ca63334e6c170f059ea47f9cfea19661
Author: Justus Winter <address@hidden>
Date: Tue Sep 2 22:19:54 2014 +0200
libdiskfs: fix /servers/exec lookup
* libdiskfs/boot-start.c (diskfs_start_bootstrap): Pass retry_name to
dir_lookup, which is later checked to be the empty string.
commit 5f1011ac0ad676d1e7eaba14d1384180e98fb93e
Author: Justus Winter <address@hidden>
Date: Fri Jun 20 14:27:59 2014 +0200
include: detect use-after-free errors using the reference counts
* include/refcount.h (refcount_init): There must be at least one
reference at initialization time.
(refcounts_init): Likewise.
(refcount_unsafe_ref): New function retaining the previous
functionality of refcount_ref. It is occasionally useful to raise the
reference count again after it dropped to zero.
(refcounts_unsafe_ref): Likewise.
(refcounts_unsafe_weak_ref): Likewise.
(refcount_ref): Detect use-after-free errors.
(refcounts_ref): Likewise.
(refcounts_ref_weak): Likewise.
* libtrivfs/protid-clean.c (trivfs_clean_protid): Use refcount_unsafe_ref.
commit 334801c52c9844c06eacbe2e3af65852f7412e3c
Author: Justus Winter <address@hidden>
Date: Sun Aug 31 14:47:42 2014 +0200
hurd: fix semantic of file_get_children
When first introduced as fsys_get_children, it made sense to return
the list of children using paths relative to the root of the
filesystem that was queried. Making the get_children method part of
the fsys protocol was a mistake that has since been corrected in
9366d6b2.
Instead of returning paths relative to the root of the translator,
return paths relative to the path of the receiving node.
This fixes a problem with the mtab translator. Previously, the mtab
translator invoked on a target that was not the root directory of a
translator would compute invalid paths, e.g.:
/hurd/mtab: /any/path/servers/socket/26 No such file or directory
* hurd/fs.defs (file_get_children): Update comment.
* libfshelp/translator-list.c (fshelp_get_active_translators): Add
argument PREFIX. Filter entries not beginning with PREFIX if
non-NULL, and omit PREFIX from the returned paths.
* libfshelp/fshelp.h (fshelp_get_active_translators): Update comment
accordingly. Also clarify that both FILTER and PREFIX can be NULL.
* libdiskfs/file-get-children.c (diskfs_S_file_get_children): Update
comment, pass prefix to fshelp_get_active_translators.
* libnetfs/file-get-children.c (netfs_S_file_get_children): Likewise.
commit c5f866e17c72302d826b885f098b1c07d7abdbc7
Author: Justus Winter <address@hidden>
Date: Sun Aug 31 14:36:50 2014 +0200
libihash: fix comparison between signed and unsigned integer
* libihash/ihash.h (HURD_IHASH_ITERATE): Fix comparison between signed
and unsigned integer expressions.
commit 6fd075df8f71c95cff04d58643e5da0d58dbbada
Author: Justus Winter <address@hidden>
Date: Sun Aug 31 12:46:25 2014 +0200
trans/mtab: use setnullauth to drop privileges
* trans/mtab.c (main): Use setnullauth to drop privileges.
commit cf8df03cf9002642a9399da47242d819cc3653e4
Author: Justus Winter <address@hidden>
Date: Sun Aug 31 16:39:35 2014 +0200
libtrivfs: fix typo
* libtrivfs/protid-clean.c (trivfs_clean_protid): Fix typo.
commit 520ef2ed66d47bb81a55829a88dda81f62dc95e5
Author: Justus Winter <address@hidden>
Date: Fri Jun 20 13:54:28 2014 +0200
libdiskfs: fix reference counting of peropen objects
Previously, peropen objects were created with a reference count of
zero. Therefore, if diskfs_create_protid fails, passing such an
object to diskfs_release_peropen would lead to a reference count
underflow.
* libdiskfs/peropen-make.c (diskfs_peropen_make): Initialize reference
count to one.
* libdiskfs/protid-make.c (diskfs_start_protid): And consume this
reference on success. Update comment.
(diskfs_create_protid): Update comment.
* libdiskfs/diskfs.h: Update comments.
* libdiskfs/io-duplicate.c (diskfs_S_io_duplicate): Adjust reference
counting accordingly.
* libdiskfs/io-reauthenticate.c (diskfs_S_io_reauthenticate): Likewise.
* libdiskfs/io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise.
* doc/hurd.texi (Diskfs Internals): Update accordingly.
commit c19a90851170077b99e694262d002a6e22145b49
Author: Samuel Thibault <address@hidden>
Date: Tue Aug 26 23:39:24 2014 +0200
Fix ifsock permission check
POSIX requires write access to the socket, not read access, to be able
to connect to it.
* trans/ifsock.c (S_ifsock_getsockaddr): Test for O_WRITE instead of
O_READ.
commit 5a4ddc13246841da1350c8f6e783fd6a1d911aa4
Author: David Michael <address@hidden>
Date: Mon Aug 25 00:05:40 2014 +0200
sutils: add urandom device target to MAKEDEV
* sutils/MAKEDEV.sh (urandom): New target.
(std): Add urandom to the standard devices list.
commit 03ab85c02d9366e2ea7a4b7ecf25154f4cf1737f
Author: Samuel Thibault <address@hidden>
Date: Sat Aug 23 16:37:30 2014 +0200
Add missing linefeed
* libpager/object-terminate.c (_pager_seqnos_memory_object_terminate):
Add missing linefeed in error message.
commit d324631edd3c2549a8cda05c2fc56ceea7fe0593
Author: Svante Signell <address@hidden>
Date: Tue Aug 19 19:52:01 2014 +0200
Make settrans return value returned by chroot command
* utils/settrans.c (main): In case of chroot_command, get status from
waitpid()
call, and call error() appropriately.
commit c025e6a9881527d5b0e5b2398278410fb4e42138
Author: Marek Benc <address@hidden>
Date: Thu Jul 17 22:10:16 2014 +0200
Make the ncursesw driver of the console client compile properly
* console-client/Makefile (NCURSESW_SO_SRCS): Move definition to after
inclusion of Makeconf.
commit 2588cd19e83ff454a7fc99e68f1d612945504b72
Author: Richard Braun <address@hidden>
Date: Mon Jun 30 21:28:19 2014 +0200
libpipe: fix spurious calls to pipe_send
* libpipe/pipe.c (pipe_send): Skip processing if there is nothing to send.
commit 6ad2a33e7fc5cda05eefdec789f4a2033645ebbe
Author: Richard Braun <address@hidden>
Date: Sat Jun 28 14:48:24 2014 +0200
Revert "libpipe: fix calls to pipe_send with no data"
This reverts commit 6f856c62613ffc82bf3572a372d2851638c2fb90.
As the comment right above the change says, "this [sending control
packets] depends on the fact that we always write a data packet".
commit 6f856c62613ffc82bf3572a372d2851638c2fb90
Author: Richard Braun <address@hidden>
Date: Sat Jun 28 11:41:21 2014 +0200
libpipe: fix calls to pipe_send with no data
* libpipe/pipe.c (pipe_send): Check that there actually is any data to
send before calling the pipe write operation.
commit 840ffcb30faf335dbec4a0f02614c202ae113ea2
Author: Justus Winter <address@hidden>
Date: Wed Jun 4 17:26:06 2014 +0200
ext2fs: use correct type for block numbers
* ext2fs/dir.c (count_dirents): Use block_t for nb.
(diskfs_get_directs): Likewise for blkno, nblks.
commit 38d064eab719b8334144094d6499c24718a255c1
Author: Justus Winter <address@hidden>
Date: Sun Jun 22 14:48:34 2014 +0200
libdiskfs: fix deadlock
Previously, libdiskfs would deadlock on contention on renamedirlock
due to the lock being taken spuriously.
Found using fsstress from the Linux Test Project.
* libdiskfs/dir-rename.c (diskfs_S_dir_rename): Remove spurious
pthread_mutex_lock.
commit 97707c7b564381f0cdf683c77a6450434cb9b556
Author: Pino Toscano <address@hidden>
Date: Sun Jun 22 17:57:38 2014 +0200
libdiskfs: expose the ST_NOATIME flag
Expose ST_NOATIME as flag (if available in glibc) if diskfs is set in
noatime
mode.
* libdiskfs/file-statfs.c (diskfs_S_file_statfs): Set ST_NOATIME if
_DISKFS_NOATIME is set.
commit 944cfdbe6cff4e8025a730228b48c1a21b4a2e33
Author: Justus Winter <address@hidden>
Date: Tue Jun 10 14:22:31 2014 +0200
libdiskfs: add permission check to file_chflags
Only root is allowed to change the high 16 bits. The TODO entry says
otherwise, but that must be a mistake. For reference, see the glibc
sources, sysdeps/mach/hurd/bits/stat.h.
* libdiskfs/file-chflags.c (diskfs_S_file_chflags): Add permission
check.
* TODO (libdiskfs): Remove entry.
commit 8821d8a213008eb723414c6c70de384830ea10d7
Author: Justus Winter <address@hidden>
Date: Mon Jun 16 17:34:22 2014 +0200
libports: avoid realloc(3) corner case
If the size argument is 0, realloc may either return NULL, or return a
pointer that is only valid for use with free(3). In either case, the
memory is freed. So if realloc would return NULL (it does not on
GNU), the current code would double free p.
Found using the Clang Static Analyzer.
* libports/bucket-iterate.c (_ports_bucket_class_iterate): Avoid
calling realloc if no ports were matched.
commit 470972f3f854e92ee1cc8f1e2ada8412a2b97956
Author: Justus Winter <address@hidden>
Date: Mon Jun 16 16:50:12 2014 +0200
trans/fakeroot: fix error handling
Found using the Clang Static Analyzer.
* trans/fakeroot.c (new_node): Do not leak a pointer to freed memory.
Store NULL at *np instead. This fixes a node use-after-free in
netfs_S_dir_lookup.
commit 7c5f22e6c746e97871c0339c0068825018754822
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 12:17:03 2013 +0100
libshouldbeinlibc: fix dead initialization in fmt_named_interval
Found using the Clang Static Analyzer.
* libshouldbeinlibc/timefmt.c (fmt_named_interval): Fix dead
initialization.
commit b5a6e598c9f596f13d6aec151ee2efb9bf696b21
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 11:58:41 2013 +0100
ftpfs: fix error handling in refresh_dir
Found using the Clang Static Analyzer.
* ftpfs/dir.c (refresh_dir): Fix error handling.
commit fda66d0405f0fdf42cc6c7ae5e494c4ca3c83ad7
Author: David Michael <address@hidden>
Date: Mon Jun 16 15:08:06 2014 -0400
Add mach_debug defs rules
* Makeconf (mach_debug_defs_names,mach_debug_defs): New variables.
* Makeconf: Add rule to generate local $(mach_debug_defs) files.
* procfs/Makefile: Remove vpath for mach_debug defs.
commit 6e047f852cb052cf4cbc50799373c5f13382540d
Author: Justus Winter <address@hidden>
Date: Sun Jun 15 18:44:31 2014 +0200
Add the procfs translator to prog-subdirs
* Makefile (prog-subdirs): Add procfs.
commit 7877d064a4318fb550b3cbcf64f0ec605e4a53e2
Merge: 8672d3f aac4aaf
Author: Justus Winter <address@hidden>
Date: Sun Jun 15 18:33:03 2014 +0200
Merge procfs into the Hurd repository
commit aac4aaf42372f61c78061711916c81a9d5bcb42d
Author: Justus Winter <address@hidden>
Date: Sun Jun 15 18:25:59 2014 +0200
Prepare the procfs translator to be merged into the Hurd sources
Move the procfs translator to its own subdirectory 'procfs'.
This is the last commit to this repository. Development of the procfs
translator will continue in the main Hurd repository.
* procfs/Makefile: Replace the standalone Makefile with the one from
the Debian packaging repository.
commit 8672d3f031f7898c26b2526960c77c4c522fb950
Merge: 370f2fc 12bf328
Author: Justus Winter <address@hidden>
Date: Sun Jun 15 17:58:10 2014 +0200
Merge branch 'merge-random'
commit 370f2fcb4ae7901e34caba64d31027f8cf69a858
Author: Justus Winter <address@hidden>
Date: Wed Jun 11 11:54:18 2014 +0200
utils/settrans: implement settrans --start
Start the translator specified by the NODE's passive translator record
and set it as NODE's active translator. This is the equivalent of
doing:
% settrans --active /node $(showtrans /node)
* utils/settrans.c (argp_option): Add --start.
(parse_opt): Handle --start.
(main): Retrieve the passive translator record if --start is given.
commit 6f874305906b18a6bd7ba02f7dee949948e41262
Author: Justus Winter <address@hidden>
Date: Tue Jun 10 16:20:37 2014 +0200
hurd: fix receiver lookup in termctty_open_terminal
* hurd/hurd_types.h (ctty_t): New type definition.
* hurd/term.defs (ctty_t): New type definition.
* term/mig-decls.h: New file.
* term/mig-mutate.h: Add mutators, includes.
* term/term.h: Add include guards.
* term/users.c (S_termctty_open_terminal): Fix receiver lookup.
* boot/boot.c (S_termctty_open_terminal): Likewise.
commit d73b0ee5f32bdf769a5d9d19c4cc590df07c1bef
Author: Justus Winter <address@hidden>
Date: Tue Jun 10 14:49:46 2014 +0200
term: improve the demuxer
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function.
* term/main.c (demuxer): Improve the demuxer function.
commit 12bf32881d03225c864afbca431cd93f647ab1b3
Author: Justus Winter <address@hidden>
Date: Mon Jun 9 12:08:38 2014 +0200
Add the random translator to prog-subdirs
* Makefile (prog-subdirs): Add random.
commit 707f6cc4dbad734325881c5b275138522188754c
Merge: 10412bf 1ba2ed9
Author: Justus Winter <address@hidden>
Date: Mon Jun 9 11:57:42 2014 +0200
Merge the random translator into the Hurd repository
commit 10412bfccc00708663034a76b1a3c66058bb7545
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 11:45:03 2014 +0200
ext2fs: fix type of retry_dotdot
* ext2fs/dir.c (diskfs_lookup_hard): Use ino_t for retry_dotdot.
commit a69c285856bec047570ce58e827333332f40c2ef
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 11:30:26 2014 +0200
ext2fs: fix type of blockaddr
* ext2fs/dir.c (diskfs_lookup_hard): Use vm_address_t for blockaddr.
commit 4bd281cdd18645a0bffde9748225569eaa85ea44
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 11:29:18 2014 +0200
ext2fs: use size_t where appropriate
* extfs/dir.c: Use size_t where appropriate.
commit 6ec540993675a4d0e60497c7788cb577a79028f8
Author: Justus Winter <address@hidden>
Date: Wed Jun 4 17:05:36 2014 +0200
ext2fs: fix compiler warning
* ext2fs/pager.c (disk_cache_block_ref): block cannot be negative.
commit 655f60be3622bfbd90e87a4038cc9c8190ad7c35
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 10:24:00 2014 +0200
libdiskfs: avoid implicit integer conversion
* libdiskfs/boot-start.c (diskfs_boot_start): Avoid implicit integer
conversion.
commit df7856856f5f2e4535268362526cc039fed69703
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 10:03:17 2014 +0200
libdiskfs: use correct type for disk offsets
* libdiskfs/diskfs.h (struct peropen): Use off_t for filepointer.
commit 8a7b5995f039e43ae918dee691ebb8f960f98db6
Author: Justus Winter <address@hidden>
Date: Wed Jun 4 17:10:36 2014 +0200
hurd: fix type of optimal_transfer_size
* hurd/shared.h (struct shared_io): Use blksize_t for optimal_transfer_size.
commit 027bc17eca80bd379663e645aa9a7c59573bf0de
Author: Justus Winter <address@hidden>
Date: Fri Jun 6 10:20:47 2014 +0200
include: use unsigned literal in combination with binary not
* include/refcount.h (refcounts_promote): Use ~0U.
(refcounts_demote): Likewise.
commit 9d8a274e00cf01d2a2ea137f5dbd6f5edb37c15b
Author: Justus Winter <address@hidden>
Date: Sat May 31 09:16:00 2014 +0200
libnetfs: fix memory leak
* libnetfs/trans-callback.c (_netfs_translator_callback2_fn): Free
user if creating the protid failed.
commit f1e305fca2b4ca79cfed6d406ceb37f3dfb59f70
Author: Justus Winter <address@hidden>
Date: Wed May 28 16:18:23 2014 +0200
tmpfs: use a thread timeout
There is no need to keep all the threads around, just the master
thread.
* tmpfs/tmpfs (diskfs_thread_function): Use a thread timeout.
commit a5ca1de1eb575294dbc865a2c4ff643efc117ef4
Author: Ludovic Courtès <address@hidden>
Date: Sun May 25 01:06:50 2014 +0200
build: Remove checks for 'getgrouplist' and 'uselocale'.
GNU libc has had them for a long time.
* configure.ac: Remove checks for 'getgrouplist' and 'uselocale'.
* libshouldbeinlibc/idvec-impgids.c (_merge_implied_gids): Remove #ifdef
HAVE_GETGROUPLIST and remove #else arm.
* libthreads/cthreads.c: Remove #ifdef HAVE_USELOCALE, keeping its
bodies.
commit ea16c110d8ca67a5460d45600a399078a101ef4f
Merge: 73f5884 3219126
Author: Justus Winter <address@hidden>
Date: Fri May 30 09:41:20 2014 +0200
Merge branch 'master' of git://git.sv.gnu.org/hurd/hurd
commit 73f5884a591f1e2efef948d108927327a054d97c
Author: Justus Winter <address@hidden>
Date: Wed May 21 13:30:24 2014 +0200
libstore: provide function declaration until available upstream
Until the Hurd specific header is available, provide a local
declaration of ped_device_new_from_store.
* libstore/part.c (ped_device_new_from_store): New declaration.
commit 321912626ca7df438e3402d20b529d45f3473d62
Merge: dc7e6a1 2c7ecdc
Author: Samuel Thibault <address@hidden>
Date: Thu May 29 23:09:50 2014 +0200
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit dc7e6a136e9baf98a2323758765aeab7ebae336c
Author: Ludovic Courtès <address@hidden>
Date: Thu May 29 23:09:06 2014 +0200
Disable linking when cross-compiling
* configure.ac: Call AC_NO_EXECUTABLES when cross-compiling.
commit 2c7ecdc6ec8f9d9a27aa7e4e82fa2d84fa55fe9b
Author: Justus Winter <address@hidden>
Date: Thu May 29 02:03:03 2014 +0200
libdiskfs: use a hash table for the name cache
Previously, name cache lookup operation completed in O(n) time. This
means that making the cache too large would decrease the performance.
Therefore it was required to tune the size.
Implement the name cache using a hash table.
We use buckets of a fixed size. We approximate the least-frequently
used cache algorithm by counting the number of lookups using
saturating arithmetic in the two lowest bits of the pointer to the
name. Using this strategy we achieve a constant worst-case lookup and
insertion time.
Since we are not bound by the size of the cache anymore, increase its
size from 200 to 1024.
* libdiskfs/name-cache.c: Implement the name cache using a hash table.
(diskfs_enter_lookup_cache): Change accordingly.
(diskfs_purge_lookup_cache): Likewise.
(diskfs_check_lookup_cache): Likewise. Also, hard code a
cache miss for the parent of the root directory and merge unlocking
and releasing of node references.
commit d0c565fc35e8dc3daa5fb6e9a514c34873e6b204
Author: Justus Winter <address@hidden>
Date: Wed May 28 16:48:04 2014 +0200
libdiskfs: remove the statistics code from the name cache
The current name cache lookup operation completes in O(n) time. This
means that making the cache too large would decrease the performance.
Therefore it was required to tune the size, hence the need for
statistics.
We will use a data structure with worst case constant lookup times in
the future, removing the need to fine tune the cache size.
* libdiskfs/name-cache.c: Remove the statistics code from the name
cache.
commit f6730b267a90ad73116e50b027e869cbe0b01211
Author: Justus Winter <address@hidden>
Date: Sun May 18 14:06:30 2014 +0200
trans/fakeroot: use netfs_node_netnode instead of np->nn
When using fat nodes, expressions of the form E->nn can be rewritten
as netfs_node_netnode (E). This is much faster as it only involves a
offset calculation. For reference, I used the following semantic
patch to create the patch:
@@
expression E;
@@
- E->nn
+ netfs_node_netnode (E)
* trans/fakeroot.c: Use netfs_node_netnode instead of np->nn.
commit 6349d15921134adb4491eb9ce87720a0281a7bd6
Author: Justus Winter <address@hidden>
Date: Sun May 18 13:45:14 2014 +0200
trans/fakeroot: use fat nodes to simplify the node cache
Previously, fakeroot stored netnodes in the hash table. But we are
not interested in a cache for netnodes, we need a node cache. So
fakeroot kept pointers to the associated node object in each netnode
object.
Use fat netfs nodes, which combine node and netnode objects.
* trans/fakeroot.c (struct netnode): Remove np.
(idport_ihash): Fix ihash location pointer offset.
(new_node): Allocate fat nodes, store the node pointer in the hash
table.
(netfs_node_norefs): Adjust accordingly.
(netfs_S_dir_lookup): Likewise.
commit 94fecd72f41542c8dfa82bdf7b47742f8c29b321
Author: Justus Winter <address@hidden>
Date: Sun May 18 13:34:12 2014 +0200
libnetfs: add netfs_make_node_alloc to allocate fat nodes
libnetfs has two kind of nodes, struct node and struct netnode.
struct node is used to store libnetfs specific data, while struct
netnode contains user supplied data. Previously, both objects were
allocated separatly, and a pointer from the node to the netnode
provided a mapping from the former to the latter.
Provide a function netfs_make_node_alloc that allocates both nodes in
a contiguous region.
This reduces the memory allocation overhead when creating nodes. It
also makes the relation between node and netnode a simple offset
calculation. Provide two functions to compute the netnode address
from the node address and vice-versa.
Most notably, this makes implementing a cache on top of libnetfs
easier. Auxiliary data for the cache can be stored in the
user-defined netnode, and the fat node can be used as the value.
* libnetfs/make-node.c (init_node): Move initialization here.
(netfs_make_node): Use init_node.
(netfs_make_node_alloc): New function to allocate fat nodes.
* libnetfs/netfs.h (netfs_make_node_alloc): New declaration.
(_netfs_sizeof_struct_node): Likewise.
(netfs_node_netnode): Compute netnode address from node address.
(netfs_netnode_node): And vice-versa.
* libnetfs/init-init.c (_netfs_sizeof_struct_node): New variable.
commit 80485401a9a5e9df03bd3a1503bc5e59d1f2e5c1
Author: Justus Winter <address@hidden>
Date: Fri May 16 23:06:33 2014 +0200
libdiskfs: add diskfs_make_node_alloc to allocate fat nodes
libdiskfs has two kind of nodes, struct node and struct netnode.
struct node is used to store libdiskfs specific data, while struct
netnode contains user supplied data. Previously, both objects were
allocated separatly, and a pointer from the node to the netnode
provided a mapping from the former to the latter.
Provide a function diskfs_make_node_alloc that allocates both nodes in
a contiguous region.
This reduces the memory allocation overhead when creating nodes. It
also makes the relation between node and netnode a simple offset
calculation. Provide two functions to compute the netnode address
from the node address and vice-versa.
Most notably, this makes implementing a cache on top of libdiskfs
easier. Auxiliary data for the cache can be stored in the
user-defined netnode, and the fat node can be used as the value.
* libdiskfs/node-make.c (init_node): Move initialization here.
(diskfs_make_node): Use init_node.
(diskfs_make_node_alloc): New function to allocate fat nodes.
* libdiskfs/diskfs.h (diskfs_make_node_alloc): New declaration.
(_diskfs_sizeof_struct_node): Likewise.
(diskfs_node_disknode): Compute disknode address from node address.
(diskfs_disknode_node): And vice-versa.
* libdiskfs/init-init.c (_diskfs_sizeof_struct_node): New variable.
commit 65ebcc40e55dfb3ee776383891f8a6b15b176d27
Author: Justus Winter <address@hidden>
Date: Wed May 28 14:37:58 2014 +0200
Do not include the terminating zero in /proc/slabinfo
* rootdir.c (rootdir_gc_slabinfo): Do not zero-terminate the generated
content.
commit 1d1da90042d2ee7a8215dc6291b54bc1ebe59fe4
Author: Justus Winter <address@hidden>
Date: Tue May 6 19:07:13 2014 +0200
libtrivfs: lock-less reference counting for trivfs_peropen objects
* libtrivfs/trivfs.h (struct trivfs_peropen): Use refcount_t for field
refcnt.
(struct trivfs_control): Remove unused field lock.
* libtrivfs/cntl-create.c (trivfs_create_control): Drop the mutex
initialization.
* libtrivfs/io-reauthenticate.c (trivfs_S_io_reauthenticate): Adjust
accordingly.
* libtrivfs/io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
* libtrivfs/open.c (trivfs_open): Initialize refcnt.
* libtrivfs/protid-clean.c (trivfs_clean_protid): Likewise.
* libtrivfs/protid-dup.c (trivfs_protid_dup): Likewise.
commit 5b039a12bf5cfc9c65b8e169ed4503e306f971f3
Author: Justus Winter <address@hidden>
Date: Mon May 26 12:18:08 2014 +0200
libihash: do not use an integer hash function by default
Recently libihash was changed to use an integer hash function on the
keys in an attempt to reduce the rate of collisions (2d898893), which
has long been assumed to be high.
Richard Braun was kind enough to run some benchmarks. He observed:
"1/ Using an extremely simple microbenchmark [1] that merely inserts
keys, either random integers or sequential ones to match the way port
names are managed, it seems that the previous code, despite its
apparent flaws, did quite well.
[1] http://darnassus.sceen.net/gitweb/rbraun/ihtest.git
Using an integer hashing function actually reduces performance on the
sequential integer test case. It makes sense because, considering a
set of consecutive integers starting from 0, and a hash table that
always has more slots than items, a modulo is a perfect hash
function. Even when taking into account that only names for receive
rights are normally managed with libihash, i.e. that keys aren't
actually sequential, they are almost all equally distributed, leading
to very few collisions.
Therefore, as a third option, I've removed the hashing function,
leaving only a fast modulo (an AND) and this variant provided the best
raw results.
2/ I've also built hurd packages multiple times and got average build
times with each variant (previous, new, new without hash function) and
here are the results I obtained respectively : 52m59s, 52m31s, 52m22s."
Do not use the integer hash function on the keys by default.
* libihash/ihash.c (murmur3_mix32): Remove now unused function.
(find_index): Use the fast division method to derive the index.
(add_one): Likewise. Also, update the comment to reflect the current
hashing method.
commit b16f334192dbac002a33c31645e228d349de3c72
Author: Justus Winter <address@hidden>
Date: Sat May 24 20:29:23 2014 +0200
libdiskfs: fix node leak in the name cache
* libdiskfs/name-cache.c (diskfs_check_lookup_cache): Release node
reference in a special case of lookup failure.
commit 4a5f9f683e5446309a077f31d1bb8d8b77415ee2
Author: Justus Winter <address@hidden>
Date: Fri May 23 09:54:10 2014 +0200
trans/mtab: fix initialization
* trans/mtab.c (main): Fix initialization of mtab in one-shot mode.
commit 6c15c9174134be48c57a8ac5f2ff09d0ba5f1df8
Author: Justus Winter <address@hidden>
Date: Sun May 25 14:18:35 2014 +0200
ext2fs: fix diskfs_pager_users
This fixes a bug introduced in 86122789.
* ext2fs/pager.c (diskfs_pager_users): We count file_pager_bucket,
which does not include the disk pagers. Fix condition accordingly.
commit 03fee0acc07c7ec484746ab60b1b55e33b9c19f9
Author: Justus Winter <address@hidden>
Date: Sun May 25 14:37:55 2014 +0200
libpager: drop unused fields from struct pager
* libpager/priv.h (struct pager): Drop fields next, pprev.
commit 22f0bf426ae955c58edb835d6be7be44af5c029d
Author: Justus Winter <address@hidden>
Date: Tue May 20 16:17:17 2014 +0200
term: fix memory leak
I tested this change for some days and have not experienced any
problems with it.
* term/users.c (pi_destroy_hook): Fix memory leak.
commit 1333bbbcc18502328cdd78b2aadc526ebd552a77
Author: Justus Winter <address@hidden>
Date: Tue May 20 16:07:44 2014 +0200
Avoid compiler warning about empty bodies
Make empty bodies of control flow statements more explicit. Doing so
will allow us to use stricter compiler settings. This would have
cought 4ece292c.
* console-client/xkb/xkb.c: Make empty bodies more explicit
* libpipe/pipe.c: Likewise.
* mach-defpager/default_pager.c: Likewise.
* pfinet/linux-src/net/ipv4/fib_hash.c: Likewise.
* pflocal/connq.c: Likewise.
* pflocal/socket.c: Likewise.
commit acddf44071674746d61895d89172481f85ca8d31
Author: Justus Winter <address@hidden>
Date: Wed May 21 13:20:29 2014 +0200
libdiskfs: fix type of dir_cache_id, node_cache_id
* libdiskfs/name-cache.c (struct lookup_cache): Fix type of
dir_cache_id, node_cache_id.
commit 67d467a09126e9246ca7fd57ff63952577497c83
Author: Justus Winter <address@hidden>
Date: Thu May 22 20:14:02 2014 +0200
pfinet: add missing include
* pfinet/linux-src/include/net/addrconf.h: Include ipv6.h.
commit 31b2a835f4ed563ae34a6bc07f5fa1dec9b0fa95
Author: Justus Winter <address@hidden>
Date: Tue May 20 16:02:59 2014 +0200
exec: add missing includes
* exec/exec.c: Include mach/gnumach.h.
* exec/main.c: Include device/device.h.
commit dc00a94df4a06764d822b29cbf35b532343821c8
Author: Justus Winter <address@hidden>
Date: Tue May 6 18:58:10 2014 +0200
libdiskfs: lock-less reference counting for peropen objects
* libdiskfs/diskfs.h (struct peropen): Use refcount_t for field refcnt.
* libdiskfs/peropen-make.c (diskfs_make_peropen): Initialize refcnt.
* libdiskfs/peropen-rele.c (diskfs_release_peropen): Adjust accordingly.
* libdiskfs/protid-make.c (diskfs_start_protid): Likewise. Also, the
node must no longer be locked, adjust comment accordingly.
(diskfs_create_protid): Likewise.
commit 122224d32894a8465a09561fc0a5220f5bb9c2c7
Author: Justus Winter <address@hidden>
Date: Thu May 22 20:25:22 2014 +0200
Implement /proc/slabinfo
Add a node 'slabinfo' to the root directory that contains information
about the slab allocator used in GNU Mach.
The formatting code has been taken from Richard Braun's standalone
client available here:
git://darnassus.sceen.net/rbraun/slabinfo.git
* rootdir.c (rootdir_gc_slabinfo): New function.
(rootdir_entries): Add node 'slabinfo'.
* Makefile (OBJS): Add mach_debugUser.o.
(rootdir.o): Add an explicit dependency on mach_debug_U.h.
Furthermore, add rules to create both functions.
commit b793108b09138edf0a963d9e3107eb400ee27011
Author: Justus Winter <address@hidden>
Date: Thu May 22 20:04:33 2014 +0200
include: install refcount.h
* include/Makefile (installhdrs): Add refcount.h.
commit 353fe33eb2481a14dc324c7c2e52b2032df86465
Author: Justus Winter <address@hidden>
Date: Mon May 19 16:46:33 2014 +0200
trans/fakeroot: override fshelp_isowner
As of recently, fakeroot would fail to create symlinks:
% fakeroot-hurd ln -s foo a
ln: failed to create symbolic link ‘a’: Operation not permitted
Fix this by overriding fshelp_isowner.
Various netfs functions will call fshelp_isowner to check whether USER
is allowed to do some operation. As fakeroot is not running within
the fakeauth'ed environment, USER contains the real user.
I have no explanation why this ever worked.
* trans/fakeroot.c (fshelp_isowner): New function.
commit e30e04d4f5cef2af6400847b5e102b5877372f27
Author: Justus Winter <address@hidden>
Date: Tue May 6 19:52:04 2014 +0200
include: add lock-less reference counting primitives
* include/refcount.h: New file.
commit 689b3f9b8fb68218515c05b3b7b13ff4e21c6c76
Author: Justus Winter <address@hidden>
Date: Thu May 15 13:53:16 2014 +0200
libihash: add hurd_ihash_get_load
* libihash/ihash.c (hurd_ihash_add): Move the code computing the load
factor of the hash table...
* libihash/ihash.h (hurd_ihash_get_load): ... here, together with the
comment describing the method and the rationale for chosing binary
percent.
commit 198ab077a14511e0af5f430f89ff2b1abacb1fd6
Author: Justus Winter <address@hidden>
Date: Thu May 15 17:57:10 2014 +0200
libihash: fix typo
* libihash/ihash.c (hurd_ihash_add): Fix typo.
commit 868a820a19ff66c370cf40573ac89738386513c3
Author: Justus Winter <address@hidden>
Date: Fri May 16 10:13:02 2014 +0200
proc: move translation functions to mig-decls.h
* proc/hash.c (reqport_find): Move this function...
* proc/proc.h (process_drop): ... and this...
* proc/mig-decls.h: ... here and rename them.
* proc/mig-mutate.h: Update accordingly.
commit 820241ead7e31082fa99f3e756c6aa73aae7d88b
Author: Justus Winter <address@hidden>
Date: Fri May 16 13:15:03 2014 +0200
trans/fakeroot: use C99-style struct initialization
* trans/fakeroot.c (main): Use C99-style struct initialization to
initialize argp. This avoids a warning about missing field
initializers.
commit 2e009c2f45dca5d8070653042c05c17aa4d0d692
Author: Justus Winter <address@hidden>
Date: Fri May 16 13:07:40 2014 +0200
trans/fakeroot: fix comparison between signed and unsigned
* trans/fakeroot.c (netfs_attempt_chown): Fix comparison between
signed and unsigned integer expressions.
commit 4ece292c3fba7ec8f02b057a069943a325d091db
Author: Justus Winter <address@hidden>
Date: Fri May 16 12:50:35 2014 +0200
trans/fakeroot: remove spurious semicolon
A spurious semicolon caused a control flow bug in check_openmodes,
leading to a port leak.
* trans/fakeroot.c (check_openmodes): Remove spurious semicolon.
commit e2be8995642cd962b7d61c9c231980de88302d50
Author: Justus Winter <address@hidden>
Date: Tue May 13 18:59:10 2014 +0200
libihash: use fast binary scaling to determine the load
Expressing the maximum load in binary percent (where 128b% corresponds
to 100%) allows us to use fast binary scaling to determine if the
maximum load has been reached without losing precision.
Furthermore, the previously used expression 'ht->nr_items * 100'
overflows int at 2^25 (unsigned int at 2^26). When a hash table
reached that limit, it would fail to resize and fill up the table.
This change fixes that.
* libihash/ihash.c (hurd_ihash_set_max_load): Update the comment.
(hurd_ihash_add): Use fast binary scaling to determine the current
load.
* libihash/ihash.h (struct hurd_ihash): Update comment for max_load.
(hurd_ihash_set_max_load): Update the comment.
commit 57341e5be12f79ee1916369679bb6507a10fcac9
Author: Justus Winter <address@hidden>
Date: Thu May 8 18:33:57 2014 +0200
libihash: use linear probing and fast modulo operation
libihash uses open addressing. Previously, quadratic probing in both
directions was used to resolve collisions. Quadratic probing might
result in a less efficient use of caches.
Also, prime numbers of the form 4 * i + 3 were used as array sizes.
This was used in combination with the integer modulo operation for
hashing. It has been known for some time that libihash suffers from
collisions, so a integer hash function is now applied to the keys to
derive the index.
Use linear probing instead. Also, use powers of two for the array
sizes, so a bit mask can be used for the modulo operation.
* libihash/ihash.c (ihash_sizes, ihash_nsizes): Remove.
(find_index): Use linear probing and fast modulo operation.
(add_one): Likewise.
* libihash/ihash.h (HURD_IHASH_MIN_SIZE): New macro.
commit 2d898893815a980f1b821fcec267eb8e7ded678e
Author: Justus Winter <address@hidden>
Date: Thu May 8 15:45:00 2014 +0200
libihash: use an integer hash function on the keys
Use an integer hash function to derive the index from the key. This
should reduce the number of collisions.
* libihash/ihash.c (hash_int32): New function.
(find_index): Use hash_int32 on the key to derive the index.
(add_one): Likewise.
commit 6dcf53606fc7d46447176aab15954a897e19d6e5
Author: Justus Winter <address@hidden>
Date: Tue May 13 19:00:04 2014 +0200
libihash: fix type of max_load
Previously, int was used for the field max_load of struct hurd_ihash.
There is no reason for this as far as I can tell. Furthermore,
hurd_ihash_set_max_load takes an unsigned int max_load.
* libihash/ihash.h (struct hurd_ihash): Use unsigned int for field
max_load.
commit 1a3d809146c95cd138bad7bd42eb923af0a23493
Author: Justus Winter <address@hidden>
Date: Thu May 8 16:43:11 2014 +0200
libihash: reduce the default maximum load factor to 75%
The performance of hash tables depend critically on a low number of
hash collisions. As the table fills up, the chance of collisions
necessarily raises.
Previously, libihash resized the hash table when the load exceeded
80%. This seems a bit optimistic (e. g. java.util.Hashtable uses 75%
as default).
* libihash/ihash.h (HURD_IHASH_MAX_LOAD_DEFAULT): Set to 75.
commit 134b450cb65b1986c78e0b292cff78c2f1882a2b
Author: Justus Winter <address@hidden>
Date: Thu Apr 24 17:44:14 2014 +0200
ext2fs: cache the superblock
Previously, the superblock was mmaped and a pointer stored in sblock
by map_hypermetadata. This memory is backed by our disk pager.
This is rather unfortunate, as this means that whenever we read a
value from that location, we might generate a request our disk pager.
This amplifies the so-called thread-storm problem.
Rather than relying on a mmaped region of memory, just use the data
loaded by get_hypermetadata.
* ext2fs/hyper.c (get_hypermetadata): Do not free sblock.
(mapped_sblock): New variable.
(map_hypermetadata): Map the superblock to mapped_sblock instead.
(diskfs_set_hypermetadata): Copy superblock into mapped_superblock.
* ext2fs/ext2fs.h (get_hypermetadata, map_hypermetadata): Adjust
comments accordingly.
commit 261d957ebe4cf16aed76eed24b5bfd32f1f5a79a
Author: Justus Winter <address@hidden>
Date: Wed Apr 30 01:10:05 2014 +0200
fatfs: use two distinct pager buckets for the disk and file pager
fatfs has two kinds of pagers. One for the files, one for the disk.
Previously, both were in the same port bucket.
If a request for a file pager arrives, it most likely touches some
metadata (like the superblock). This is in turn backed by the disk
pager, so another request is generated for the disk pager.
Seperate all pagers clearly by using two port buckets. This will
enable us to use a single thread per port bucket in the future.
* fatfs/pager.c (pager_bucket): Rename to...
(disk_pager_bucket): ... this to make the change explicit at every
occurrence.
(file_pager_bucket): New variable.
(service_paging_requests): New function.
(create_fat_pager): Also create the file pager.
(diskfs_get_filemap): Handout pagers from the file_pager_bucket.
(diskfs_shutdown_pager): This is only concerned with the file pager.
Simplify code accordingly.
(diskfs_sync_everything): Likewise.
(diskfs_pager_users): Likewise.
(diskfs_max_user_pager_prot): Likewise.
(disable_caching): Iterate over both buckets.
(enable_caching): Likewise.
commit 3ad900b84497a2e619c30f76670e4757e8765f3e
Author: Justus Winter <address@hidden>
Date: Sun May 4 12:14:58 2014 +0200
libports: unlock _ports_lock on malloc failure
* libports/bucket-iterate.c (_ports_bucket_class_iterate): Unlock
_ports_lock on malloc failure.
commit 8612278973d167a20f4d60d018f18c6975b37cca
Author: Justus Winter <address@hidden>
Date: Sat Apr 26 19:48:18 2014 +0200
ext2fs: use two distinct pager buckets for the disk and file pager
ext2fs has two kinds of pagers. One for the files, one for the disk.
Previously, both were in the same port bucket.
If a request for a file pager arrives, it most likely touches some
metadata (like the superblock). This is in turn backed by the disk
pager, so another request is generated for the disk pager.
Seperate all pagers clearly by using two port buckets. This will
enable us to use a single thread per port bucket in the future.
* ext2fs/pager.c (pager_bucket): Rename to...
(disk_pager_bucket): ... this to make the change explicit at every
occurrence.
(file_pager_bucket): New variable.
(service_paging_requests): New function.
(create_disk_pager): Also create the file pager.
(diskfs_get_filemap): Handout pagers from the file_pager_bucket.
(diskfs_shutdown_pager): This is only concerned with the file pager.
Simplify code accordingly.
(diskfs_sync_everything): Likewise.
(diskfs_pager_users): Likewise.
(diskfs_max_user_pager_prot): Likewise.
(disable_caching): Iterate over both buckets.
(enable_caching): Likewise.
commit 151133a33c18e9ba103cea77a269b56c6f5cf23a
Author: Justus Winter <address@hidden>
Date: Wed Apr 30 02:08:41 2014 +0200
tmpfs: improve diskfs_node_iterate
Currently, diskfs_node_iterate iterates twice over all nodes. The
first time only to determine the number of nodes. Simply count them
instead.
* tmpfs/node.c (all_nodes_nr_items): New variable.
(diskfs_free_node): Decrement all_nodes_nr_items.
(diskfs_node_norefs): Likewise.
(diskfs_cached_lookup): Increment all_nodes_nr_items.
(diskfs_node_iterate): Fix type of sum_nodes, use all_nodes_nr_items.
commit ff9e97b120076b8707474b4580e1bab205f6dd62
Author: Justus Winter <address@hidden>
Date: Wed Apr 30 02:04:31 2014 +0200
fatfs: improve diskfs_node_iterate
Currently, diskfs_node_iterate iterates twice over all nodes in the
cache. The first time only to determine the number of nodes currently
in the cache. Simply count them instead.
* fatfs/inode.c (nodehash_nr_items): New variable.
(diskfs_cached_lookup): Increment nodehash_nr_items.
(diskfs_cached_lookup_in_dirbuf): Likewise.
(diskfs_node_norefs): Decrement nodehash_nr_items.
(diskfs_node_iterate): Fix the type of num_nodes, use nodehash_nr_items.
commit 85f3757d3ce0e9700cd647420e0257b69b91b9e9
Author: Justus Winter <address@hidden>
Date: Tue Apr 29 18:28:22 2014 +0200
ext2fs: improve diskfs_node_iterate
Currently, diskfs_node_iterate iterates twice over all nodes in the
cache. The first time only to determine the number of nodes currently
in the cache. Simply count them instead.
* ext2fs/inode.c (nodehash_nr_items): New variable.
(diskfs_cached_lookup): Increment nodehash_nr_items.
(diskfs_node_norefs): Decrement nodehash_nr_items.
(diskfs_node_iterate): Fix the type of num_nodes, use nodehash_nr_items.
commit c9fa217a8ed0c167c41800e892c913c1649463a8
Author: Justus Winter <address@hidden>
Date: Wed Apr 30 01:13:47 2014 +0200
fatfs: simplify expression
* fatfs/pager.c (add_pager_max_prot): Simplify expression.
commit 97737d1ee3ce95e45a1a4aa636cc2e11a106a9f5
Author: Justus Winter <address@hidden>
Date: Sat Apr 26 12:20:20 2014 +0200
libports: reduce malloc overhead in _ports_bucket_class_iterate
_ports_bucket_class_iterate creates a snapshot of the buckets hash
table. This is done so that the lock protecting the hash table can be
released while we iterate over the snapshot.
Formerly, a linked list was used to store the snapshot. As the
maximal number of items is known, using an array is much simpler.
_ports_bucket_class_iterate implements both ports_bucket_iterate and
ports_class_iterate. For this change might make ports_class_iterate
less efficient memory-wise if the number of ports belonging to the
class is low with respect to the number of ports in the bucket. If
this happens, we allocate too much. Alleviate this by releasing
unused memory.
On the other hand, the array representation is more compact.
Furthermore a survey of the Hurd code revealed that
ports_class_iterate is rarely used, while ports_bucket_iterate is used
more often, most prominently in paging code.
* libports/bucket-iterate.c (_ports_bucket_class_iterate): Use an
array instead of a linked list.
commit 453e7fc9f7116b4251d6cc5dde5110bdd183797c
Author: Justus Winter <address@hidden>
Date: Sun Apr 27 13:52:20 2014 +0200
ext2fs: simplify expression
* ext2fs/pager.c (add_pager_max_prot): Simplify expression.
commit 749820d7dcf8ba05d025f985f0fdc17bd6658489
Author: Justus Winter <address@hidden>
Date: Thu Apr 24 17:32:04 2014 +0200
ext2fs: fix type of inum
Previously, inum was of type int, whereas dino_ref expects ino_t. On
Hurd/x86 the former is 32 bit wide, the latter 64. If dino_ref is
inlined, this does not seem to pose a problem, but if ext2fs is
compiled with -O0, this most likely results in an invalid memory access.
* ext2fs/ialloc.c (ext2_alloc_inode): Use type ino_t for inum.
commit ceffc4581e83ce1299c96a17c9c5352f491d488d
Author: Justus Winter <address@hidden>
Date: Sun Apr 27 08:43:17 2014 +0200
exec: abbreviate the task name if necessary
* exec/exec.c (do_exec): If the formatted task name exceeds
TASK_NAME_SIZE, abbreviate it.
commit c62117165e685beba2f210f87d7d88f578a9322e
Author: Justus Winter <address@hidden>
Date: Thu Apr 17 15:43:11 2014 +0200
libports: work around bugs in server termination
Some servers use ports_manage_port_operations_one_thread to process
requests and terminate when it returns. Since many of them don't detach
before shutting down, a client may receive an error if its request
arrived while the server is shutting down. Prevent those spurious errors
by forcing ports_manage_port_operations_one_thread not to return.
This is the same change as 235491231bdd1fd93507c835767503f047e10b91
introduced for ports_manage_port_operations_multithread.
* libports/manage-one-thread.c
(ports_manage_port_operations_one_thread): Force timeout to 0.
commit 80a50c59331faf268947f97ca702cb9a1d9881cd
Author: Justus Winter <address@hidden>
Date: Sat Apr 26 13:16:23 2014 +0200
libdiskfs: set the default sync interval to 30 seconds
The default sync interval has been changed in 9e55fdd7 from 30 to 5
seconds. This change was not reflected in the documentation.
At least for current hardware, using 30 seconds instead of just 5
alleviates the thread-storm problem. Make 30 seconds the default
again.
* libdiskfs/priv.h (DEFAULT_SYNC_INTERVAL): Set to 30 seconds.
commit 095e5cb398048c939b926094dcdaee6d1a7f3903
Author: Samuel Thibault <address@hidden>
Date: Tue Apr 22 19:55:18 2014 +0200
Add missing receiver lookup fix
following 7cb7fa6b3a0d02985b4a51f7823bc1cb631d6bfa
* proc/mgt.c (S_proc_exception_raise): Do not dereference e on returning
EINVAL, the translation functions does it for us.
commit 9334b33e782dd9f514590665ed86e350d7ff8eee
Merge: 845ab0f 263118a
Author: Samuel Thibault <address@hidden>
Date: Tue Apr 22 19:25:36 2014 +0200
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 845ab0f42211847b2cdd498241d5080fb155f8b7
Author: Samuel Thibault <address@hidden>
Date: Tue Apr 22 19:23:59 2014 +0200
Add TODO about fork() making rpctrace emit an error
* utils/rpctrace.c (rewrite_right): Explain why the unknown send right
error happens on fork().
commit 263118a6681918add6861eaede318657ee23b7c4
Author: Ludovic Courtès <address@hidden>
Date: Sat Apr 12 18:33:35 2014 +0200
build: Remove configure check for libcrypt.
GNU libc has provided the 'crypt' function in libcrypt for a long time,
making this check unnecessary.
* configure.ac: Remove libcrypt check and 'LIBCRYPT' substitution.
* config.make.in (LIBCRYPT): Remove.
* trans/Makefile (password-LDLIBS): Change $(LIBCRYPT) to -lcrypt.
* utils/Makefile (login-LDLIBS, addauth-LDLIBS, setauth-LDLIBS):
Likewise.
commit 20e078293697dd99ddcf2c2151c9f075409cc185
Author: Justus Winter <address@hidden>
Date: Tue Apr 15 18:38:08 2014 +0200
Include the MIG-generated server header files
This enables the compiler to check that the server function
declarations match MIGs expectations. Fix a few oddities along the
way.
* console-client/trans.c: Include MIG-generated server header file(s).
* console/console.c: Likewise. Also, fix declarations.
* console/mutations.h (TIOCTL_IMPORTS): Just use libnetfs/priv.h.
* console/priv.h: Delete now unused file.
* ext2fs/storeinfo.c: Include MIG-generated server header file(s).
* fatfs/inode.c: Likewise.
* fatfs/main.c: Likewise. Also, fix declaration.
* isofs/inode.c: Likewise.
* libdiskfs/boot-start.c: Likewise.
* libdiskfs/file-chg.c: Include the correct MIG-generated server header
file.
* libdiskfs/file-chmod.c: Include MIG-generated server header file(s).
* libdiskfs/file-get-fs-opts.c: Likewise.
* libdiskfs/init-startup.c: Likewise.
* libnetfs/file-get-children.c: Likewise.
* libnetfs/file-getcontrol.c: Include the correct MIG-generated server
header file.
* libnetfs/file-set-translator.c: Include MIG-generated server header
file(s).
* libnetfs/fsstubs.c: Likewise.
* libtrivfs/file-access.c: Likewise.
* libtrivfs/file-chauthor.c: Likewise.
* libtrivfs/file-chflags.c: Likewise.
* libtrivfs/file-chg.c: Likewise.
* libtrivfs/file-chmod.c: Likewise.
* libtrivfs/file-chown.c: Likewise.
* libtrivfs/file-exec.c: Likewise.
* libtrivfs/file-get-children.c: Likewise.
* libtrivfs/file-get-fs-options.c: Likewise.
* libtrivfs/file-get-source.c: Likewise.
* libtrivfs/file-get-storage-info.c: Likewise.
* libtrivfs/file-get-trans.c: Likewise.
* libtrivfs/file-get-transcntl.c: Likewise.
* libtrivfs/file-getcontrol.c: Likewise.
* libtrivfs/file-getfh.c: Likewise.
* libtrivfs/file-getlinknode.c: Likewise.
* libtrivfs/file-lock.c: Likewise.
* libtrivfs/file-reparent.c: Likewise.
* libtrivfs/file-set-size.c: Likewise.
* libtrivfs/file-set-trans.c: Likewise.
* libtrivfs/file-statfs.c: Likewise.
* libtrivfs/file-sync.c: Likewise.
* libtrivfs/file-syncfs.c: Likewise.
* libtrivfs/file-utimes.c: Likewise.
* libtrivfs/fsys-forward.c: Likewise.
* libtrivfs/fsys-get-options.c: Likewise.
* libtrivfs/fsys-getroot.c: Likewise.
* libtrivfs/fsys-goaway.c: Likewise.
* libtrivfs/fsys-set-options.c: Likewise.
* libtrivfs/fsys-stubs.c: Likewise.
* libtrivfs/fsys-syncfs.c: Likewise.
* libtrivfs/io-async-icky.c: Likewise.
* libtrivfs/io-async.c: Likewise.
* libtrivfs/io-duplicate.c: Likewise.
* libtrivfs/io-identity.c: Likewise.
* libtrivfs/io-map.c: Likewise.
* libtrivfs/io-modes-get.c: Likewise.
* libtrivfs/io-modes-off.c: Likewise.
* libtrivfs/io-modes-on.c: Likewise.
* libtrivfs/io-modes-set.c: Likewise.
* libtrivfs/io-owner-get.c: Likewise.
* libtrivfs/io-owner-mod.c: Likewise.
* libtrivfs/io-pathconf.c: Likewise.
* libtrivfs/io-read.c: Likewise.
* libtrivfs/io-readable.c: Likewise.
* libtrivfs/io-reauthenticate.c: Likewise.
* libtrivfs/io-restrict-auth.c: Likewise.
* libtrivfs/io-revoke.c: Likewise.
* libtrivfs/io-seek.c: Likewise.
* libtrivfs/io-select.c: Likewise.
* libtrivfs/io-stat.c: Likewise.
* libtrivfs/io-stubs.c: Likewise.
* libtrivfs/io-version.c: Likewise.
* libtrivfs/io-write.c: Likewise.
* pfinet/tunnel.c: Likewise.
* storeio/io.c: Likewise.
* storeio/storeio.c: Likewise.
* term/users.c: Likewise.
* tmpfs/node.c: Likewise.
* trans/fakeroot.c: Likewise. Also, include all server headers that provide
the X_server_routine functions...
(netfs_demuxer): ... that were previously declared here.
* trans/fifo.c: Include MIG-generated server header file(s).
* trans/firmlink.c: Likewise.
* trans/hello-mt.c: Likewise.
* trans/hello.c: Likewise.
* trans/magic.c: Likewise.
* trans/mtab.c: Likewise.
* trans/new-fifo.c: Likewise.
* trans/null.c: Likewise.
* trans/proxy-defpager.c: Likewise.
* trans/streamio.c: Likewise.
* libdiskfs/fsmutations.h: Qualify the import with the libraries path.
Without this change, out-of-tree builds would no longer work.
* libnetfs/mutations.h: Likewise.
* libtrivfs/mig-mutate.h: Likewise.
commit f1aa15a509d4249b19bb3d7f1f388829dd5135f8
Author: Justus Winter <address@hidden>
Date: Tue Apr 15 13:54:19 2014 +0200
libpager: fix notify_port_t receiver lookups
This fixes one more occurence of a notify_port_t receiver lookup that
I overlooked in 5a4926dd52aed56913cbe10592063ff0da753700.
* libpager/no-senders.c: Include "notify_S.h" so that the compiler can
spot such mistakes in the future.
(_pager_do_seqnos_mach_notify_no_senders): Fix receiver lookup.
commit 5a4926dd52aed56913cbe10592063ff0da753700
Author: Justus Winter <address@hidden>
Date: Mon Apr 14 16:39:25 2014 +0200
libpager: fix notify_port_t receiver lookups
* libpager/mig-mutate.h: Add mutators.
* libpager/notify-stubs.c: Adjust accordingly.
commit 210793d5144562f2ab51a8b3f0969ab498a6a9c7
Author: Justus Winter <address@hidden>
Date: Sun Apr 13 19:29:57 2014 +0200
console: fix notify_port_t receiver lookups
This complements e9687ec4ff525ae4a88314ba4ae97da770bd012f.
* console/display.c: Fix receiver lookups, adjust function declarations.
* console/mutations.h: Add NOTIFY mutators.
commit 41da689280091dcabd153b77627818b0a89645bf
Author: Justus Winter <address@hidden>
Date: Thu Apr 10 18:48:14 2014 +0200
boot: remove the ourdevice hack
Previously, the device definitions were filtered using sed to replace
the device_t type with mach_port_send_t to make the device argument of
device_open polymorphic. Rather than doing that, which makes it
impossible to use translation functions, the definition of device_open
has been amended.
* boot/Makefile: Remove the ourdevice hack.
* boot/boot.c: Adjust the include accordingly.
commit d49d0ac8d97e30a9b3a9140af6e9f402d39654c2
Author: Justus Winter <address@hidden>
Date: Sat Apr 12 09:31:24 2014 +0200
console-client: drop DIST_FILES from Makefile
Since 50bfb9acf98d5f4c0c5948cc28285e990b40b659 git is used to produce
dist tarballs.
* console-client/Makefile (DIST_FILES): Do not set obsolete variable.
commit e77f00db5097d741f27c74c03d194a233f648615
Author: Justus Winter <address@hidden>
Date: Wed Apr 9 16:55:49 2014 +0200
libports: fix receiver lookup
* libports/interrupt-operation.c (ports_S_interrupt_operation): Fix
receiver lookup.
* libports/mig-mutate.h: Add mutators.
* libports/ports.h: Remove superfluous declarations.
commit ddddd501fedda7f0462702717e634f7be107bd32
Author: Justus Winter <address@hidden>
Date: Wed Apr 9 16:53:16 2014 +0200
hurd: add a new type interrupt_t for the interrupt protocol
* hurd/hurd_types.defs (interrupt_t): New type.
* hurd/hurd_types.h (interrupt_t): Likewise.
* hurd/interrupt.defs (interrupt_operation): Use the new type.
commit e9687ec4ff525ae4a88314ba4ae97da770bd012f
Author: Justus Winter <address@hidden>
Date: Sat Apr 5 17:40:24 2014 +0200
libports: fix notify_port_t receiver lookups
* libports/Makefile (MIGSFLAGS): Include mig-mutate.h.
* libports/mig-decls.h: New file.
* libports/mig-mutate.h: Likewise.
* libports/notify-dead-name.c: Fix receiver lookups.
* libports/notify-no-senders.c: Likewise.
* libports/notify-msg-accepted.c: Adjust function declaration.
* libports/notify-port-deleted.c: Likewise.
* libports/notify-port-destroyed.c: Likewise.
* libports/notify-send-once.c: Likewise.
* libports/ports.h: Likewise.
* proc/Makefile (MIGSFLAGS): Include mig-mutate.h, move PROCESS mutators...
* proc/mig-mutate.h: ... into a new file, add NOTIFY mutators.
* proc/notify.c: Fix receiver lookups, adjust function declarations.
* term/devio.c (ports_do_mach_notify_send_once): Adjust accordingly.
commit e27425e63392683b85101961489a83e0abef133b
Author: Justus Winter <address@hidden>
Date: Fri Apr 4 18:17:54 2014 +0200
libdiskfs: fix receiver lookup
* libdiskfs/Makefile (exec_startup-MIGSFLAGS): New variable.
* libdiskfs/diskfs.h (struct bootinfo): New struct declaration.
(diskfs_begin_using_bootinfo_port): New function.
(diskfs_end_using_bootinfo): Likewise.
* libdiskfs/fsmutations.h: Add mutators for exec_startup_t.
* libdiskfs/priv.h (bootinfo_t): New type declaration to appease mig.
* libdiskfs/boot-start.c (S_exec_startup_get_info): Fix receiver lookup.
commit f274c66b2141aca0f332e272b77cd0a048cef7f6
Author: Justus Winter <address@hidden>
Date: Fri Nov 29 12:35:13 2013 +0100
exec: fix receiver lookup
* exec/Makefile (exec_startup-MIGSFLAGS): New variable.
* exec/execmutations.h: Add mutators for exec_startup_t.
* exec/mig-decls.h: New file.
* exec/priv.h (bootinfo_t): New type declaration to appease mig.
* exec/exec.c (S_exec_startup_get_info): Fix receiver lookup.
commit b939d0b64ac0cfb90e672386a8586a5515ebcd16
Author: Justus Winter <address@hidden>
Date: Fri Apr 4 17:11:21 2014 +0200
hurd: add a new type for the exec_startup protocol
* hurd/hurd_types.defs (exec_startup_t): New type.
* hurd/hurd_types.h (exec_startup_t): Likewise.
* hurd/exec_startup.defs: Honor EXEC_STARTUP_IMPORTS.
(exec_startup_get_info): Use the new type as receiver.
commit 7b31485553ed6a1cbc1ddde0ae3e678e404d1f97
Merge: 58f78ea b7cbdde
Author: Samuel Thibault <address@hidden>
Date: Fri Apr 4 22:57:30 2014 +0200
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 58f78ea0c81a106cb2b9220eb9290bef15466cd9
Author: Samuel Thibault <address@hidden>
Date: Fri Apr 4 20:55:34 2014 +0200
Fix spurious unlock on error
Thanks Cyril Roelandt for finding the issue.
* libdiskfs/dir-renamed.c (diskfs_rename_dir): On diskfs_lookup error,
set fnp to NULL to avoid unlocking it spuriously.
commit b7cbdde8854ee4c51ec9cd49ce639bd02d646355
Author: Justus Winter <address@hidden>
Date: Mon Mar 3 20:48:20 2014 +0100
libpager: fix receiver lookups
Previously, the receiver lookup was done manually in all the server
functions. Use mig translator functions instead.
* libpager/mig-decls.h: New file.
* libpager/mig-mutate.h: Likewise.
* libpager/Makefile (MIGSFLAGS): Include mig-mutate.h.
* libpager/chg-compl.c: Fix receiver lookups.
* libpager/data-request.c: Likewise.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/stubs.c: Likewise.
* libpager/seqnos.c (_pager_update_seqno): Move the actual
functionality...
(_pager_update_seqno_p): ... into a new function that can be called
with a pointer to struct pager.
* libpager/priv.h (_pager_update_seqno_p): New declaration.
commit 64b5d358fcaa039ca2e7634aceaa5ed4c3a10cc4
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 26 04:09:39 2014 +0100
Handle fonts with multiple-of-8 bbox width
* console-client/vga-dynafont.c (dynafont_new): When the bbox width of
the font is a multiple of 8, set width to 8. Reject any other value
than 8 or 9 with EINVAL.
commit 17126af519bf8e43ecef76c4ebd7f205c4c4daa8
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 26 04:05:27 2014 +0100
Fix setting LGE flag
* console-client/vga-support.c (vga_set_font_width): Fix setting the
`VGA_ATTR_MODE_LGE' flag.
commit f5fb893ef5db2bf0e70aa0ba108c9d189fea607b
Merge: 25ae24c 07e46eb
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 26 03:49:07 2014 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 25ae24c53dbada6be01791c5f15b26d103ee588d
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 26 03:44:57 2014 +0100
Align VGA buffers
Some "hardware" (such as kvm on linux 3.2) would hang when transferring
between video memory and unaligned main memory. This also allows
better optimized transfers anyway.
Thanks Petter Reinholdtsen for the report and patient tests.
* console-client/vga-support.c (vga_state): Force maximum alignment of
`videomem' and `fontmem' fields.
commit 07e46eb2e25583f0f3e06342f0c854769b353b10
Author: Justus Winter <address@hidden>
Date: Sat Mar 15 14:06:15 2014 +0100
mach-defpager: replace the magic typecast with a hash table
Previously, the mach-defpager used a "magic typecast" for object
lookups. It renamed the port to the address of the associated object,
and upon receiving a message it would cast the port name back to a
pointer.
While this might seem like an optimization, it actually makes the port
handling in the kernel less efficient. Ports with small continuous
names are stored in an array, while other ports get spilled in a splay
tree.
Replace the linked list of default_port_t objects with a hash table.
Do not rename the ports, rather use the hash table to lookup objects
associated with ports.
* mach-defpager/default_pager.c (struct pager_port): Replace queue
with hash table, remove count, move type declaration to priv.h.
(pager_port_list_init): Adjust accordingly.
(pager_port_list_insert): Likewise.
(pager_port_list_delete): Likewise.
(destroy_paging_partition): Replace queue_iterate with HURD_IHASH_ITERATE.
(S_default_pager_objects): Likewise.
(S_default_pager_object_pages): Likewise.
(seqnos_memory_object_create): Do not rename the port but store it in
the hash table.
(S_default_pager_object_create): Likewise.
* mach-defpager/priv.h (struct dstruct): Add fast-removal pointer.
(pnameof): Remove obsolete macro definition.
(dnameof): Likewise.
* mach-defpager/mig-decls.h (begin_using_default_pager): Replace the
magic typecast with a hash table lookup.
* mach-defpager/Makefile (HURDLIBS): Add ihash.
commit 6d5511668545d00da4e3e5dd142b4f082c76b083
Author: Justus Winter <address@hidden>
Date: Sat Mar 15 14:38:04 2014 +0100
mach-defpager: fix local includes
* mach-defpager/default_pager.c: Fix local includes.
* mach-defpager/main.c: Likewise.
* mach-defpager/setup.c: Likewise.
commit 1e981ffc8654910d868bac129c48b1381b935945
Author: Justus Winter <address@hidden>
Date: Wed Mar 5 18:44:10 2014 +0100
mach-defpager: fix receiver lookups
Previously, the receiver lookup was done manually in all the server
functions. Use mig translator functions instead.
* mach-defpager/mig-decls.h: New file.
* mach-defpager/mig-mutate.h: Likewise.
* mach-defpager/Makefile (MIGSFLAGS): Include mig-mutate.h.
* mach-defpager/mach-defpager.c: Fix receiver lookups, move type
definitions...
* mach-defpager/priv.h: ... here, so that they can be used in
mig-decls.h.
commit 71ee95fecd6b8afb2b19914b2395f63c44a8e812
Author: Justus Winter <address@hidden>
Date: Fri Mar 7 20:31:14 2014 +0100
hurd: fix receiver type, honor DEFAULT_PAGER_IMPORTS
* hurd/default_pager.defs: Honor DEFAULT_PAGER_IMPORTS.
(default_pager_object_set_size): Fix receiver type.
commit 52fdfc82a1ceef6251f816c64fc64fc78bd9b3e8
Author: Justus Winter <address@hidden>
Date: Thu Mar 20 13:34:02 2014 +0100
libdiskfs: fix string termination
Found using the Clang Static Analyzer.
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Fix string
termination.
commit 2d9c5530456fce1b047fedf83ff48412509b7164
Author: Justus Winter <address@hidden>
Date: Thu Mar 20 13:31:42 2014 +0100
isofs: also copy the terminating zero in read_symlink_hook
* isofs/inode.c (read_symlink_hook): Use memcpy, also copy terminating
zero.
commit 59b6c01edcd7013a112aeaf9d0bc33a8d2a2b8f1
Author: Justus Winter <address@hidden>
Date: Wed Mar 19 12:09:23 2014 +0100
libpager: fix potential deadlock
This patch releases the interlock before doing an rpc call, analogous
to 901c61a1d25e7c8963e51012760a82730eda1910.
* libpager/pager-attr.c (pager_change_attributes): Release interlock
before calling memory_object_change_attributes, to let the callbacks
take it.
commit 08814fc43536cb801b1db0c548bcc19b67b19dd4
Author: Justus Winter <address@hidden>
Date: Wed Mar 19 12:13:57 2014 +0100
libpager: fix comment of pager_change_attributes
* libpager/pager-attr.c: Fix comment.
* libpager/pager.h: Likewise.
commit 7b054153eccbf0843fbbfb131855f56ea5c695e0
Author: Gabriele Giacone <address@hidden>
Date: Thu Mar 20 10:44:20 2014 +0100
Make bz2 and gz support optional
* config.make.in (HAVE_LIBBZ2, HAVE_LIBZ): New variables.
* configure.ac (--without-libbz2, --without-libz): New options.
* ext2fs/Makefile (OTHERLIBS): Make -lbz2 and -lz optional.
* fatfs/Makefile (OTHERLIBS): Likewise.
* isofs/Makefile (OTHERLIBS): Likewise.
* libstore/Makefile (maybe_part): Remove variable.
(store-types): Add part, bunzip2 and gunzip support conditionnally.
(LDLIBS): Make -lbz2 and -lz optional.
(OBJS): Add GUNZIP_OBJS and BUNZIP2_OBJS optional.
commit 2294f2fdffcf724cc28653976b8029351e41fd77
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 20:04:11 2014 +0100
Fix handling of console readlink errors
* console-client/trans.c (netfs_attempt_lookup): Look for errors returned by
`readlink' before allocating a node.
(netfs_attempt_readlink): Look for errors returned by `readlink'.
commit e5e577cc30171232ca9a9ca6fd6f97e3d59539a1
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 20:02:08 2014 +0100
Fix vcs_readlink propagating error returned by console_current_id
* console-client/current-vcs.c (vcs_readlink): Return error returned by
`console_current_id' as a negative value.
commit a13a5288214c6dbb25bd8da04057f8ff17750ec1
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 19:45:34 2014 +0100
Fix crash on accessing vcs without a console being active
* console-client/current-vcs.c (vcs_readlink): Return error as negative
values.
(vcs_read): Convert errors returned by vcs_readlink before returning
them.
commit 8ad7f49e5b5e9a254f73de53941a58fc6032a737
Merge: 4097dab cc97574
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 18:16:02 2014 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 4097daba7e43b3a1a3af77a715da1a2418d30392
Author: Samuel Thibault <address@hidden>
Date: Sun Mar 16 18:13:58 2014 +0100
Fix crash on opening /dev/kbd or mouse without any console being active
* console-client/console.c (console_switch_away): Check for `active_vcons`
being NULL before saving the currently active console.
commit cc9757407fa124998613329ce73c5bba98d5cf21
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 15:09:44 2014 +0100
mach-defpager: silently ignore requests to page to active partition
Currently, if mach-defpager is asked to page to an already active
partition, it ignores this request and returns success. It does,
however, print a message about this to stdout.
This message might indicate to the user that there is some kind of a
problem with the configuration of the machine, even though the code in
new_partition clearly does not consider it an error to do such an
request.
* mach-defpager/default_pager.c (new_partition): Do not print a
message if requested to page to an already active partition.
commit 109169ca9d8835227cbfcf2c2da5434232e2c6ec
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 15:06:20 2014 +0100
mach-defpager: fix type of size arguments
* mach-defpager/default_pager.c (new_partition): Fix type of bsize.
* mach-defpager/file_io.h (page_read_file_direct): Fix type of size
argument.
(page_write_file_direct): Likewise.
* mach-defpager/setup.c (page_read_file_direct): Likewise.
(page_write_file_direct): Likewise.
commit a77077efbd5658a39538557911fccca9da5a81ab
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 13:22:53 2014 +0100
mach-defpager: fix warnings about uninitialized variables
* mach-defpager/default_pager.c (S_default_pager_objects): Initialize
address, size-pairs to 0.
(S_default_pager_object_pages): Likewise.
* mach-defpager/kalloc.c (kget_space): Likewise.
commit 3deb2d7685f9e9b502a992491f747c3a657e4d15
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 13:10:04 2014 +0100
mach-defpager: fix warning about uninitialized variable
Previously, failure to look up the given partition was detected after
the loop by checking whether the loop ran over all existing
partitions. Initialize part to NULL and check for that instead. This
retains the behavior, but expresses it in a way the compiler
understands better.
* mach-defpager/default_pager.c (destroy_paging_partition): Initialize
part to NULL and check for it still being NULL after the loop.
commit f3d9cf9f788e5b98d270309c03f44b26568944eb
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 13:00:16 2014 +0100
mach-defpager: fix error handling in S_default_pager_object_set_size
Fix a compiler warning about kr being potentially being uninitialized.
* mach-defpager/default_pager.c (S_default_pager_object_set_size):
Initialize kr.
commit 727d2825675e9d67999a15d2e9903bf8af854395
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 12:20:00 2014 +0100
mach-defpager: add and use synchronized_printf for dprintf
* mach-defpager/default_pager.c (synchronized_printf): New function.
(printf_lock): Move to synchronized_printf.
(dprintf): Use synchronized_printf.
(ddprintf): Likewise.
commit 6f1fa0884602c05fba05c14cd6eb6884ba928e8e
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 11:54:23 2014 +0100
mach-defpager: fix warnings about unused variables
* mach-defpager/default_pager.c (pager_alloc): Declare variables only
when needed.
(dealloc_direct): Remove unused variables.
(seqnos_memory_object_terminate): Remove unused variable, adjust
ddprintfs accordingly.
(seqnos_memory_object_data_write): Remove unused variable.
commit 653a408caabea249e4791dedfa433400dad90713
Author: Justus Winter <address@hidden>
Date: Wed Mar 12 11:40:08 2014 +0100
mach-defpager: remove comments around form feeds
Form feed characters (\f) are whitespace and are treated as such by c
compilers. There is no need to enclose them in comments.
* mach-defpager/default_pager.c: Remove comments around form feeds.
commit cff25ce181b3a330f12809373407f4d54f4cc5c4
Author: Justus Winter <address@hidden>
Date: Sat Mar 1 12:26:59 2014 +0100
auth: improve the mig mutator functions
Previously, the mig mutator function auth_port_to_handle was defined
in auth.c (fakeauth.c), preventing it from being inlined into the
mig-generated server functions. Put it in mig-decls.h instead.
Rename authmutations.h to mig-mutate.h, auth_mig.h to mig-decls.h.
This is the naming convention used for pflocal.
* auth/auth.h: New file.
* auth/auth_mig.h: Rename to mig-decls.h, add copyright notice, define
mutator functions.
* auth/authmutations.h: Rename to mig-mutate.h, restore copyright
notice, adjust accordingly.
* auth/auth.c: Include auth.h, remove auth_port_to_handle.
* utils/fakeauth.c: Likewise.
* auth/Makefile: Adjust accordingly.
* utils/Makefile: Likewise.
commit 666830d8a75a3676f60b48028b115edb19d06cc7
Author: Justus Winter <address@hidden>
Date: Sat Mar 1 11:55:50 2014 +0100
trans/ifsock: fix receiver lookup
* trans/Makefile: Add ifsock-MIGSFLAGS.
* trans/ifsock.c (S_ifsock_getsockaddr): Fix receiver lookup.
commit e3a2c2caeea0a4f4d36b1117610d2a32d14ac69b
Author: Justus Winter <address@hidden>
Date: Fri Feb 28 11:47:10 2014 +0100
term: fix receiver lookups in the term server functions
* term/mig-mutate.h: Define TERM_IMPORTS.
* term/Makefile: Set term-MIGSFLAGS.
* term/users.c: Fix receiver lookups in the term server functions.
commit 20d3ffa76a849e2105e72e6b7c8835de5e9c1b21
Author: Justus Winter <address@hidden>
Date: Fri Feb 28 11:26:07 2014 +0100
term: fix receiver lookups in the tioctl server functions
* term/mig-mutate.h: New file.
* term/Makefile: Set tioctl-MIGSFLAGS.
* term/ptyio.c: Fix receiver lookups in the tioctl server functions.
* term/users.c: Likewise.
commit a876dbadbb1fa625e3e5fa8bdffe803e6eb473d1
Author: Justus Winter <address@hidden>
Date: Thu Feb 27 16:39:31 2014 +0100
pfinet: fix receiver lookups in iioctl-ops.c
* pfinet/iioctl-ops.c: Fix receiver lookups.
* pfinet/mig-mutate.h: Add IIOCTL_IMPORTS.
* pfinet/Makefile: Set iioctl-MIGSFLAGS.
commit a8c50b3fbe672ea949a5c6c26c6db04566a7cdb7
Author: Justus Winter <address@hidden>
Date: Thu Feb 27 16:36:18 2014 +0100
hurd: add IIOCTL_IMPORTS
* hurd/iioctl.defs: Add IIOCTL_IMPORTS.
commit 8287b6ffdf2cb631591decb17429701218122259
Author: Justus Winter <address@hidden>
Date: Tue Feb 25 01:01:09 2014 +0100
libtrivfs: improve the mig mutator functions
Previously, the mig mutator functions were in migsupport.c, preventing
them from being inlined into the mig-generated server functions. Put
them in mig-decls.h instead. Rename mutations.h to mig-mutate.h.
This is the naming convention used for pflocal.
* libtrivfs/fsmutations.h: Rename to mig-mutate.h, adopt imports.
* libtrivfs/Makefile: Adopt accordingly.
* libtrivfs/migsupport.c: Rename to mig-decls.h.
* libtrivfs/trivfs.h: Move dynamic classes/buckets declarations to
mig-decls.h, remove superfluous imports.
* exec/execmutations.h: Fix import.
* pfinet/mig-mutate.h: Likewise.
* trans/Makefile: Likewise.
commit e5583e10eed68f75e8981571d322b553b784dd5b
Author: Justus Winter <address@hidden>
Date: Tue Feb 25 00:24:52 2014 +0100
pfinet: improve the mig mutator functions
Previously, the mig mutator functions were in misc.c, preventing them
from being inlined into the mig-generated server functions. Put them
in mig-decls.h instead. Rename mutations.h to mig-mutate.h. This is
the naming convention used for pflocal.
* pfinet/mutations.h: Rename to mig-mutate.h, adopt imports.
* pfinet/Makefile: Adopt accordingly.
* pfinet/mig-decls.h: New file.
* pfinet/misc.c: Move mutator functions to mig-decls.h.
* pfinet/pfinet.h: Move type declarations to mig-decls.h, remove
mutator declarations.
* pfinet/iioctl-ops.c: Include mig-decls.h.
commit 86e3141aaf13b1bc55d74bd6f557a62b814e944c
Author: Justus Winter <address@hidden>
Date: Wed Jan 29 14:06:15 2014 +0100
libdiskfs: fix receiver lookups in fsys server functions
* libdiskfs/diskfs.h (struct diskfs_control): New declaration.
(diskfs_begin_using_control_port): New declaration and function.
(diskfs_end_using_control_port): Likewise.
* libdiskfs/fsmutations.h: Add translation functions.
* libdiskfs/priv.h (control_t): New type declaration for mig.
* libdiskfs/boot-start.c: Fix receiver lookups.
* libdiskfs/fsys-getfile.c: Likewise.
* libdiskfs/fsys-getroot.c: Likewise.
* libdiskfs/fsys-goaway.c: Likewise.
* libdiskfs/fsys-options.c: Likewise.
* libdiskfs/fsys-syncfs.c: Likewise.
commit 982261fec4707d0c8d0723d90d9c0e465d98aa93
Author: Justus Winter <address@hidden>
Date: Wed Feb 12 11:24:14 2014 +0100
libnetfs: fix receiver lookups in fsys server functions
* mutations.h: Add translation functions.
* netfs.h (struct netfs_control): New declaration.
* priv.h: Define translation functions.
* fsys-get-options.c: Fix receiver lookups.
* fsys-getroot.c: Likewise.
* fsys-goaway.c: Likewise.
* fsys-set-options.c: Likewise.
* fsys-syncfs.c: Likewise.
* fsysstubs.c: Likewise.
commit 41b88dab57df5a1b490550fd8c4b80788ce55a81
Author: Justus Winter <address@hidden>
Date: Thu Jan 30 10:58:49 2014 +0100
New RPCs, fix build
commit f2fd58347765c32fddd45b9dbd87097ad73b2001
Author: Justus Winter <address@hidden>
Date: Tue Feb 11 13:30:07 2014 +0100
trans/mtab: do not map unknown source strings to "none"
Previously, map_device_to_path mapped unknown device strings to
"none". Return a copy of the original source string instead so that
e.g. nfs mount point points are properly handled.
* trans/mtab.c (map_device_to_path): Do not map unknown source strings
to "none".
commit 90af50dd30c2ea0abec10b36d5b3fbf29fec2b16
Author: Justus Winter <address@hidden>
Date: Tue Feb 11 13:24:23 2014 +0100
tmpfs: set diskfs_disk_name to "none"
By default diskfs_disk_name is returned as the source of
libdiskfs-based translators. Hurds fstab allows multiple entries with
the mnt_fsname being "none".
* tmpfs/tmpfs.c (diskfs_disk_name): Set to "none".
commit 1b35145ee6592ba9e4017b7b2686edb312e79ad2
Author: Justus Winter <address@hidden>
Date: Mon Feb 10 14:33:27 2014 +0100
trans/mtab: ignore translators that do not implement file_get_source
Previously, the mtab translator would guess the source of a filesystem
translator from its last argument. This made all kinds of
non-filesystem translators appear in /proc/mounts, causing severe
problems due to umount --all removing vital passive translator
records.
Fix this by ignoring all translators that do not explicitly implement
file_get_source.
* trans/mtab.c (mtab_populate): Ignore translators that do not
implement file_get_source.
commit 8eb1240c18062bd3614ecba31f4c6a2dc6ea980d
Author: Justus Winter <address@hidden>
Date: Mon Feb 10 15:02:15 2014 +0100
nfs: implement netfs_get_source
Implement netfs_get_source so that nfs translators show up in
/proc/mounts.
* nfs/main.c (netfs_get_source): New function.
commit 9366d6b2e48ba409366adc0516825c41a86dec9b
Author: Justus Winter <address@hidden>
Date: Thu Jan 30 10:53:46 2014 +0100
hurd: fix the get-children and get-source procedures
* hurd/fs.defs: Add file_get_children and file_get_source.
* hurd/fsys.defs: Remove fsys_get_children and fsys_get_source.
* libdiskfs/fsys-get-children.c: Rename and adapt accordingly.
* libdiskfs/fsys-get-source.c: Likewise.
* libnetfs/fsys-get-children.c: Likewise.
* libnetfs/fsys-get-source.c: Likewise.
* libtrivfs/fsys-get-children.c: Likewise.
* libtrivfs/fsys-get-source.c: Likewise.
* libdiskfs/diskfs.h: Adapt prototype and comment.
* libnetfs/netfs.h: Likewise.
* libtrivfs/trivfs.h: Likewise.
* libdiskfs/get-source.c: Adapt default implementation, provide
diskfs_disk_name by default.
* libnetfs/netfs.h: Adapt default implementation.
* libtrivfs/get-source.c: Likewise.
* libdiskfs/Makefile: Adapt accordingly.
* libnetfs/Makefile: Likewise.
* libtrivfs/Makefile: Likewise.
* trans/symlink.c: Likewise.
* trans/mtab.c: Likewise.
commit d4129a39dda08e8cfbc002461e1e76103de8f108
Author: Justus Winter <address@hidden>
Date: Mon Feb 24 13:31:31 2014 +0100
mach-defpager: improve the default_pager_demux_object function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function.
* mach-defpager/default_pager.c (default_pager_demux_object): Improve
the demuxer function.
commit b7521a33ad61286eb9e32915c3a691c824bae719
Author: Justus Winter <address@hidden>
Date: Mon Feb 24 13:57:40 2014 +0100
mach-defpager: add function mig_reply_setup
Currently, mig_reply_setup is not provided by libmachuser or the
glibc. Provide it locally.
* mach-defpager/default_pager.c (mig_reply_setup): New function.
commit d1f23fd4732f9407dfd80e15588070d920050d9f
Author: Justus Winter <address@hidden>
Date: Mon Feb 24 13:47:36 2014 +0100
mach-defpager: fix definition of seqnos_memory_object_data_unlock
* mach-defpager/default_pager.c (seqnos_memory_object_data_unlock):
Fix function arguments.
commit 6d38ec6d31e295b60bd5c84cc89229484afed56a
Author: Justus Winter <address@hidden>
Date: Mon Feb 24 12:23:05 2014 +0100
libpager: improve the pager_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* libpager/demuxer.c (pager_demuxer): Improve the demuxer function.
commit f2640263468aced5c91ac5fc1f15bb5691f7eb20
Author: Justus Winter <address@hidden>
Date: Mon Feb 24 11:05:13 2014 +0100
utils/umount: do not remove passive translator records
Passive translator records are a Hurd concept. Therefore, the umount
compatibility program should not remove them.
* utils/umount.c (passive_flags): Unset FS_TRANS_SET.
(doc): Adjust accordingly.
commit 139cc36c4f24dbc8c759f6bc3fba536698db6e03
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 25 01:48:14 2014 -0500
Fix fakeroot and remap parsing corner cases
Fix case when $PWD contains spaces.
Pass directly arguments to command, to directly avoid escaping issues.
Based on suggestion by Ivan Shmakov <address@hidden>
* utils/fakeroot.sh (TARGET): Do not define.
(sh): Rather pass PWD and commandline as parameters.
* utils/remap.sh: Likewise.
commit 4473d16e7cdad08eccad95f5920e1aa171d5512d
Author: Justus Winter <address@hidden>
Date: Fri Feb 21 14:58:21 2014 +0100
exec: provide a meaningful name for new tasks
The name will be used in error messages printed by the kernel. This
makes attributing the errors to processes possible.
* exec/exec.c (do_exec): Set the name of the new task.
commit c3936e8c1b40cbe2e88c7930a99728cab95d2528
Author: Richard Braun <address@hidden>
Date: Sat Feb 22 17:24:42 2014 +0100
pfinet: set a non-zero ports management timeout
* pfinet/main.c (main): Call ports_manage_port_operations_multithread
with non-zero timeouts.
commit 235491231bdd1fd93507c835767503f047e10b91
Author: Richard Braun <address@hidden>
Date: Sat Feb 22 17:16:17 2014 +0100
libports: work around bugs in server termination
Most servers use ports_manage_port_operations_multithread to process
requests and terminate when it returns. Since many of them don't detach
before shutting down, a client may receive an error if its request
arrived while the server is shutting down. Prevent those spurious errors
by forcing ports_manage_port_operations_multithread not to return.
* libports/manage-multithread.c
(ports_manage_port_operations_multithread): Force global_timeout to 0.
commit dd07e7f7ddb5d704599f798a8ef3d1c8a05cb9bf
Author: Ignazio Sgalmuzzo <address@hidden>
Date: Wed Feb 19 20:07:40 2014 +0000
libstore: fixed some pointer-sign related warnings
libstore/do-bunzip2.c: fixed type modifier, avoiding cast
commit 91090f8e8ef533ad39fc8060bbf1a69bcb0b5af7
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 18 21:34:08 2014 -0800
Add missing copyright notice
commit 2a685b05f91f71c3b00ee8890ebaed16839b0cd0
Author: Ignazio Sgalmuzzo <address@hidden>
Date: Mon Feb 17 22:21:31 2014 +0000
libstore: replaced gz decompression code with libz
Note: dropped .zip support
configure.ac: added check for libz
ext2fs/Makefile: linked libz
fatfs/Makefile: linked libz
isofs/Makefile: linked libz
libstore/Makefile: linked libz
libstore/do-gunzip.c: new decompression function using libz calls.
libstore/gunzip.c: removed no longer needed code replaced by do_gunzip()
libstore/gzip.h: deleted, no longer needed
libstore/inflate.c: deleted: no longer needed
libstore/tailor.h: deleted: no longer needed
libstore/unzip.c: deleted: no longer needed
libstore/util.c: removed no longer needed code.
commit 8132295cfd2d26a13a6cd2f61b7f5c56ea5efaa7
Merge: 883a7ad da158a4
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 18 21:32:54 2014 -0800
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 883a7ad93fd5a4dd0ca71d461d0624a898ad6865
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 18 21:31:58 2014 -0800
Add missing copyright notice
commit da158a449e7ddb7f06fda929d7030ff8496e71bc
Author: Justus Winter <address@hidden>
Date: Tue Feb 11 19:03:26 2014 +0100
libdiskfs: fix typo
* libdiskfs/boot-start.c (diskfs_S_fsys_init): Fix typo.
commit bfa5d8f54612811d306d1453b7d2da549bbc60ee
Author: Samuel Thibault <address@hidden>
Date: Thu Feb 13 02:27:49 2014 +0100
Add --font-width option to force 8/9 pixel font width
This permits to choose between 720x400 or 640x400 textmode without
changing the font.
* console-client/vga-hw.h (VGA_ATTR_MODE_ADDR, VGA_ATTR_MODE_LGE,
VGA_ATTR_ENABLE_ADDR): New macros.
* console-client/vga-support.c (vga_state): Add `attr_mode' field.
(vga_init): Save attribute mode subregister content. Re-enable the
screen after that.
(vga_fini): Restore attribute mode subregister content. Re-enable the
screen after that.
(vga_set_font_width): When the font width is set to 9, enable VGA LGE to
properly handle box-drawing unicode characters. Re-nable the screen
after that.
(vga_exchange_palette_attributes): Use VGA_ATTR_ENABLE_ADDR macro
instead of harcoded 0x20.
* console-client/vga-dynafont.h (dynafont_new): Add `width' parameter.
* console-client/vga-dynafont.c (dynafont): Add `width' field.
(dynafont_new): Add `width' parameter, stored in `width' field of `df',
but using the font bbox as default value. Use it to decide whether to
use VGA LGE or not.
(dynafont_activate): Use `width' field of `df' instead of the font bbox
to configure the VGA glyph width.
* console-client/vga.c (vga_display_font_width): New variable.
(vga_display): New `df_width' field.
(argp_option): New `font-width' option.
(parse_opt): Handle `font-width' option.
(vga_display_init): Copy `vga_display_font_width' to `disp'.
(vga_display_start): Pass `df_width' to `dynafont_new'.
commit c8b5250cc50a3451ecce9685d8b3457b3c1b133d
Merge: d1a48bc ab9163f
Author: Samuel Thibault <address@hidden>
Date: Wed Feb 12 19:28:10 2014 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit d1a48bcce645417a983a4c96090ed70e860915b4
Author: Samuel Thibault <address@hidden>
Date: Wed Feb 12 19:27:43 2014 +0100
Fix typos
commit ab9163fbbf629d82e6eb455dde3221dbd02ea28a
Author: Justus Winter <address@hidden>
Date: Mon Feb 10 14:41:18 2014 +0100
fatfs: add bz2 to OTHERLIBS
* fatfs/Makefile (OTHERLIBS): Add bz2.
commit f968b1b2b0de0c16311f3781664dd4464822cea9
Author: Justus Winter <address@hidden>
Date: Mon Feb 10 13:35:46 2014 +0100
isofs: add bz2 to OTHERLIBS
* isofs/Makefile (OTHERLIBS): Add bz2.
commit b60c41a3b3e05072637e6277f23455b76197e5b3
Merge: b39be88 1ea83c9
Author: Samuel Thibault <address@hidden>
Date: Sun Feb 9 21:36:58 2014 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit b39be886ee3562ff924b631a365b1e46d424f636
Author: Ignazio Sgalmuzzo <address@hidden>
Date: Sat Jan 4 22:59:25 2014 +0000
Replaced bz2 decompression code with libbz2
configure.ac: added check for libbz2
libstore/Makefile: linked libbz2
ext2fs/Makefile: linked libbz2
do-bunzip2.c: rewritten do_bunzip2 using libbz2 calls. Removed no longer
needed functions.
commit 1ea83c98a8fb8f58a4de8368d1fa29d341a2a73c
Author: Richard Braun <address@hidden>
Date: Fri Feb 7 22:54:24 2014 +0100
trans/fakeroot: fix cached node retrieval on lookup
When a client finds a node from the hash table, it could happen that
another thread is still holding one reference on it before the current
thread has acquired its own. Simply checking for a non zero refcount isn't
enough, the new client must atomically acquire its own reference.
* trans/fakeroot.c (netfs_S_dir_lookup): Find and acquire node reference
while holding netfs_node_refcnt_lock.
commit eafc1c8d2223693e96c9619897f92774735fcb49
Author: Richard Braun <address@hidden>
Date: Thu Feb 6 02:08:31 2014 +0100
trans/fakeroot: fix netfs_S_dir_lookup
* trans/fakeroot.c (netfs_S_dir_lookup): Fix node dereference.
commit 4552df253251a92b0355bc6cc58513aa5feb8b30
Author: Richard Braun <address@hidden>
Date: Wed Feb 5 23:57:41 2014 +0100
trans/fakeroot: rework node caching
Instead of the FAKE_REFERENCE flag, rework node caching so that nodes are
retained only if their attributes are actually changed. In addition, don't
remove unreferenced nodes from the hash table at protid release, since
their reference counter is unstable. Do it on node destruction, once the
reference counter has reached 0. This means lookups can return nodes not
referenced (other than by the hash table), a condition for which a check
is added. By never acquiring a reference on such nodes, their counter is
guaranteed to remain stable once unreferenced.
* trans/fakeroot.c (FAKE_REFERENCE): Remove macro.
(FAKE_DEFAULT): New macro.
(set_default_attributes): New function.
(set_faked_attribute): Likewise.
(netfs_node_norefs): Remove node from hash table, properly taking care
of all the locks involved.
(fakeroot_netfs_release_protid): Remove node handling code, merely call
netfs_release_protid.
(netfs_S_dir_lookup): Handle unreferenced nodes, call set_default_attributes
on node creation, remove call to netfs_attempt_chown.
(netfs_attempt_chown): Call set_faked_attribute instead of accessing faked
flags directly.
(netfs_attempt_chauthor): Likewise.
(netfs_attempt_chmod): Likewise.
(main): Likewise.
commit 4edd4887541eeff2970c27aa16328a42051e20f4
Author: Richard Braun <address@hidden>
Date: Wed Feb 5 23:57:40 2014 +0100
trans/fakeroot: fix chmod
Unconditionally relay chmod requests instead of filtering those that
don't change the executable bit.
* trans/fakeroot.c (netfs_attempt_chmod): Unconditionally call file_chmod
with an unaltered mode.
commit 801256914d42b3aa4bb0af22432471b1d911a66c
Author: Richard Braun <address@hidden>
Date: Wed Feb 5 23:57:40 2014 +0100
Revert "trans: fix locking issue in fakeroot"
This reverts commit 672005782e57e049c7c8f4d6d0b2a80c0df512b4.
That change is apparently not needed and introduced a deadlock.
* trans/fakeroot.c (netfs_attempt_mkfile): Unlock directory node before
creating new node.
commit 90246df5d413c6b6a2d57d66c48c2fe3206eb42b
Author: Richard Braun <address@hidden>
Date: Wed Feb 5 23:57:39 2014 +0100
trans/fakeroot: fix right leak
* trans/fakeroot.c (netfs_S_dir_lookup): Deallocate rights to intermediate
file systems.
commit b17be9b496a6dfe10babb8102d8e55ad9a3fc2e2
Author: Justus Winter <address@hidden>
Date: Wed Feb 5 01:00:48 2014 +0100
daemons/getty: always print a newline before the banner
* daemons/getty.c (load_banner): Drop first newline from default banner.
(print_banner): Print a newline.
commit a5b95344a4f9fd3202e627ce08a3a492e35a0fff
Author: Justus Winter <address@hidden>
Date: Sun Feb 2 15:36:57 2014 +0100
exec: connect std{in,out,err} to the mach console
* exec/main.c (S_exec_init): Get the device master port and connect
std{in,out,err} to the mach console.
commit f4bf9dc40689f1ab221d64af6932286d4cd010e6
Author: Justus Winter <address@hidden>
Date: Wed Jan 29 01:53:50 2014 +0100
daemons/getty: display /etc/issue if available
Previously, a banner was hardcoded in Hurds getty. Load /etc/issue
instead. Fall back to a hardcoded version if that fails. Expand
common \char sequences. If no /etc/issue is provided, the old
behavior is retained.
* daemons/getty.c (load_banner): New function.
(print_banner): Expand \char sequences.
commit 99c53218e3f0611eafde4f6375c4c5e4c2865875
Author: Samuel Thibault <address@hidden>
Date: Thu Jan 30 01:20:23 2014 +0100
Fix crash on fsysopts when pfinet has no IPv6
* pfinet/options.c (add_dev_opts): Use a for loop over `idev->addr_list'
instead of a while loop which assumes that it is not empty.
commit a9a4f69ad7bd02209fdce02b28c701c23fe48a15
Author: Samuel Thibault <address@hidden>
Date: Wed Jan 29 00:08:48 2014 +0100
pfinet: really deallocate device port
* pfinet/ethernet.c (ethernet_close): Call mach_port_deallocate on
device port.
commit d473f407e3b168490032905e60effa3cdbbc063e
Author: Samuel Thibault <address@hidden>
Date: Tue Jan 28 23:58:34 2014 +0100
Also re-open Ethernet device on EMIG_SERVER_DIED
* pfinet/ethernet.c (ethernet_xmit): Also call ethernet_close then
ethernet_open on EMIG_SERVER_DIED error.
commit e24381784b0a56896542d1a5828a77ad0e1c40ec
Merge: 613f84a b8c728e
Author: Samuel Thibault <address@hidden>
Date: Tue Jan 28 23:43:09 2014 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 613f84a0fcd46f2143b046b57c6c6444eafa4d4d
Author: Samuel Thibault <address@hidden>
Date: Tue Jan 28 23:42:06 2014 +0100
Make pfinet re-open ethernet device on transmission error
* pfinet/ethernet.c (ethernet_close): New function.
(ethernet_xmit): On EMACH_SEND_INVALID_DEST error, call ethernet_close
and ethernet_open again to re-open ethernet device.
commit b8c728ec51696c5d17ef09a00b3b193b70a487da
Author: Richard Braun <address@hidden>
Date: Sun Jan 26 23:14:35 2014 +0100
libnetfs: fix file locking on peropen release
* libnetfs/release-peropen.c (netfs_release_peropen): Release the lock on
the underlying node if the peropen status indicates it's not unlocked.
commit 7cb7fa6b3a0d02985b4a51f7823bc1cb631d6bfa
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 19:39:35 2013 +0100
proc: fix the receiver lookup in S_proc_exception_raise
* proc/mgt.c (S_proc_exception_raise): Update accordingly.
* proc/mig-decls.h: New file.
* proc/proc_exc.defs: Add translation functions.
commit ba1f47ffee3d3a2d31a47eeb461283a93e05cf39
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 11:31:49 2013 +0100
utils: include the mig-generated server headers in fakeauth.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* utils/fakeauth.c: Include the mig-generated server headers.
commit d04f830dff5b6f184b62a44f2a047fea89068feb
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 11:27:03 2013 +0100
auth: include the mig-generated server headers in auth.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* auth/auth.c: Include the mig-generated server headers.
commit 7fb8d6150b57560a7e72f50b4913be11fed0fb97
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:11:51 2013 +0100
pflocal: include the mig-generated server headers
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* pflocal/demuxer.c: Include the mig-generated server headers.
* pflocal/sserver.c: Likewise.
commit 2634719587458febd3e307eecf1a99428279778f
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:11:32 2013 +0100
pfinet: include the mig-generated server headers in main.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* pfinet/main.c: Include the mig-generated server headers.
commit ec5086e248d9c75bea7399a3e501ee48b14c047c
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:11:04 2013 +0100
proc: include the mig-generated server headers in main.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* proc/main.c: Include the mig-generated server headers.
commit 749dd44d30c86568b2ec7340ced6d849c0dc3a5e
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:10:31 2013 +0100
exec: include the mig-generated server headers in main.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* exec/main.c: Include the mig-generated server headers.
commit a917896b61031af1d4b77b3da73e11af646057cf
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:09:55 2013 +0100
libtrivfs: include the mig-generated server headers in demuxer.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* libtrivfs/demuxer.c: Include the mig-generated server headers.
commit 2a8c466336db734f9f271f041443fd2b790e3071
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:09:33 2013 +0100
libnetfs: include the mig-generated server headers in demuxer.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* libnetfs/demuxer.c: Include the mig-generated server headers.
commit f6c5d005914efa40c4d7a84d3a95894f06a70d7a
Author: Justus Winter <address@hidden>
Date: Mon Dec 2 12:00:50 2013 +0100
libdiskfs: include the mig-generated server headers in demuxer.c
GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file. Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.
* libdiskfs/demuxer.c: Include the mig-generated server headers.
commit 2845394f72e2733f96621a1f02f1b943e62c0964
Author: Justus Winter <address@hidden>
Date: Thu Nov 28 16:34:31 2013 +0100
trans: fix the receiver lookup in password
Use translation functions instead of doing the lookup manually.
* trans/Makefile (password-MIGSFLAGS): Add mutators.
* trans/password.c (S_password_check_user): Update accordingly.
(S_password_check_group): Likewise.
commit 002b46da8a4270b89003a28b4f5431d857cd0b33
Author: Justus Winter <address@hidden>
Date: Sun Jan 19 14:16:51 2014 +0100
Rename variables with the name "error" to "err".
The canonical name for variables of the type error_t is err. There
are, however, places where the variable is called error instead. This
is unfortunate, as this shadows the error function. Rename such
variables to err.
For reference, this is accomplished using the following semantic
patch:
@@
expression E;
@@
-error_t error = E;
+error_t err = E;
<...
-error
+err
...>
@@
@@
-error_t error;
+error_t err;
<...
-error
+err
...>
* libdiskfs/dir-link.c: Rename error to err.
* libdiskfs/dir-unlink.c: Likewise.
* libdiskfs/file-get-trans.c: Likewise.
* libdiskfs/file-get-transcntl.c: Likewise.
* libdiskfs/file-set-trans.c: Likewise.
* libdiskfs/fsys-getroot.c: Likewise.
* libshouldbeinlibc/wire.c: Likewise.
commit 9bebcd38f42da289a3eaf9f473a9529f8d3c4664
Author: Richard Braun <address@hidden>
Date: Thu Jan 16 23:59:00 2014 +0100
libps: fix task/thread times fetching
Introduce PSTAT_TIMES to force the retrieval of both PSTAT_TASK_BASIC
and PSTAT_THREAD_BASIC. Task basic info contain the user and system
times of terminated threads which the code wrongly assumes is always
present along with process info.
* libps/procstat.c (add_preconditions): Set both PSTAT_TASK_BASIC and
PSTAT_THREAD_BASIC as preconditions for PSTAT_TIMES.
(summarize_thread_basic_info): Add terminated threads times only if
task basic info are available.
(set_procinfo_flags): Provide summarize_thread_basic_info with flags of
available info.
(proc_stat_set_flags): Set PSTAT_TIMES as available if it was needed and
any of PSTAT_TASK_BASIC or PSTAT_THREAD_BASIC could be fetched.
* libps/ps.h (PSTAT_TIMES): New macro.
* libps/spec.c (ps_get_usr_time): Indicate the getter needs PSTAT_TIMES
instead of PSTAT_THREAD_BASIC.
(ps_sys_time_getter): Likewise.
(ps_tot_time_getter): Likewise.
commit 9a7776ddef6626536f21c09090b8329168a053ce
Author: Justus Winter <address@hidden>
Date: Thu Oct 17 11:20:30 2013 +0200
libnetfs: register passive translator startups
Detect passive translator startup and add the resulting active
translator to the list of active translators.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Detect and register
passive translator startup.
commit 9c2d39405c30b75bc817a6212a116421ebb927f1
Author: Justus Winter <address@hidden>
Date: Tue Oct 8 12:42:52 2013 +0200
libdiskfs: register passive translator startups
Detect passive translator startup and add the resulting active
translator to the list of active translators.
Note that newpi is properly deallocated in the function epilogue.
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Detect and register
passive translator startup.
commit 4de65c4af42894f57b8b8c3a050260725a96b109
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 11:22:50 2013 +0100
libfshelp: fix the api of fshelp_set_active_translator
To detect if an active translator goes away, we need to register for
dead name notifications. Those notifications have to be sent to a port
known to the ports library, as the ports library handles the dead name
notifications. The most straight forward way is to use the port to the
underlying node for that. To that end, a reference to the port_info
struct is handed in and kept in the list of active translators.
This commit also moves the registration of dead name notifications to
libfshelp.
* libfshelp/fshelp.h (fshelp_set_active_translator): Add port_info argument.
* libfshelp/translator-list.c (struct translator): Add port_info pointer.
(translator_ihash_cleanup): Dereference port_info object.
(fshelp_set_active_translator): Register dead name notifications.
* libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): Update
accordingly.
* libnetfs/file-set-translator.c (netfs_S_file_set_translator): Likewise.
commit 0033d20449b3bb558f2ea470983018db39b572aa
Author: Justus Winter <address@hidden>
Date: Sun Jan 12 15:05:53 2014 +0100
trans/mtab: do not include non-filesystem translators by default
Traditionally, /proc/mounts includes only filesystem mount points.
Previously though, the mtab translator included any kind of
translator, like all /hurd/storeio translators. This causes problems
with umount --all as this would remove the passive translator records
from nodes in /dev.
Fix this by only listing filesystem-like translators by default.
Filesystem-like translators are identified by their response to
dir_readdir messages sent to their root node.
* trans/mtab.c (all_translators): New variable.
(options): Add flag to preserve the old behavior.
(parse_opt): Handle the new flag.
(is_filesystem_translator): New function.
(mtab_populate): Skip non-filesystem translators by default.
commit 3b016a709dd4be5a978dbc8f04b49289612b5be9
Author: Justus Winter <address@hidden>
Date: Thu Nov 14 15:04:57 2013 +0100
trans/mtab: make the translator multithreaded
* trans/mtab.c (main): Use ports_manage_port_operations_multithread.
commit c31404533f2fb70efd40d7b56d8165e2ab8bd160
Author: Justus Winter <address@hidden>
Date: Sun Jan 12 15:47:17 2014 +0100
trans/mtab: properly lock mtab objects
* trans/mtab.c (struct mtab): Add lock.
(open_hook): Initialize lock.
(close_hook): Destroy lock.
(trivfs_S_io_read): Lock mtab object, adjust error handling accordingly.
(trivfs_S_io_seek): Likewise.
(trivfs_S_io_readable): Likewise.
commit dda3d358224c334c8fa4902b3e20c75caf8bddbc
Author: Justus Winter <address@hidden>
Date: Thu Nov 14 15:47:00 2013 +0100
trans/mtab: remove the loop detection logic
Previously the mtab detector tried to detect whether it talks to
itself by comparing the control port of the translator it currently
visits with its own. This was done to prevent deadlocks. However, this
did not detect non-trivial loops, i.e. two mtab translators would
still dead-lock each other.
Now that it is safe to actually file_name_lookup the root node of a
mtab translator without triggering the generation of content, this
logic can just be omitted.
* trans/mtab.c (mtab_populate): Remove the loop detection logic.
commit 8070f62fb5240ee5b924d0dae501a50f4662ffe9
Author: Justus Winter <address@hidden>
Date: Thu Nov 14 15:36:36 2013 +0100
trans/mtab: populate mtab objects on demand
Previously the mtab content was generated in the open hook. Delay this
until the data is needed. A follow up patch will take advantage of
this to both simplify the logic in mtab_populate and make it more
robust at the same time.
* trans/mtab.c (open_hook): Do not eagerly populate the mtab.
(trivfs_S_io_read): Populate the mtab struct on demand.
(trivfs_S_io_seek): Likewise.
(trivfs_S_io_readable): Likewise.
commit 19689c97a05e0a10691b671c4c37ca0bf51bdd2b
Author: Richard Braun <address@hidden>
Date: Mon Dec 30 15:08:29 2013 +0100
libps: fix process user and system times
Include the run time of terminated threads in the user and system times
of processes.
commit 3a3fcc811e6b50b21124a5c5a128652e788a3b67
Author: Richard Braun <address@hidden>
Date: Sat Dec 28 09:15:03 2013 +0100
libports: remove the threadvars stack size hack
Setting the stack size should now correctly be supported by libpthread.
* libports/manage-multithread.c (__pthread_stack_default_size): Remove
global variable.
commit 2d27ccbc105e84c27547a003aec624a3cc3bbd66
Author: Justus Winter <address@hidden>
Date: Wed Dec 18 17:25:02 2013 +0100
trans/fakeroot: shutdown the translator if the last client is gone
Previously, fakeroot would not exit if a process outlived the original
process started by settrans. This caused bugs like this:
% fakeroot-hurd /bin/sh -c 'sleep 1&' 2>&1 | tee
<hangs>
Fix this by exiting if the last client of fakeroot goes away.
If noone has a right to any control or protid port, noone can ever
reacquire any such right. So it is safe to shutdown the fakeroot
translator in that case.
* trans/fakeroot.c (fakeroot_netfs_release_protid): Shutdown the
translator if the last protid object is destroyed and no control port
is around either.
commit b372e439e05e336d5e52aa0ce69c799c15691932
Author: Justus Winter <address@hidden>
Date: Fri Dec 13 15:25:22 2013 +0100
utils/rpctrace: fix output so that replies can be attributed to requests
Currently, it is impossible to properly attribute response messages to
requests. Even though rpctrace is single-threaded, its tracee may
not. Or there might be more than one tracee. In any such case it is
not guaranteed that the reply message we just processed is for the
request we just printed. Fix this by printing ellipsis with the port
name, so that reply messages can be properly attributed:
task129(pid3312)->mach_port_allocate (3) ...134
task129(pid3312)->mach_port_deallocate (pn{ 1}) ...160
134... = 0 pn{ 30}
160... = 0
* utils/rpctrace.c (last_reply_port): New variable.
(print_ellipsis): New function.
(print_request_header): Optionally print ellipsis and update
last_reply_port.
(print_reply_header): Likewise.
commit 84932431cf4fbd494b4597105faed26ed2ac4efe
Author: Justus Winter <address@hidden>
Date: Fri Dec 13 12:57:55 2013 +0100
utils/rpctrace: escape non-printable characters in strings
* utils/rpctrace.c (escape_sequences): New char array mapping
characters to their escape sequence.
(print_data): Escape non-printable characters when printing strings.
commit b8bce60ff16e52862ca5a3c5a6018420b4fa3cd1
Author: Justus Winter <address@hidden>
Date: Wed Dec 11 12:56:47 2013 +0100
utils/rpctrace: handle MACH_MSG_TYPE_PORT_SEND rights in trace_and_forward
This allows one to rpctrace processes doing select(2).
* utils/rpctrace.c (trace_and_forward): Handle MACH_MSG_TYPE_PORT_SEND
rights.
commit 9a1bb117c165bbedb2b75578ac71e46f2139470e
Author: Justus Winter <address@hidden>
Date: Wed Dec 11 11:35:39 2013 +0100
utils/rpctrace: generalize tracing code
Currently, rpctrace dies if a tracee uses select(2) because it asserts
that reply_type is a MACH_MSG_TYPE_PORT_SEND_ONCE right. Generalize
the code surrounding the failing assertion.
* utils/rpctrace.c (trace_and_forward): Generalize code by switching
over reply_type.
commit d999b70a3f395afe06d430c14fdf02a64ac28c06
Author: Justus Winter <address@hidden>
Date: Wed Dec 11 12:51:10 2013 +0100
utils/rpctrace: generalize code in rewrite_right
* utils/rpctrace.c (rewrite_right): Generalize the code so we can use
rewrite_right to rewrite MACH_MSG_TYPE_PORT_SEND rights for non-rpc ports.
commit ae04256ee85fa02288f34587faad5d461ad57186
Author: Justus Winter <address@hidden>
Date: Fri Dec 13 10:07:21 2013 +0100
utils/mount: fix autodetection of fat file systems
mount uses libblkid (if available) to detect the file system type when
using mount -t auto. libblkid calls fat file systems "vfat", our fat
translator is called "fatfs". Fix this discrepancy in mount.
* utils/mount.c (do_mount): Fix autodetection of fat file systems.
commit 8e1b6ab073a890cc2da6965f9a57bfc91d8c6d38
Author: Justus Winter <address@hidden>
Date: Tue Dec 10 17:43:06 2013 +0100
trans/fakeroot: remove dead code
* trans/fakeroot.c (netfs_S_dir_lookup): Remove dead code.
commit 0209a2f92b5693c72975572b7438ebc6d9865b6b
Author: Justus Winter <address@hidden>
Date: Tue Dec 10 17:03:25 2013 +0100
trans/fakeroot: remove dead code
* trans/fakeroot.c (netfs_S_dir_lookup): Remove dead code.
commit 4a6a4664f655e785e234e575f024f4674155e274
Author: Justus Winter <address@hidden>
Date: Tue Dec 10 17:01:02 2013 +0100
trans/fakeroot: drop else
* trans/fakeroot.c (netfs_S_dir_lookup): Drop else.
commit cb42b5fa92329496f25f9479257bd03aeb346205
Author: Justus Winter <address@hidden>
Date: Tue Dec 10 16:55:48 2013 +0100
trans/fakeroot: fix ownership of newly created files
Previously, files created in the fakeroot environment were created
with the uid and gid of the user running fakeroot:
% fakeroot-hurd /bin/sh -c 'touch /tmp/$$; stat --format=%u:%g /tmp/$$'
1000:1000
* trans/fakeroot.c (netfs_S_dir_lookup): Fix ownership of newly
created files.
commit 77ba38a61492799cc3c615f0f622f34fc10de826
Author: Justus Winter <address@hidden>
Date: Tue Dec 10 15:31:36 2013 +0100
utils/settrans: fix the teardown of chrooted environments
Previously, settrans --chroot would just exec the target. Create a
new process for that purpose. Wait for its completion, then ask the
translator (nicely by default) to go away. If it refuses with EBUSY,
it might be because some process has daemonized inside the chrooted
environment.
This fixes the following bug when settrans is used with fakeroot:
% fakeroot-hurd /bin/true 2>&1 | tee
<hangs>
Here, fakeroot-hurd execs settrans with --chroot, settrans execs
/hurd/fakeauth which will eventually exec the target /bin/true. When
true terminates, it will close its stdout and stderr. But
/hurd/fakeroot's stderr is also connected to tee's stdin, preventing
tee from exiting.
* utils/settrans.c (main): Fix the teardown of chrooted environments.
commit 0bdd1a9d8d3eef8cae027be133ee11fc9a3b5165
Author: Justus Winter <address@hidden>
Date: Sat Dec 7 16:06:41 2013 +0100
console-client: remove spurious pthread_spin_unlocks
* console-client/trans.c (netfs_attempt_mkfile): Remove spurious
pthread_spin_unlock.
(netfs_node_norefs): Likewise.
commit 83dfdd298d14d885b9ebc37b3b1af703cdd27f8c
Author: Justus Winter <address@hidden>
Date: Sat Dec 7 15:50:46 2013 +0100
trans: unlock nodes with faked attributes in fakeroot
When a node has faked attributes, we cannot drop our node.
Reinitialize the lock box as if the node was dropped. This fixes the
following bug:
% fakeroot-hurd /bin/sh -c 'touch /tmp/$$.lock
chown 0 /tmp/$$.lock
l(){ flock /tmp/$$.lock true; }; l; l'
<hangs>
* trans/fakeroot.c (fake_node_dropweak): Unlock the node if the last
real reference is dropped but we keep a fake one.
commit 2640c8a8e32c2f20023e4cb91f87684c62316f19
Author: Justus Winter <address@hidden>
Date: Fri Dec 6 00:04:39 2013 +0100
trans: improve the error handling in fakeauth
Previously the node was not correctly torn down if adding the newly
created netnode to the hash table failed. Fix this by rearranging the
code, doing the hash table modification first because it is easier to
undo.
* trans/fakeroot.c (new_node): Fix the error handling.
commit 7d20408ec4a5dbc973520dd78dd2531c6a1471c7
Author: Justus Winter <address@hidden>
Date: Thu Dec 5 23:38:53 2013 +0100
trans: fix reference counting bug in fakeroot
The function new_node creates virtual nodes using netfs_make_node.
Nodes created with netfs_make_node already have a reference count of
one. Currently another reference is added in new_node. This prevents
the destruction of the node causing bugs like this:
% fakeroot-hurd sh -c 'l(){ flock /tmp/$$.lock true; }; l; l'
<hangs>
* trans/fakeroot.c (new_node): Fix reference count of newly created
nodes.
commit 61c77d679840e4c4455615295ac30215bb01cdf5
Author: Justus Winter <address@hidden>
Date: Mon Dec 9 14:33:17 2013 +0100
trans: fix locking in fakeroot's netfs_S_dir_lookup
* trans/fakeroot.c (netfs_S_dir_lookup): Fix locking.
commit b770147356376ddb0602358a0252c4f68a9c80c6
Author: Justus Winter <address@hidden>
Date: Thu Dec 5 19:40:31 2013 +0100
trans: fix reference counting and destruction of fake nodes
Previously, fakeroot tried to do too much in netfs_node_norefs. This
function is meant to deallocate nodes. Fakeroot however also tries to
remove the node from the hash table and to prolong the lifetime of the
node object by re-referencing it.
Removing the object from the hash table is highly problematic, because
at this point we already have the node locked. With proper locking in
netfs_S_dir_lookup, acquiring the hash table lock while we hold the
node locked results in dead-locks, releasing the node lock before
acquiring the hash table lock results in a race condition.
Prolonging the lifetime of the node by re-acquiring a reference is
clearly a hack that surprisingly works to some degree. The nodes
transbox, however, is already gone at this point.
This code was never actually run because of a reference-counting bug
in fakeroot.
Fix this by installing our own clean routine in the
netfs_protid_class. This function is called without the associated
node being locked, allowing us to acquire the locks in the proper
order and to keep the hash table locked while the node is being
destroyed.
* trans/fakeroot.c (netfs_node_norefs): Just free the associated
resources.
(fakeroot_netfs_release_protid): New function doing cleanly what
netfs_node_norefs did before.
(netfs_S_dir_lookup): Reuse the fake reference.
(main): Install fakeroot_netfs_release_protid as clean routine.
fixup_fix_refc_destruction
commit 54ee5b628f8d4a1447670f65cc441fc32a9e96ef
Author: Justus Winter <address@hidden>
Date: Sun Dec 8 18:05:06 2013 +0100
trans: return nodes locked when creating fake nodes in fakeroot
* trans/fakeroot.c (new_node): Acquire the nodes lock before releasing
the idport_ihash_lock. Return nodes locked.
(netfs_S_dir_lookup): Drop lock.
(netfs_attempt_mkfile): Likewise.
(main): Likewise.
commit 672005782e57e049c7c8f4d6d0b2a80c0df512b4
Author: Justus Winter <address@hidden>
Date: Sun Dec 8 17:55:14 2013 +0100
trans: fix locking issue in fakeroot
* trans/fakeroot.c (netfs_attempt_mkfile): Keep dir locked until the
new node is created.
commit 3688ec3ef963c8e41f845c1d98205ca69f91576b
Author: Justus Winter <address@hidden>
Date: Sun Dec 8 18:28:01 2013 +0100
trans: handle invalid responses to dir_lookup requests in fakeroot
* trans/fakeroot.c (netfs_S_dir_lookup): Handle invalid responses to
dir_lookup requests.
commit 2ce5406504540399ed78306198802fc4e1824de7
Author: Justus Winter <address@hidden>
Date: Sat Dec 7 15:57:17 2013 +0100
trans: improve the performance of dir_lookup in fakeroot
Previously any FS_RETRY_NORMAL requests were handed back to the
client. Redo the lookup ourself instead. This saves us the burden to
create a fake node for the intermediate step, hand it back to the
client and handle another request from the client.
With this change there is no need to fiddle with the permission bits
as it was previously done.
* trans/fakeroot.c (netfs_S_dir_lookup): Redo the lookup transparently
for the user if FS_RETRY_NORMAL is requested.
fixup_improve_perf
commit cf1cc29af12447c347a5574b4dc1568c7db61c0b
Author: Justus Winter <address@hidden>
Date: Thu Dec 5 19:22:03 2013 +0100
trans: fix the use of the hash table in fakeroot.c
Previously a pointer to the node was stored in the hash table. This
writes the locp pointer into the node object overwriting the next
pointer there. Store the pointer to the netnode instead.
* trans/fakeroot.c (struct netnode): Add field np.
(new_node): Initialize field np.
(new_node): Store nn instead of np into the hash table.
(netfs_S_dir_lookup): Adjust accordingly.
commit 64b5a0f4dde23ee9b809b909bccd4ee8637364e9
Author: Justus Winter <address@hidden>
Date: Thu Dec 5 17:34:48 2013 +0100
libihash: remove dead code
* libihash/ihash.c (hurd_ihash_add): Remove dead code.
commit a0a49e530b269679695daa6014bfade0b36970e1
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 17:14:49 2013 +0100
libfshelp: use a hash table in get-identity.c
Currently fshelp_get_identity uses ports_class_iterate to de-duplicate
the identity ports. Use a hash table instead.
* libfshelp/get-identity.c (struct idspec): Remove field fileno.
(struct idspec): Add field id_hashloc.
(id_clean): New function.
(id_initialize): Use id_clean as cleanup function for idclass.
(fshelp_get_identity): Use a hash table to de-duplicate the identity
ports.
commit 6204a717fc63891839faefda75e95a364ec0434e
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 10:53:15 2013 +0100
trans: make the fakeroot environment more transparent
Previously fakeroot did not explicitly proxy io_identity requests, so
the default implementation from libnetfs handled them. But as the fsys
identity port returned was always netfs_fsys_identity, this broke the
getcwd logic (assuming /media/scratch is a translator):
% cd /media/scratch/foo && fakeroot-hurd pwd
/foo
Fix this by proxying io_identity requests. Since then no-one is
handing out our netfs_fsys_identity port anymore, an optimization in
netfs_fsys_identity is made obsolete by this change.
* trans/fakeroot.c (netfs_S_dir_lookup): Adjust code accordingly.
(netfs_S_io_identity): New function.
commit 93976a816e6d690a6c7d77801e31ce6ee5bc4899
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 10:43:04 2013 +0100
trans: fix transparent reauthentication in fakeroot
When looking up files, fakeroot intercepts reauthentication requests
and executes io_reauthenticate and auth_user_authenticate
transparently for the client. This, however, makes the client
incorrectly assume that the lookup is finished (assuming
/media/scratch is a translator):
% cd /media/scratch && fakeroot-hurd pwd
pwd: reading directory `..': Bad file descriptor
Make the reauthentication completely transparent to the client by
re-doing the lookup ourselves.
* trans/fakeroot.c (netfs_S_dir_lookup): Fix transparent reauthentication.
commit df66588b0f6daf99573153cb384a676ced27f0b1
Author: Justus Winter <address@hidden>
Date: Tue Dec 3 17:46:58 2013 +0100
trans: fix the creation of files in fakeroot
Previously, fakeroot failed to create files in certain circumstances,
e. g. assuming /tmp is a tmpfs and /tmp/some_file does not exist:
% cd /tmp && fakeroot-hurd /bin/sh -c ':>/tmp/some_file'
/bin/sh: 1: cannot create /tmp/some_file: Is a directory
Fix this by sanitizing the flags value not to contain O_WRITE if we're
not at the last path component.
* trans/fakeroot.c (netfs_S_dir_lookup): Strip O_WRITE from flags when
looking up all but the last path component.
commit c7030a9c0ac36cccb07ef562908b62c2ef9d8bb4
Author: Justus Winter <address@hidden>
Date: Tue Dec 3 19:37:54 2013 +0100
trans: improve the netfs_demuxer function in fakeroot.c
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* trans/fakeroot.c (netfs_demuxer): Improve the demuxer function.
commit bbe90168171e6aa8bc0045162ef9f03a01e36309
Author: Justus Winter <address@hidden>
Date: Tue Dec 3 18:56:21 2013 +0100
trans: remove unused declaration from fakeroot.c
Any messages we do not intercept are forwarded to the underlying file.
* trans/fakeroot.c (netfs_demuxer): Remove unused declaration of
function netfs_ifsock_server.
commit cc2464c4969f232ed6efb305adfdb69b2176ff34
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 10:21:41 2013 +0100
utils: improve the auth_demuxer function in fakeauth.c
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* utils/fakeauth.c (auth_demuxer): Improve the demuxer function.
commit 03e6f1fa6846dd860d0cd7babee62b8767cade30
Author: Justus Winter <address@hidden>
Date: Wed Dec 4 10:13:56 2013 +0100
auth: improve the auth_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* auth/auth.c (auth_demuxer): Improve the demuxer function.
commit b8b92e2455c2a9652e60a17dd38fc8dc031b77c3
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:48:17 2013 +0100
pflocal: improve the demuxer functions
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* pflocal/pflocal.c (pf_demuxer): Improve the demuxer function.
* pflocal/sserver.c (sock_demuxer): Likewise.
commit 9cec7a2482a68ca1ae41d65fc8b94584d5020c3f
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:32:01 2013 +0100
pfinet: improve the pfinet_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* pfinet/main.c (pfinet_demuxer): Improve the demuxer function.
commit 89c0598d4c1c414c7c567995fd1d0e569fee3d08
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:29:04 2013 +0100
proc: improve the message_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* proc/main.c (message_demuxer): Improve the demuxer function.
commit a148e931c6c6a7d2a5e602f188d67e199082ae0a
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:22:25 2013 +0100
exec: improve the exec_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
Furthermore, move the exec_startup_server_routine to the end of the
chain, as the startup related functions are only needed at system
bootstrap time.
* exec/main.c (exec_demuxer): Improve the demuxer function.
commit e3c983ea9d62cdd0de86a8f4c4164c692252fb74
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:20:40 2013 +0100
libtrivfs: improve the trivfs_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* libtriv/demuxer.c (trivfs_demuxer): Improve the demuxer function.
commit ceb716e88f2ade9d9abe116fe8cddf34844d71e7
Author: Justus Winter <address@hidden>
Date: Sat Nov 30 17:18:01 2013 +0100
libnetfs: improve the netfs_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
* libnetfs/demuxer.c (netfs_demuxer): Improve the demuxer function.
commit bbf408117c40f2e02b9d3e23025c01b74f5bdc09
Author: Justus Winter <address@hidden>
Date: Fri Nov 29 13:51:19 2013 +0100
libdiskfs: improve the diskfs_demuxer function
Handle multiple request types as recommended by the Mach Server
Writer's Guide section 4, subsection "Handling Multiple Request
Types". This avoids initializing the reply message in every X_server
function. The reply message has already been properly initialized in
libports, so there is no need to call mig_reply_setup.
Furthermore, move diskfs_exec_startup_server_routine to the end of the
chain, as the startup related functions are only needed at system
bootstrap time in the root filesystem.
* libdiskfs/demuxer.c (diskfs_demuxer): Improve the demuxer function.
commit e5bb7f10e01224d75e55da6e545f779ac0fa73a3
Author: Richard Braun <address@hidden>
Date: Sat Nov 30 17:20:12 2013 +0100
libports: another right leak fix
* libports/manage-multithread.c (adjust_priority): Deallocate host
right before returning.
commit 34ff01a84390ba7a5c0377c326944fc026d66140
Author: Justus Winter <address@hidden>
Date: Mon Nov 25 17:01:30 2013 +0100
libfshelp: improve error handling in fshelp_start_translator_long
Properly deallocate all ports and terminate the started translator if
an error occurs.
* libfshelp/start-translator-long.c (fshelp_start_translator_long):
Improve error handling.
commit f0023823ef3282bd3483e6a7aa19b0a0939a6ba4
Author: Justus Winter <address@hidden>
Date: Wed Nov 27 10:38:08 2013 +0100
proc: store the device master port in _hurd_device_master
* proc/host.c (S_proc_getprivports): Adapt accordingly.
* proc/main.c (main): Store the device master port in _hurd_device_master.
* proc/proc.h (master_device_port): Remove unused variable.
commit 2c9422595f41635e2f4f7ef1afb7eece9001feae
Author: Justus Winter <address@hidden>
Date: Tue Nov 26 17:33:05 2013 +0100
proc: store the privileged host port in _hurd_host_priv
Store the privileged host port in _hurd_host_priv like it is done in
the root filesystem. This fixes the thread priority adjustment in the
proc server. Prior to this fix, a warning message "unable to adjust
libports thread priority" sometimes appeared early in the boot
process.
* proc/host.c (S_proc_getprivports): Adapt accordingly.
(S_proc_register_version): Likewise.
* proc/mgt.c (add_tasks): Likewise.
* proc/msg.c (tickle_init): Likewise.
* proc/main.c (main): Store the privileged host port in _hurd_host_priv.
* proc/proc.h: Remove unused variable master_host_port.
fixup_store_priv_port
commit 6d1f5176f257ab9a9b47ae65b528c9ab79db5b31
Author: Justus Winter <address@hidden>
Date: Wed Nov 27 10:49:46 2013 +0100
libports: improve error reporting in adjust_priority
By using error instead of perror, the warning can be proprely
attributed to the process.
* libports/manage-multithread.c (adjust_priority): Use error instead
of perror to print the warning.
commit 460b6f2daff3c413de4312424d38cd50c481016f
Author: Justus Winter <address@hidden>
Date: Mon Nov 25 16:58:59 2013 +0100
libdiskfs: improve error reporting in diskfs_start_disk_pager
* libdiskfs/disk-pager.c (diskfs_start_disk_pager): Improve error reporting.
commit c62b1edd42d9522d6277d5ca648f2e4a4214341c
Author: Justus Winter <address@hidden>
Date: Sat Nov 23 15:30:42 2013 +0100
libports: improve error handling in ports_transfer_right
* libports/transfer-right.c (ports_transfer_right): Improve error handling.
commit 4353f92301cd903a00831a8272d149c45bbb5b8c
Author: Justus Winter <address@hidden>
Date: Sat Nov 23 15:27:31 2013 +0100
libports: improve error handling in ports_reallocate_from_external
* libports/reallocate-from-external.c (ports_reallocate_from_external):
Improve error handling.
commit 76a94131bf8823b3ad0192878ecef6b6ef2da004
Author: Justus Winter <address@hidden>
Date: Sat Nov 23 15:25:03 2013 +0100
libports: improve error handling in ports_reallocate_port
* libports/reallocate-port.c (ports_reallocate_port): Improve error
handling.
commit 31d394232eb8544154198ec3de7328ab1a6b82a6
Author: Justus Winter <address@hidden>
Date: Sun Nov 24 23:30:08 2013 +0100
proc: update comments
* proc/main.c (main): Update comment. The proc server is no longer PID 0.
* proc/proc.h: Likewise.
commit 78636c03a561d3a9a1b7c008dc390fe854196309
Author: Justus Winter <address@hidden>
Date: Mon Nov 25 13:05:01 2013 +0100
init: fix port leak
* init/init.c (S_startup_essential_task): Fix port leak.
commit 88be9e7481f167d139b4f3c981368b6071c61384
Author: Justus Winter <address@hidden>
Date: Wed Nov 27 10:27:29 2013 +0100
libshouldbeinlibc: fix minor port leak in maptime_map
Deallocate the device port after creating the mapping. The mapping is
independent of the device port.
* libshouldbeinlibc/maptime.c (maptime_map): Deallocate device port.
commit 2ef89abb8cbafab865baa2399e2641879b495aea
Author: Richard Braun <address@hidden>
Date: Mon Nov 25 14:10:53 2013 +0100
libports: fix right leaks when adjusting priorities
* libports/manage-multithread.c (adjust_priority): Deallocate processor set
rights before returning.
commit 5e3d2fc37be8b73a0ddabf1389c75f79e77c7e93
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 13:19:36 2013 +0100
libshouldbeinlibc: fix error handling in maptime_map
Found using the Clang Static Analyzer.
* libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
commit ae2434732c4b24d1b91ab30615e79f48bd40b9b5
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 12:37:21 2013 +0100
mach-defpager: drop all register qualifiers
* mach-defpager/default_pager.c: Drop register qualifiers.
* mach-defpager/kalloc.c: Likewise.
* mach-defpager/queue.h: Likewise.
* mach-defpager/wiring.c: Likewise.
commit 7d8a6e3f517d0bf959a2db2c9c774a15439f6c94
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 12:08:28 2013 +0100
usermux: actually use the computed flags value in netfs_attempt_utimes
If either atime or mtime is NULL, the respective time should be set to
the current time.
Found using the Clang Static Analyzer.
* usermux/node.c (netfs_attempt_utimes): Use flags in call to
fshelp_touch.
commit d1fd151cdd1faec5fd4966118586c746a89d93c1
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 12:01:43 2013 +0100
nfsd: fix error handling in op_remove
Found using the Clang Static Analyzer.
* nfsd/ops.c (op_remove): Fix error handling.
commit 562e3a8a2652dd960d5d76208c723f717e47330e
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 11:47:44 2013 +0100
fatfs: fix error handling in diskfs_get_directs
Found using the Clang Static Analyzer.
* fatfs/dir.c (diskfs_get_directs): Fix error handling.
commit 6ba9bf05e62d651505e1487b50eee90bd6379e02
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 11:46:29 2013 +0100
fatfs: fix error handling in diskfs_lookup_hard
Found using the Clang Static Analyzer.
* fatfs/dir.c (diskfs_lookup_hard): Fix error handling.
commit edd9912ffb4a44068aae2ec21f0449d3d53616a3
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 11:35:14 2013 +0100
libps: fix the length computation in fprint_frac_value
Found using the Clang Static Analyzer.
* libps/spec.c (fprint_frac_value): Fix computation of value_len.
commit 32e60534c7e2b6093de74bd75d37cb117f1d3a5c
Author: Justus Winter <address@hidden>
Date: Wed Nov 20 11:22:34 2013 +0100
utils: fix dead initialization
Found using the Clang Static Analyzer.
* utils/frobauth.c (posix_parse_opt): Fix dead initialization.
(no_ugids_parse_opt): Likewise.
commit 448d06e8dc5c06f111bb6baae7d456e174225729
Merge: 4d6828c e971ab1
Author: Samuel Thibault <address@hidden>
Date: Tue Nov 19 01:44:58 2013 +0100
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
commit 4d6828ca04636d331f9a050f05b576e489022a1f
Author: Samuel Thibault <address@hidden>
Date: Tue Nov 19 01:43:11 2013 +0100
Make sure created netfs nodes have stat validated
Just like it always is in libnetfs' normal netfs_S_dir_lookup.
* trans/fakeroot.c (netfs_S_dir_lookup): Call netfs_validate_stat after
calling new_node.
commit e971ab1a229d1ef1d5c1e5e1ff52ec597c55270e
Author: Justus Winter <address@hidden>
Date: Mon Nov 11 20:53:07 2013 +0100
libports: implement lockless management of threads
ports_manage_port_operations_multithread uses two values, totalthreads
and nreqthreads, to manage the threads it creates. Previously a lock
was used to synchronize the access to them. Use atomic operations
instead.
* libports/manage-multithread.c (ports_manage_port_operations_multithread):
Use atomic operations instead of a lock to synchronize the access to
totalthreads and nreqthreads.
commit 8f39f8bf905ca84db4c853733f6a3d3a3011c237
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 20:36:58 2013 +0100
Clean up the included header files
* libihash/ihash.c: Clean up the included header files.
* libshouldbeinlibc/cacheq.c: Likewise.
* libshouldbeinlibc/canon-host.c: Likewise.
* libshouldbeinlibc/fsysops.c: Likewise.
* libshouldbeinlibc/idvec-auth.c: Likewise.
* libshouldbeinlibc/idvec.c: Likewise.
* libshouldbeinlibc/idvec.h: Likewise.
* libshouldbeinlibc/localhost.c: Likewise.
* libshouldbeinlibc/maptime.c: Likewise.
* libshouldbeinlibc/nullauth.c: Likewise.
* libshouldbeinlibc/portxlate.c: Likewise.
* libshouldbeinlibc/shared-dom.c: Likewise.
* libshouldbeinlibc/ugids-argp.c: Likewise.
* libshouldbeinlibc/ugids-auth.c: Likewise.
* libshouldbeinlibc/ugids-imply.c: Likewise.
* libshouldbeinlibc/ugids-merge.c: Likewise.
* libshouldbeinlibc/ugids-subtract.c: Likewise.
* libshouldbeinlibc/ugids-verify-auth.c: Likewise.
* libshouldbeinlibc/ugids-verify.c: Likewise.
* libshouldbeinlibc/ugids.c: Likewise.
* libshouldbeinlibc/ugids.h: Likewise.
* libshouldbeinlibc/wire.c: Likewise.
commit ef0b64d8d0ee7851a4d149ef8e39c133e4b788b7
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 13:04:53 2013 +0100
mach-defpager: do not remove -Wall from CFLAGS
Bother, said Pooh.
* Makefile: Do not remove -Wall from CFLAGS.
commit dc96b68a826a652d514f994d1f7932fb6fff87a7
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 12:57:27 2013 +0100
mach-defpager: fix the page offsets returned by pager_pages
Previously the increment was outside the loop body, turning it into a
dead increment.
Move the increment into the loop body as it is done in the true branch
above. This fixes the offsets recorded in the default_pager_page_t
objects.
Found using the Clang Static Analyzer.
* mach-defpager/default_pager.c (pager_pages): Fix returned page offsets.
commit e4e5c29fb254a05a134886ee6518e3d7cfde1cc6
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 12:26:32 2013 +0100
libshouldbeinlibc: fix dead assignment
Found using the Clang Static Analyzer.
* libshouldbeinlibc/timefmt.c (fmt_past_time): Fix dead assignment,
normalize adjacent white space.
commit 5d3b00abe9a506ab3c3310cfb82394534463c40b
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 12:10:05 2013 +0100
ext2fs: fix error handling
Found using the Clang Static Analyzer.
* ext2fs/dir.c (diskfs_lookup_hard): Fix error handling.
commit 95e50540529d5a411880acbb6ee9f743226243a8
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 11:56:50 2013 +0100
libdiskfs: fix error handling
Found using the Clang Static Analyzer.
* libdiskfs/dir-renamed.c (diskfs_rename_dir): Fix error handling.
commit c75adc040ca2767545e9cff51575b2ac1706efcd
Author: Justus Winter <address@hidden>
Date: Fri Nov 15 11:53:55 2013 +0100
libdiskfs: remove dead assignment
Found using the Clang Static Analyzer.
* libdiskfs/io-write.c (diskfs_S_io_write): Remove dead assignment.
commit f5ba2dee8d589639de0e0df315322e5b312c45c5
Author: Justus Winter <address@hidden>
Date: Thu Nov 7 17:15:53 2013 +0100
utils: implement portinfo --search
Implement the --search switch of portinfo. The feature was suggested
in the source code and partly implemented. portinfo --search locates
the target ports (or all ports) in any other process and prints the
port mapping and information about the port in the remote process.
* utils/Makefile: Link portinfo against libps.
* utils/portinfo.c (options): Enable --search option.
(search_for_port): New function.
(search_for_ports): Likewise.
(main): Call search_for_port{,s} as appropiate.
commit 9b02c4454abee568af9ff1d6c9044e9cd757b5aa
Author: Justus Winter <address@hidden>
Date: Thu Nov 7 17:01:02 2013 +0100
libshouldbeinlibc: fix reference counting in port_name_xlator_create
Both task ports are deallocated in the destructor, so they must be
referenced in the constructor.
* libshouldbeinlibc/portxlate.c (port_name_xlator_create): Fix
reference counting.
commit 130b51ac17f44707261f4885d2fadb44a2f5a1e5
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 17:10:35 2013 +0100
mach-defpager: include errno.h
* mach-defpager/default_pager.c: Include errno.h.
commit 5d255e321ace772df825d4ac2604b451bde7ba15
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 13:14:30 2013 +0100
proc: turn count_up and store_pid into normal functions
Previously count_up and store_pid were defined inside
S_proc_getallpids. Move them out of that function and declare them
static.
* proc/mgt.c: Turn count_up and store_pid into normal functions.
commit aaba23a7f450d43d0062d66a712e5d0de62f7e87
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 10:37:42 2013 +0100
term: fix error handling in hurdio_mdmctl
hurdio_mdmctl allows one to set and clear bits from the modem control
bit vector. However, plausible code paths exist that leave oldbits
uninitialized. Fix this by returning an error instead if retrieving
the oldbits failed and the bit set or clear operation was selected.
Found using the Clang Static Analyzer.
* term/hurdio.c (hurdio_mdmctl): Fix error handling.
commit 180563217f2579029424c9b79abe7bb2fcfeb51b
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 17:20:34 2013 +0100
mach-defpager: remove unused variables
Found using the Clang Static Analyzer.
* mach-defpager/default_pager.c (seqnos_memory_object_terminate):
Remove unused variables request_refs and name_refs.
commit b31164eeecf3f798f75a71577ae365daf8211946
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 17:05:41 2013 +0100
mach-defpager: turn dealloc_direct into a normal function
* mach-defpager/default_pager.c (dealloc_direct): Move function
definition outside of pager_truncate.
commit bd55e5ccce4b35ffb1028d7810b93df3b7522d05
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 16:17:26 2013 +0100
auth: fix use of uninitialized variable err
Previously a plausible execution path existed so the value of err was
undefined at the end of the function, making the function return
arbitrary error values. Fix this by initializing it to 0.
Found using the Clang Static Analyzer.
* auth/auth.c (S_auth_server_authenticate): Initialize err to 0.
commit d22ba3e7629976f6a55382140945e92a4d5600b7
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 16:10:37 2013 +0100
init: fix memory leak
Found using the Clang Static Analyzer.
* init/init.c (process_signal): Fix memory leak.
commit 59499c6189fd0871b46acf7c3c1a67c00bba9956
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 15:21:39 2013 +0100
proc: fix error handling in S_proc_exception_raise
Found using the Clang Static Analyzer.
* proc/mgt.c (S_proc_exception_raise): Fix error propagation.
commit 20fdd28047bfe8fabb7cebbda49386f4cab3c020
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 14:55:47 2013 +0100
proc: fix a use-after-free error
If we have to create a new process group, we have to do this before
leaving the current one. The current process group is deallocated if
the process is the last process in that group. Likewise, if the
current group was the last group in the current groups session, the
session is deallocated.
Found using the Clang Static Analyzer.
* proc/pgrp.c (S_proc_setpgrp): Fix use-after-free error.
commit e65dc371a1c421dcfe4b6bbf2f937ae7ef5a563d
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 14:53:37 2013 +0100
proc: fix the declaraton of genpid
* proc/proc.h (genpid): Fix declaration.
commit cb92b7618edec56b534f89129556ba74b62e4c6e
Author: Justus Winter <address@hidden>
Date: Wed Nov 6 13:10:07 2013 +0100
proc: remove declaration of nested functions from proc.h
Remove the declaration of count_up and strore_pid from proc.h. The
functions are defined as nested functions in S_proc_getallpids, there
is no need to declare them. Furthermore, the declaration does not
match the definition.
* proc/proc.h: Remove declaration of count_up and strore_pid.
commit 38bd193c9908d88f26f36ed62298b0b1ad13d2cb
Author: Justus Winter <address@hidden>
Date: Thu Nov 7 17:23:47 2013 +0100
utils: implement settrans --pid-file
This switch makes settrans write the pid file of the active translator
it starts to a file. This makes the pid easily retrievable for test
suites.
* utils/settrans.c (options): Add --pid-file.
(main): Add variable pid_file.
(parse_opt): Handle --pid-file switch.
(open_node): Write pid file.
commit 9019e629679ec12c1a4c9656bab337e84f861e8c
Author: Justus Winter <address@hidden>
Date: Fri Nov 8 14:28:26 2013 +0100
libports: fix the thread counts in case the thread creation fails
Previously the number of total threads and the number of unused
threads was wrong if at one point the creation of a thread failed. Fix
this by decrementing both counters that were previously optimistically
incremented. Adjust the comment accordingly.
* libports/manage-multithread.c (ports_manage_port_operations_multithread):
Fix the thread counts in case the thread creation fails.
commit 057c04d1157322c235872e412bcc22487858c5af
Author: Justus Winter <address@hidden>
Date: Fri Nov 8 11:26:42 2013 +0100
Normalize whitespace at the end of each file to '\n'
Some files were not normalized. In console/motd.UTF8 the additional
newline is intentional. Empty files were excluded as well.
commit 218cae5a714342b5d82a5b004d58f0a9ebbbfe5e
Author: Richard Braun <address@hidden>
Date: Wed Nov 6 01:44:09 2013 +0100
pfinet: fix emission on the loopback device
Unlike other devices, sending packets on the loopback device causes the
netif_rx() function to be called from the net_bh worker thread. Since
the thread is already running, it can't wake itself up when calling
mark_bh(). Use a new variable to indicate when net_bh work is pending.
* glue-include/linux/interrupt.h (net_bh_raised): Declare new global
variable.
(mark_bh): Set net_bh_raised to 1 before waking up net_bh worker thread.
* loopback.c (loopback_xmit): Add comment giving details about locking.
* sched.c (net_bh_raised): Define new global variable.
(net_bh_worker): Wait for net_bh_raised to become true and reset it
before processing net_bh work.
commit 880dd56f468b57a198ab2136767d03ddaa586eef
Author: Justus Winter <address@hidden>
Date: Fri Nov 1 22:53:12 2013 +0100
libports: fix error handling in _ports_create_port_internal
Previously any err value set before reaching lose: was overwritten and
thus not properly propagated.
Found using the Clang Static Analyzer.
* libports/create-internal.c (_ports_create_port_internal): Fix error
handling.
commit a274a4f22c83c536744e77e3dc873417912a1928
Author: Samuel Thibault <address@hidden>
Date: Fri Nov 1 22:39:19 2013 +0100
Fix use after free
Reported by Justus Winter
* libtrivfs/protid-clean.c (trivfs_clean_protid): New variable `cntl`
factorizes
access to `cred->po->cntl`, and fixes use after free of cred->po.
commit 2ca0296a824d12bc55e3d4d0bf580f26a10eb830
Author: Justus Winter <address@hidden>
Date: Fri Oct 25 10:30:23 2013 +0200
libshouldbeinlibc: fix error handling in maptime_map
Found using the Clang Static Analyzer.
* libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
commit c38a10bca63e4fea5573dccf4caa9d17e325a6d8
Author: Justus Winter <address@hidden>
Date: Fri Oct 25 10:30:21 2013 +0200
exec: Remove the remaining BFD related bits
* exec/Makefile: Remove commented out lines related to BFD.
* exec/hostarch.c: Remove all BFD related code.
* exec/main.c: Likewise.
commit 87c02e03c4ae40e5e96792f67d7aad09b7f50935
Author: Justus Winter <address@hidden>
Date: Fri Oct 25 13:45:47 2013 +0200
configure.ac: properly escape the test for X11/keysymdef.h
* configure.ac: Properly escape the test for X11/keysymdef.h using
AC_LANG_SOURCE.
commit aece54e2c790d65c660bfe0bbbfd42d9cdd3fe27
Author: Samuel Thibault <address@hidden>
Date: Mon Oct 28 09:16:55 2013 +0100
Make boot script accept more fsck values
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
commit 52b0837fc72d5be2b99b71e6223d54cbfaf1716a
Author: Samuel Thibault <address@hidden>
Date: Tue Oct 22 20:35:32 2013 +0200
Add xenl to hurd.ti
* console/hurd.ti (xenl): Add capability.
commit e1dff04f50833437c47cf1b737e69d3a73de9d63
Author: Samuel Thibault <address@hidden>
Date: Tue Oct 22 14:38:28 2013 +0200
Make CUD more usual
Whether CUD scrolls the screen or not is implementation-dependant.
Applications are not supposed to assume one way or the other, but they
sometimes do, and most implementations do scroll, so let's stick to common
practice.
* console/display.c (handle_esc_bracket): On CUD/VPR, scroll the screen
instead of capping the cursor position.
commit 1cf9d9d1ee1b5bb9ea73208b9635252ab5d883fb
Author: Samuel Thibault <address@hidden>
Date: Tue Oct 22 11:39:32 2013 +0200
Make boot script reboot when fsck told so
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
commit 6a33dc6cb1546acf3c5db982e3f44b41bff67b05
Author: Richard Braun <address@hidden>
Date: Fri Oct 18 01:16:08 2013 +0200
pflocal: fix message flags on receive
* pflocal/socket.c (S_socket_recv): Set the memory pointed by out_flags
to 0 instead of the pointer.
commit 2e5f5e3c6d3716aec736474a198de5f7746a5450
Author: Richard Braun <address@hidden>
Date: Fri Oct 18 01:16:08 2013 +0200
pflocal: fix port leak when receiving port rights
The socket_send and socket_recv routines can be used to transmit port
rights along data. Unfortunately, pflocal retains a copy of these rights
in the socket_recv RPC. These lingering references would in turn lead to
other leaks in servers waiting for a no-sender notification to clean
their resources. Since these copied rights aren't used at all by the
server, it is safe to simply move them to the recipient instead.
* pflocal/socket.c (S_socket_recv): Transmit port rights using
MACH_MSG_TYPE_MOVE_SEND transfer type instead of MACH_MSG_TYPE_COPY_SEND.
commit 5ab5d98fa515cd19a64e8d5868fcbae85eec9dc5
Author: Richard Braun <address@hidden>
Date: Fri Oct 18 01:16:08 2013 +0200
libdiskfs: fix removal of socket nodes
When the file system supports ifsock shortcuts, a socket node can obtain
a right on a socket address. This reference is only lost if the address
is destroyed, through a dead-name notification. On the other hand,
pflocal keeps the address around until all references are dropped. This
leads to a situation where socket nodes, addresses, and their associated
sockets are leaked. To remedy the situation, make addresses get a light
reference on socket nodes, and properly deallocate it when the node is
destroyed, which will in turn make pflocal correctly remove the matching
address and socket.
* libdiskfs/ifsock.c (diskfs_S_ifsock_getsockaddr): Add a light reference
instead of a hard one.
* libdiskfs/node-nput.c (diskfs_nput): Deallocate right to socket address
when cleaning light references.
commit 4660ac02b9723380b4581b4c6a46e54861b95059
Author: Richard Braun <address@hidden>
Date: Fri Oct 18 01:16:07 2013 +0200
pflocal: fix destruction of explicitely bound sockets
Sockets must have a weak reference on the address they're bound to so
that addr_unbind is properly called before addr_clean. For sockets that
are automatically bound, this weak reference is created in ensure_addr.
Do the same in sock_bind.
* pflocal/sock.c (sock_bind): Handle weak reference on addr.
commit 1cfdceba98c380ad1cebb3a6b3d1f141d852c691
Author: Richard Braun <address@hidden>
Date: Mon Oct 14 20:48:25 2013 +0200
term: fix read on a closed PTY
* term/ptyio.c (pty_io_read): Return EIO if the terminal has been closed.
commit ef6f49570c748bed2c086faecec9064b9b04514a
Author: Justus Winter <address@hidden>
Date: Thu Oct 10 18:08:20 2013 +0200
console-client: replace function epilogue with console_exit
* console-client/console.c (main): Replace epilogue with console_exit.
commit 5296cbf51c564fdbf2beb299beda43bdd52a8229
Author: Justus Winter <address@hidden>
Date: Thu Oct 10 18:08:21 2013 +0200
console-client: minor stylistic fix
* console-client/console.c (main): Minor stylistic fix.
commit 810d47c823ccac01888f3e64e1dcdd247ef92986
Author: Justus Winter <address@hidden>
Date: Thu Oct 10 18:08:22 2013 +0200
console-client: fix error handling
Fix the error handling in console_move_mouse. This also appeases the
compiler.
* console-client/console.c (console_move_mouse): Fix error handing.
commit 9be362ab7efc6ad27a678e00f9b0b35a24993aa1
Author: Justus Winter <address@hidden>
Date: Thu Oct 10 18:08:19 2013 +0200
console-client: entitle console_exit with the noreturn attribute
* console-client/input.h (console_exit): Add noreturn attribute.
commit 695e5d209ade018afea1b2d2f9e042e9c78028ae
Author: Justus Winter <address@hidden>
Date: Thu Oct 10 18:08:18 2013 +0200
console-client: remove the pid file on clean exits
Remove the pid file if the console client exits either cleanly using
console_exit or because of an error during daemonization.
* console-client/console.c (console_exit): Remove the pid file.
(daemon_error): Likewise.
commit fd8213f83d0656bd0cd5215306e22e5a25058bee
Author: Justus Winter <address@hidden>
Date: Tue Oct 8 15:49:04 2013 +0200
libfshelp: properly free active translator entries
Previously the dynamically allocated field name leaks. Fix this by
properly freeing the objects of type struct translator.
* libfshelp/translator-list.c (translator_ihash_cleanup): Fix memory leak.
commit d0302f12c4d33eabbcbaf23e941ac33e1e364e3d
Author: Justus Winter <address@hidden>
Date: Tue Oct 8 15:49:03 2013 +0200
trans: rename a global variable
Rename the global variable "path" to "target_path" to make it more
unambiguous.
* trans/mtab.c: Rename global variable "path".
commit 0fd357b48642f16c3adf8ed474f299daecef2613
Author: Justus Winter <address@hidden>
Date: Tue Oct 8 15:49:02 2013 +0200
Revert "tmpfs: drop privileges in the tmpfs translator"
This reverts commit 7075bc11289355478659cd1610632a9299734afc.
Dropping the unix privileges of the tmpfs translator causes problems
with the passive translator startup. The function fshelp_fetch_root
creates an auth handle containing the processes original UID and
GID. But if the privileges were dropped before, this operation fails
with EPERM.
This commit also broke mkfifo(3), possibly for similar or related
reasons.
* tmpfs/tmpfs.c (main): Do not drop all privileges.
commit 9ba4ba4394e729560e72148a0e52160faf83893f
Author: Richard Braun <address@hidden>
Date: Tue Oct 8 22:22:05 2013 +0200
Fix memory leak in exec
* exec/hashexec.c (check_hashbang): Unmap command arguments.
commit c87688a05a8b49479ee10127470cc60acebead4a
Author: Richard Braun <address@hidden>
Date: Fri Oct 4 20:27:45 2013 +0200
Fix mtab translator leak
The node structure for the `mounts' entry is created and destroyed on
each access, despite the fact a translator is activated on it. Fix the
issue by caching it.
* rootdir.c (rootdir_mounts_node): New variable.
(rootdir_mounts_node_lock): Likewise.
(rootdir_mounts_make_node): New function.
(rootdir_translator_make_node): Remove function.
(rootdir_entries): Replace `rootdir_translator_make_node' with
`rootdir_mounts_make_node'.
commit 98b6f846b628e858acbae9258bac78cf54126d27
Author: Richard Braun <address@hidden>
Date: Fri Oct 4 20:18:24 2013 +0200
Fix memory leak in libnetfs
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Properly jump to the
single exit point if fshelp_fetch_root fails.
commit 6c3825f2b750bf9b913c6ea986739e648c470603
Author: Richard Braun <address@hidden>
Date: Wed Oct 2 20:30:15 2013 +0200
Check for negative sizes in file_set_size
* libdiskfs/file-set-size.c (diskfs_S_file_set_size): Return EINVAL if
size is negative.
* libnetfs/file-set-size.c (netfs_S_file_set_size): Likewise.
* libtreefs/s-file.c (treefs_S_file_set_size): Likewise.
* storeio/io.c (trivfs_S_file_set_size): Likewise.
* term/users.c (trivfs_S_file_set_size): Likewise.
* trans/null.c (trivfs_S_file_set_size): Likewise.
* trans/streamio.c (trivfs_S_file_set_size): Likewise.
commit a81c0c28ea606b0d0a2ad5eeb74071c746b7cdeb
Author: Richard Braun <address@hidden>
Date: Fri Sep 27 20:49:45 2013 +0200
Fix memory leak in libdiskfs
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Properly jump to the
single exit point if fshelp_fetch_root fails.
commit 6e517e5e6243c1014ab35d20a6b08d7fd6a52e9b
Author: Thomas Schwinge <address@hidden>
Date: Fri Sep 27 21:41:02 2013 +0200
GNU Hurd 0.5.
* configure.ac (AC_INIT): Set version to 0.5.
(AC_REVISION): Remove.
* NEWS: Finalize changes for 0.5.
* INSTALL: Update.
* INSTALL-cross: Likewise.
* README.CVS: Delete, but move some content...
* README: ... here. Update.
commit 3bdf8aad39d39168d096d3042b659fb9d2ef1651
Author: Thomas Schwinge <address@hidden>
Date: Fri Sep 27 20:36:58 2013 +0200
Decouple the Hurd version from the package version.
* config.make.in (package-version): New variable.
(hurd-version): Set to 0.3.
* Makeconf (%: %.sh): Use package-version instead of hurd-version.
* Makefile (stamp-version): Likewise.
* doc/Makefile (stamp-version): Likewise.
commit 559ee510cb7058d9e0d3384302be4a0053e179cf
Author: Thomas Schwinge <address@hidden>
Date: Fri Sep 27 15:54:01 2013 +0200
Generate ChangeLog files for distributions.
* gitlog-to-changelog: New file; import from gnulib's
9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog.
* Makefile (ChangeLog.tar, gen-ChangeLog): New targets.
($(dist-version).tar): Depend on and use the former.
(clean-misc): Clean up the generated files.
commit 76c5584261baae519063162fea47620e631005ce
Author: Thomas Schwinge <address@hidden>
Date: Fri Sep 27 15:46:11 2013 +0200
UFS is no more.
* ChangeLog: Don't refer to bsdfsck/ChangeLog, ufs/ChangeLog,
ufs-fsck/ChangeLog, ufs-utils/ChangeLog.
Fixup for commit 84cf9c0f312637b670cc87224ff7e7c4da659e36.
commit 6b218d07bfb6bd1b16bec6f5ccce7301886d6b79
Author: Thomas Schwinge <address@hidden>
Date: Fri Sep 27 15:44:57 2013 +0200
* ChangeLog: Don't refer to serverboot/ChangeLog; it is no more.
Fixup for commit a8744157214a302d84c8959b1ae99abe3ae2d7d2.
commit 51a25140f5314549b586a35e05e9f1e3319fd2cf
Author: Samuel Thibault <address@hidden>
Date: Thu Sep 26 01:49:54 2013 +0200
Update mailing lists
* README: Update mailing lists.
commit d8d91cdaf9fd1e0a6d676a211da024fa7f52055b
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 24 10:46:35 2013 +0200
Drop dead links
* doc/hurd.texi (BSD Unix FS): Remove link to dropped section.
commit 3aee8e4b88269ec6fbc47779cc2acb5cce6d78b4
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 24 07:25:05 2013 +0200
Fix missing renames
* pflocal/sock.c (sock_connect, sock_shutdown): Rename SOCK_CONNECTED to
PFLOCAL_SOCK_CONNECTED.
commit cf2aaecb77099ef8d2b9f9fb8ae0d1e362643271
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 24 00:19:08 2013 +0200
Add --without-daemon option to configure
* configure.ac (--without-daemon): Add option to disable libdaemon pkgconfig
test.
commit fac7bebe532f05b6053315a6be505e49c500f4e0
Author: Samuel Thibault <address@hidden>
Date: Sat Sep 21 21:13:08 2013 +0200
Fix spurious port deallocation
* utils/storeinfo.c (parse_opt): Do not deallocate `file` port, `store_free`
does it already.
commit f73b0c1a45a7c73fcc034f7fd34ae906dd51b4ad
Author: Justus Winter <address@hidden>
Date: Mon Sep 16 12:20:26 2013 +0200
include: make /hurd/proc PID 3
Using PID 0 is problematic for various reasons. Make /hurd/proc run as
PID 3 instead.
* include/pids.h: Make /hurd/proc PID 3.
commit 6c277e6e677df4b92f7588513f34f745af5fce24
Author: Justus Winter <address@hidden>
Date: Mon Sep 16 12:20:25 2013 +0200
proc: do not hand out PID 0
Using PID 0 causes various problems. This makes genpid skip PID 0.
* proc/mgt.c (genpid): Start PIDs at 1.
commit 969078c9755b7e28dcabe277629f757e20a19f1a
Author: Justus Winter <address@hidden>
Date: Mon Jul 22 17:54:39 2013 +0200
Serve mounts node with a passive translator record
Make mounts a node with a passive translator record so that the mtab
translator is started on access if it is available.
* rootdir.c (MTAB_TRANSLATOR): New macro.
(rootdir_mounts_get_translator): New function.
(rootdir_mounts_exists): New function.
(rootdir_translator_make_node): Likewise.
(rootdir_entries): Add "mounts" node.
commit 690beb4d6679c66f45d09883408cb860337e31c2
Author: Justus Winter <address@hidden>
Date: Mon Aug 5 12:11:30 2013 +0200
Make start_code and end_code available in /proc/*/stat
This makes killall5 actually kill any processes not marked as
important.
* process.c (process_file_gc_stat): Fix {start,end}_code.
commit 883e9a3bcbd0de620272c79b6a081b42b0832ef4
Author: Justus Winter <address@hidden>
Date: Fri Jun 28 18:37:45 2013 +0200
procfs: provide a more meaningful response to fsys_get_options
Implement our own netfs_append_args function that provides the
appropriate command line flags if the current values differ from the
default values.
* procfs/main.c (netfs_append_args): New function.
commit 2f13ab11aa71a2b8fb6e045a9ff81b7b2252cbe0
Author: Justus Winter <address@hidden>
Date: Fri Jun 28 18:37:44 2013 +0200
procfs: define macros for the default argument values
Define a macro for the default value of each command line
parameter. This allows one to generate a minimal response to
fsys_get_options requests.
* procfs/main.c: New macro definitions for default values.
commit 2baaf773daa797048ea96573fa01786d129f00fb
Author: Justus Winter <address@hidden>
Date: Fri Jun 28 18:37:43 2013 +0200
procfs: handle the --update parameter
Split the argument handling into a common part and one for
fsys_update_options. Handle the --update parameter; for procfs this is
a no-op.
* procfs/main.c (common_options): New variable.
(runtime_argp_parser): Handle --update.
(startup_argp): New variable.
(netfs_runtime_argp_): New variable.
commit eda9e61107ed34a5f7a566fe6835a48c48aec1d3
Author: Justus Winter <address@hidden>
Date: Mon Aug 26 19:32:24 2013 +0200
Fix argument parsing
The switch statement was missing the default case returning
ARGP_ERR_UNKNOWN. This patch adds that.
* main.c (argp_parser): Add default case.
commit fc7055f2461fa92bc17d67f02058399dca5736ae
Author: Justus Winter <address@hidden>
Date: Mon Jul 22 17:54:38 2013 +0200
rootdir.c: Fix declaration of rootdir_fakeself_exists.
* rootdir.c (rootdir_fakeself_exists): Use the correct arguments for
this kind of function.
commit 7802531da03626cfded497239e29a8ec2e4a3285
Author: Justus Winter <address@hidden>
Date: Mon Jul 22 17:54:37 2013 +0200
rootdir.c: Fix compiler warning
* rootdir.c (rootdir_gc_meminfo): Use unsigned long constant.
commit 07b0785c207cd46751abcb17cf44168621bbc479
Author: Justus Winter <address@hidden>
Date: Mon Jul 22 17:54:36 2013 +0200
Makefile: add -lpthread
* Makefile (LIBS): Link with libpthread.
commit 92132dda0f13b2f4e82048797acfb7c34da2f53f
Author: Samuel Thibault <address@hidden>
Date: Mon Jul 22 22:57:38 2013 +0200
Fix profile link
* Makefile [PROFILE] (LIBS): Replace -lthreads with -lpthread
commit 890f987c15029d7e29f7deea0bba0b8d4ecaeaeb
Author: Justus Winter <address@hidden>
Date: Tue Jul 16 10:51:22 2013 +0200
Add the necessary infrastructure to serve passive translators
* netfs.c (netfs_get_translator): New function.
* procfs.c (procfs_get_translator): Likewise.
* procfs.h (struct procfs_node_ops): New field get_translator.
(procfs_get_translator): New function declaration.
commit 641249f6b143c4e22825e18e0dbe22bb04d21138
Author: Justus Winter <address@hidden>
Date: Tue Jul 16 10:51:21 2013 +0200
Fix default file ownership
Formerly all nodes were created so that they were owned by root:root
by default. This causes problems if the procfs translator is running
as unprivileged user and serves passive translator records, because
the file ownership is being used as credentials for starting
translators. This obviously fails if the procfs translator is not root
but is trying to acquire credentials including uid/gid 0.
Fix this by using the uid/gid of the procfs translator by default.
procfs.c (procfs_make_node): Fix default node ownership.
commit b1a3f96a8139c5ed3aac7b8a77b06ba4c0a877c7
Author: Justus Winter <address@hidden>
Date: Tue Jul 16 10:51:20 2013 +0200
Fix procfs_node_chmod
Formerly only the mode_t bits cut out by S_IFMT were preserved, but
this does not include S_IPTRANS. Fix this by preserving everything but
the permission bits.
* procfs.c (procfs_node_chmod): Fix bitmask.
commit 669dadfa07a5e63db8d9e572603872be88db52a3
Author: Justus Winter <address@hidden>
Date: Sat Jul 20 17:47:05 2013 +0200
procfs: Ignore arguments for compatibility with Linux' procfs.
Ignore the --nodev, --noexec and --nosuid arguments.
* procfs/main.c (argp_parser): Ignore some arguments for compatibility.
commit fd1f64a2e9e794a0184238bf3a0c4b7f5c6f963c
Author: Justus Winter <address@hidden>
Date: Sat Jun 29 22:14:13 2013 +0200
procfs: enable fsys_set_options
Make procfs translators handle fsys_set_options requests by pointing
netfs_runtime_argp to our argp struct.
* procfs/main.c (netfs_runtime_argp): New variable.
commit ea6ea2f554bc81b856d5286c23c2b4c8ba303fb9
Author: Justus Winter <address@hidden>
Date: Sat Jun 29 22:13:16 2013 +0200
procfs: keep old config values if the parsing fails
Previously if strtol failed the previous configuration value would get
overwritten. Prevent this by storing the result in a temporary
variable and update the configuration if the argument was parsed
correctly and passed the sanity checks.
* procfs/main.c (argp_parser): Keep old configuration in case a
malformed value is encountered.
commit 26b18d8e7d8bb5f1bf9ae20e40e8b291db3cebd6
Author: Samuel Thibault <address@hidden>
Date: Sat Jun 29 22:10:09 2013 +0200
procfs: fix the error handling in argp_parser
Do not exit using error (1, ..) but gracefully handle the error using
argp_error. Also fix a typo ("the a user") while touching these lines.
* procfs/main.c (argp_parser): Proper error handling.
(argp_parser): Fix typo.
commit 9288839793069e589615e4bb47257b63501586ae
Author: Pino Toscano <address@hidden>
Date: Sat Mar 2 17:36:36 2013 +0100
Remove old hack for the "stat" permissions
7550343b09a94dc1c659ad74dc75b3b77e7ab0bc added a better way to set the
permissions of that file,
so this old hack is not needed anymore.
* process.c (process_lookup_pid): Do not change the mode of ENTRIES[2].hook.
commit 3081d01a686922957fa298a3101f3cb1e8200ce7
Author: Richard Braun <address@hidden>
Date: Sat Jan 12 16:23:09 2013 +0100
Report VM cache size in meminfo
* rootdir.c: Include <mach/gnumach.h> and <mach/vm_cache_statistics.h>.
(rootdir_gc_meminfo): Call vm_cache_statistics and return the VM cache size.
commit 1b7ad5c5d601b6388f0fc871b4fa42d231c05400
Author: Pino Toscano <address@hidden>
Date: Thu Dec 6 17:51:58 2012 +0100
Simple implementation of statfs
Initial implementation of statfs reply, just returning the filesystem type
and its id.
* netfs.c: Include <sys/statvfs.h> and <unistd.h>.
(netfs_attempt_statfs): Implement.
commit 9828a0bb4c6e69f401738013e4adfb4da95afc03
Author: Richard Braun <address@hidden>
Date: Sun Nov 25 22:47:15 2012 +0100
Move procfs to pthreads
commit b5014c2caaef8ee061c47b907a599526d9dbe875
Author: Cyril Roelandt <address@hidden>
Date: Fri Oct 19 00:32:18 2012 +0200
Fix procfs link
Makefile (LIBS): Add -lfshelp
commit 9cb2ed46f9958cf80221a75df5a56aa82d46133e
Merge: da62c4e e50d744
Author: Samuel Thibault <address@hidden>
Date: Tue Sep 11 02:31:15 2012 +0200
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/procfs into
jkoenig/master
commit da62c4ea16e14fac7e298385a681043820d69ac4
Author: Pino Toscano <address@hidden>
Date: Mon Sep 10 18:14:48 2012 +0200
PID stat/status: show only the first word
If a process changed its title to a multiword string, show only the first
word
of it.
* process.c (args_filename_length): New function.
(process_file_gc_stat): Use args_filename_length.
(process_file_gc_status): Likewise.
commit e50d744b189595aa9e2f2351c57225980387362f
Merge: 1b55547 4d9dc03
Author: Thomas Schwinge <address@hidden>
Date: Thu Jul 12 15:50:11 2012 +0200
Merge jkoenig/master into master.
This branch supersedes the previous one.
commit 4d9dc03bbc42fdfdac0dc72f2bfac1f37f70e8b7
Author: Pino Toscano <address@hidden>
Date: Sat Jan 14 14:47:58 2012 +0100
PID stat/status: show only the file name of processes
The Linux /proc fs shows only the file name of processes in the
`stat' and `status' files of every process directory, so adapt also
procfs to show process file names.
Add a new `args_filename` function, much similar to GNU's `basename'
but returning the original string also when the resulting file name
is an empty string.
* process.c (args_filename): New function.
(process_file_gc_stat): Wrap the `proc_stat_args' result with
`args_filename'.
(process_file_gc_status): Likewise.
commit f8471a5a6b20693d3c7afc0645de62c842b82bd3
Author: Samuel Thibault <address@hidden>
Date: Tue Dec 27 18:13:00 2011 +0100
Revert "Do not use msgport information"
This reverts commit d9fc76bd4e8c9a459fad7152135b738496318415, as it breaks
/proc/pid/stat
commit d9fc76bd4e8c9a459fad7152135b738496318415
Author: Samuel Thibault <address@hidden>
Date: Tue Dec 27 17:31:20 2011 +0100
Do not use msgport information
* process.c (process_lookup_pid): Set PSTAT_NO_MSGPORT flag.
* rootdir.c (get_boottime, get_idletime, rootdir_gc_cmdline): Set
PSTAT_NO_MSGPORT flag.
commit f4dfd14bb77fd884a0e5afe306c677e7e873f41d
Author: Samuel Thibault <address@hidden>
Date: Tue Feb 22 21:06:36 2011 +0100
Add Buffers and Cached to /proc/meminfo
* rootdir.c (rootdir_gc_meminfo): Add Buffers and Cached, set to 0.
commit b0db9bc55ce9b66d0fba511239c278d1a257a9ef
Author: Jeremie Koenig <address@hidden>
Date: Wed Sep 1 10:49:11 2010 +0000
Use 2 instead of 42 as the parent inode number
* procfs.c (procfs_make_ino): Use 2 rather than 42 as a temporary hack,
since 2 is the root's inode with ext2fs.
commit 8dc9884fc74243a6810fdcac603e1941962b666a
Author: Jeremie Koenig <address@hidden>
Date: Wed Sep 1 10:19:49 2010 +0000
Use the user-provided kernel PID for uptime
* rootdir.c (get_boottime, get_idletime): replace KERNEL_PID with the
opt_kernel_pid command-line option.
* main.c (argp): Document the change.
commit 5c7310fd853620627b57c72ddcc3b212f29f6056
Author: Jeremie Koenig <address@hidden>
Date: Thu Aug 26 23:03:40 2010 +0000
Add copyright notices
* dircat.c, dircat.h, main.c, main.h, netfs.c, process.c, process.h,
procfs.c, procfs.h, procfs_dir.c, procfs_dir.h, proclist.c,
proclist.h, rootdir.c, rootdir.h: Add copyright notices.
commit e25cfb3f3a843122df7e70e97992a97ffe81717a
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 25 19:15:35 2010 +0000
Update the to-do list.
* TODO: Add more entries.
commit 0f3c9c2640ffd76f1d60f16dce6d16c47aac98b4
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 25 19:04:24 2010 +0000
Add some comments in rootdir.c
* rootdir.c: Add page breaks to separate sections and add header
comments for them.
commit 164db73bb35173f45a7eaba1984c3169cba778e8
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 25 12:03:16 2010 +0000
Add swap information to the top-level stat file
* rootdir.c (rootdir_gc_meminfo): Add swap information.
* TODO: Update.
commit e1c831a43ac1945db5a52ee6873856b9399dca76
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 25 05:47:08 2010 +0000
Add a PROFILE mode
* Makefile: Change FOOFLAGS defaults to appropriate values when
$(PROFILE) is defined.
* rootdir.c: Add an "exit" file, which causes exit to be called
when looked up, so that profiling data can be written to disk.
commit ca8277c6f507e54a043b84a8df9c55ac39a83c6e
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 25 05:46:49 2010 +0000
Fix leak in error case
* process.c (process_lookup_pid): Fix leak in error case.
commit b3d304167929bc199e6789fd67ffea035e7fdbf1
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 20:43:16 2010 +0000
Refresh nodes when they're read from the start.
This is necessary for top, for instance, which keeps some files open and
re-reads them regularly. As an extra bonus we can drop the refresh hack.
* procfs.c, procfs.h: Remove the refresh hack.
(procfs_refresh): New function, invalidates the cached contents.
* netfs.c (netfs_attempt_read, netfs_get_dirents): Call
procfs_refresh when the read is from offset 0.
* proclist.c (proclist_make_node): Remove the refresh hack.
* dircat.c (dircat_make_node): Likewise.
(dircat_get_contents): Use procfs_refresh to avoid keeping old data
from the component nodes.
commit 7b027a34676880bded1a05a5c47bfa85a6e79092
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 20:21:52 2010 +0000
Make sure the clock never runs backwards.
* process.c, rootdir.c: When converting timeval structures
into seconds or jiffies, make sure that floating point rounding errors
don't make the clock the result jump backwards on second boundaries.
commit 434f79cbfa00c7370724dc25091b5a42bdf8d9e1
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 19:04:48 2010 +0000
Fix the global idle time
* rootdir.c: Replace INIT_PID by KERNEL_PID, for boot time and
idle time purposes. (get_idletime): New function, queries the
kernel's idle thread. (rootdir_gc_uptime, rootdir_gc_stat): Use the
new function and provide the real idle time.
commit 7550343b09a94dc1c659ad74dc75b3b77e7ab0bc
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 16:46:04 2010 +0000
Cleanup pass on process.c
* process.c: Reorder some of the code. Improve comments.
Jiffies and clock tick are the same thing, right? Replace the stat
mode and cleanup hacks by more straightforward solutions.
commit f522af65aa004fea09705c74115836c6acd1cddb
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 14:15:54 2010 +0000
Revamp procfs_dir
* procfs_dir.c, procfs_dir.h: Revamp the interface to make
the more complicated use cases somewhat less hackish.
* process.c: Update, specify a default make_node function.
* rootdir.c: Likewise; make this optional "self" link use case
somewhat less hackish.
commit 4646c4a3ef6171a0ddec4fcfe0c6aa34b50501cd
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 11:54:10 2010 +0000
Improve the interface for dircat_make_node
* dircat.c, dircat.h (dircat_make_node): Use an explicit
array size for DIRS, fail with ENOMEM is any of them is NULL, and
release the reference on the non-NULL nodes on any error.
* main.c (root_make_node): Use the new interface.
commit 6e202c432e2f16dfa83a7dc21b759c03623fa394
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 11:33:22 2010 +0000
Detect asprintf's ENOMEM in procfs.c rather than everywhere
* procfs.h: Make CONTENTS_LEN an ssize_t rather than a size_t,
and document the change.
* procfs.c (procfs_get_contents): Initialize CONTENTS_LEN to a
negative value, and fail with ENOMEM if it's still negative after the
callback returns. (everywhere): Update to ssize_t.
* dircat.c, netfs.c, process.c,
procfs_dir.c, proclist.c, rootdir.c: Update to
ssize_t and the new GET_CONTENTS semantics.
commit 0f2bdacd6ad3dbcc905925dee12cb30918c33a11
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 11:24:29 2010 +0000
Make contents a char* to avoid typecasts all over the place
* procfs.h (procfs_cleanup_contents_with_free,
procfs_cleanup_contents_with_vm_deallocate, procfs_get_contents,
struct procfs_ops): Change CONTENTS from a void pointer to a char one.
* dircat.c, netfs.c, process.c, procfs.c,
procfs_dir.c, proclist.c, rootdir.c: Update.
commit a269783a41ae8b18e5b24d934c96ce9e90de3067
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 11:02:48 2010 +0000
Remove the unused procfs_file module
* procfs_file.c, procfs_file.h: Remove.
* Makefile: Remove procfs_file.
commit 0439361f817c3f610c1f5ec859bd302867472e50
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 11:02:13 2010 +0000
Fix the handling of processes without an owner
* main.c (argp_parser): New option --anonymous-owner.
* main.h: Publish it.
* process.c (process_lookup_pid): Use it to set the file owner
uid of non-owned processes.
commit 4deaca2ce2c4ed2c5ab53f57a7747c71126a8da7
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 09:06:01 2010 +0000
Use a global ps_context
* proclist.c, proclist.h (proclist_create_node): Use a
ps_context passed by the caller; errors are no longer possible, rename
to proclist_make_node and change the signature accordingly.
* rootdir.c, rootdir.h (rootdir_create_node): Likewise.
* main.c (main): Create the ps_context here and pass it to
root_make_node. (root_make_node): Pass it to proclist_make_node and
rootdir_make_node.
commit 4f40fb6fbfa95c51b6abfceffcd0e1ce80824e70
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 09:05:30 2010 +0000
Add a TODO-list
* TODO: New file.
commit d67e76dbb63e277f0d503224e63e85cc5d91ac11
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 08:25:07 2010 +0000
netfs_server_loop never returns
* main.c: Don't call netfs_server_loop repeatedly; it should
never return.
commit 33bfc249fd692910bb1e3f7a5820d31dfda0f284
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 08:24:43 2010 +0000
Handle errors in main
* main.c (main): Handle errors from argp_parse and
root_make_node.
commit 25bad336ed7af83bfb78b2a3534fdf223554bfc0
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 07:35:59 2010 +0000
Add a --compatible option
* main.c (argp_parser): Add --compatible, which sets the options
required for compatibility with the procps tools.
commit abd1ad000a2861b46df445888365678686e31bcb
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 07:14:45 2010 +0000
Add a status file to process directories
* process.c: Add a status file.
commit e873ff83afba08ff61a5e98ab90d5ee05ab5c601
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 05:44:37 2010 +0000
Add statm to process directories
* process.c: Add the statm file.
commit e3707dc9deb28d5144836032a54dbc028247835d
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 05:19:19 2010 +0000
Add a global cmdline file
* main.c (argp_parser, main): Add the --kernel-pid option.
* main.h: Publish it.
* rootdir.c (rootdir_gc_cmdline): New function.
commit 0ef322973a8b9dc9c0f5ba8155ad780016f3654f
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 00:52:24 2010 +0000
Add meminfo and vmstat
* rootdir.c: Add a (non-empty) meminfo and a vmstat file.
commit 4665f087fde174a9de3e1c3f3de090dd4bfa85e0
Author: Jeremie Koenig <address@hidden>
Date: Sun Aug 22 21:23:36 2010 +0000
Add a fake-self option to control the self symlink
* main.c (argp_parse, main): Add the --fake-self option.
* main.h: Publish it.
* rootdir.c (rootdir_gc_fakeself, rootdir_entries,
rootdir_create_node): Use it.
commit 5714e1cef2584410a7823c7ead9d2435141fb0c4
Author: Jeremie Koenig <address@hidden>
Date: Sun Aug 22 20:46:54 2010 +0000
Add --stat-mode to override the perms for [pid]/stat
* main.c (argp_parser, main): Add the --stat-mode option.
* process.c (process_lookup_pid): Use it.
commit b3427143ae8dc628cb3748da7618700c6bd7ac9e
Author: Jeremie Koenig <address@hidden>
Date: Sun Aug 22 20:17:54 2010 +0000
Add --clk-tck to set the clock unit
* main.c (argp_parser, main): Add and parse the --clk-tck option.
* main.h: Publish opt_clk_tck.
* process.c (sc_tc): Use the user-provided clock frequency.
* rootdir.c (rootdir_gc_stat): Likewise.
commit f9ddb679942b6f4309d05b5462fe5cbb3d0a2beb
Author: Jeremie Koenig <address@hidden>
Date: Sun Aug 22 19:33:43 2010 +0000
Play nice with the procps old_Hertz_hack
* rootdir.c (rootdir_gc_uptime, rootdir_gc_stat): assume a
completely idle rather than completely busy system, so that the idle
seconds can be meaningfully divided by the idle jiffies by procps.
commit c68fc8b783804e093551d93cc1b8c10964cdaaeb
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 00:55:29 2010 +0000
Add an empty meminfo root file
* rootdir.c: Add "meminfo", empty for now.
commit aa3bac054364aa2d3614ded28df4980639184319
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 23 00:55:11 2010 +0000
Add a fake "self" symlink
* rootdir.c: Add a fake "self" symlink which always points to
init.
commit efb8515465dcb03526a35bf87b549cac97bbab8c
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 19:18:59 2010 +0000
Add loadavg
* rootdir.c: Add the root file "loadavg".
commit 2717c43bca6f920c4d3b0909c33bf3c1f76a70a9
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 18:08:17 2010 +0000
New root files: version, uptime, stat
* rootdir.c, rootdir.h: New files.
* main.c: Use rootdir_create_node.
* Makefile: Add the rootdir module.
commit 80e439d146f661c416b7f42c4180b16aae7ac2f7
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 18:06:16 2010 +0000
Set a restrictive mode on some sensitive files
* process.c (process_file_make_node, entries): Set the environ
and stat files as readable only by the owner of the process.
commit 75f53efdc66be8c6ffac31bd17a309f9065e273c
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 11:21:59 2010 +0000
Encapsulate access to node->nn_stat
* procfs.c, procfs.h (procfs_node_chown,
procfs_node_chmod, procfs_node_chtype): New functions, encapsulate
access to some nn_stat fields.
* process.c (process_lookup_pid): Use procfs_node_chown instead
of direct access.
commit a45606d0036565c468b462a207575bf2b4077fd8
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 11:09:36 2010 +0000
Implement symlinks
* netfs.c (netfs_validate_stat): For symlinks, fetch the contents
and propagate their length into the nn_stat.st_size field.
(netfs_attempt_readlink): Implement using procfs_get_contents.
commit 1f1661d6a5b6f22acb48460b5304e29af2a0a554
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 09:26:09 2010 +0000
Use libps and enhance [pid]/stat
* Makefile: Add libps to the $(LIBS).
* proclist.c, proclist.h: Embed the proc server port in a
ps_context structure. (proclist_make_node): Change to prototype to
allow for the possibility of error. Rename to proclist_create_node to
reflect the change and non-triviality.
* process.c, process.h: Revamp. Use a full-blown procstat
structure instead of just the procinfo fetched from the process
server. Use the additional data to complement [pid]/stat.
(process_lookup_pid): Get a ps_context structure instead of a port to
the process server.
* main.c (root_make_node): Convert to the new interface for
proclist_create_node.
commit 086569ee636d91a820aa23031dda3cb74bab9505
Author: Jeremie Koenig <address@hidden>
Date: Sat Aug 21 09:25:27 2010 +0000
Handle the ref counter spinlock on cleanup
* netfs.c (netfs_node_norefs): Handle the reference counters
spinlock so as to avoid deadlocking on reentry.
commit 2c7dcef74c3259d2d5db7a11f5c77d18d3a51e85
Author: Jeremie Koenig <address@hidden>
Date: Thu Aug 19 23:10:11 2010 +0000
Invent path-based inode numbers
* procfs.h, procfs.c (procfs_make_ino): New function,
invents an inode number by hashing the parent's and the name of an
entry. (procfs_lookup): Use it to assign an inode number to child
nodes at lookup time.
* main.c (root_make_node): Assign an arbitrary inode number to
the root directory.
commit c6c770c33eb0f23e7e8e04976c711653cdf1a41d
Author: Jeremie Koenig <address@hidden>
Date: Thu Aug 19 07:48:30 2010 +0000
Implement lookup for . and ..
* procfs.c (procfs_lookup): Keep track of the parent directory,
implement the lookup of the dot-directories. (procfs_cleanup):
Release the reference to the parent node, if applicable.
* procfs.h: Add a comment about the parent reference.
* netfs.c (netfs_attempt_lookup): Lock the looked up node after
the directory has been unlocked, in case they are the same.
commit 4ac169deaa1eb4c8df4a49fc940700971fa5863a
Author: Jeremie Koenig <address@hidden>
Date: Thu Aug 19 04:52:17 2010 +0000
Add the dot entries to directories
* procfs_dir.c (procfs_dir_get_contents): Prepend the . and ..
entries to the ones from the given table.
commit 97e598086b37583585b455d2b804b6e49d97ea85
Author: Jeremie Koenig <address@hidden>
Date: Thu Aug 19 03:12:27 2010 +0000
Add a basic [pid]/stat file
* process.c: Add a basic stat file.
commit ef370b0967024ced9296ff2028abc1b154c0a951
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 18 21:06:08 2010 +0000
Set the owner of process directories.
* process.c (process_make_node): Use the owner_uid from the
procinfo structure to set the owner of the created directory.
commit 56d301e212ac1964223cff8ef9c34889cb1a6e75
Author: Jeremie Koenig <address@hidden>
Date: Wed Aug 18 20:44:54 2010 +0000
Fuse the proclist into the root node
* dircat.c, dircat.h: New files, merge directories.
* Makefile: Add the dircat module.
* main.c: Use dircat to merge the proclist into the root
directory, instead of having it as a stand-alone one.
* procfs.h, procfs.c: Add a "refresh hack" to have the
contents of the root directory recreated on each request.
* proclist.c (proclist_make_node): Enable the hack in question.
commit 2fb5b93b4cd56fd68b525371ba63b0933b61d03a
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 22:20:32 2010 +0000
Fetch process information and reject the non-existing ones
* process.c, process.h (process_make_node): Make static,
include a procinfo structure into the node information.
(process_lookup_pid): New function, replaces process_make_node as the
outer interface, returns an error for non-existing processes.
* proclist.c (proclist_lookup): Convert to the new interface.
commit c62d5ff73ceaad21bb0784ed6098d307a625b10d
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 20:34:58 2010 +0000
Add real process nodes
* process.c, process.h: New files, implement a process
directory with cmdline and environ files.
* Makefile: Add the process module.
* proclist.c: Replace stub pid files with the real thing.
commit ba139824fa06a97f2a3b1cc4c6085d10a83ec2b9
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 17:27:54 2010 +0000
More cleanup possibilities
* procfs.c, procfs.h: Extend the signature of the
cleanup_contents callback in the procfs_node_ops structure to include
the hook and contents_len. (cleanup_contents_with_free,
cleanup_contents_with_vm_deallocate): New functions, can be used as
a cleanup_contents callback for simple cases.
* procfs_dir.c, procfs_dir.h (procfs_dir_make_node):
Update, add a cleanup callback, make sure the cleanup callback is
invoked if there is an error.
* proclist.c (proclist_make_node), main.c (main): Update to match
the new interfaces.
commit ac75e3648e6a9c3a8cf45d5fa491abd3a3ab3613
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 16:48:55 2010 +0000
Fix the failure semantics of procfs_make_node
* procfs.c (procfs_make_node): Invoke the cleanup callback on
failure, so that callers don't have to.
* procfs.h: Document the change.
* procfs_dir.c (procfs_dir_make_node), procfs_file.c
(procfs_file_make_node), proclist.c (proclist_make_node):
Update to reflect the change.
commit 3907bbbcfb806799a5349e46a2b804307a0e9836
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 12:49:33 2010 +0000
Add the list of processes as a directory
* proclist.h, proclist.c: New files.
* main.c: Add a proclist directory based on them.
* Makefile: Include the proclist module.
commit 56ba0ac1e3a3f32763060ab862a6f0054c8a50bf
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 10:26:12 2010 +0000
Implement simple directories
* procfs_dir.h: New file; declare the procfs_dir_make_node
function, based on the procfs_dir_entry structure.
* procfs_dir.c: New file; implement simple directories.
* Makefile: Add the procfs_dir module.
* main.c: Use it.
commit 0a4c7a1ca8bff458eb11322d2c94ec9ffd832524
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 10:10:22 2010 +0000
Add a helper module for simple regular files
* procfs_file.h: New file, declares procfs_file_make_node.
* procfs_file.c: New file, implements procfs_file_make_node.
* main.c: Use them.
* Makefile: Add the procfs_file module.
commit d938e96e59a41d5eaa11040513815b757e58eb0c
Author: Jeremie Koenig <address@hidden>
Date: Tue Aug 17 09:43:29 2010 +0000
Basic infrastructure
* procfs.h: New file; basic interfaces for procfs nodes.
* procfs.c: New file; implement the basic infrastructure.
* netfs.c: New file; bridge libnetfs and the procfs interfaces.
* main.c: New file; mostly a "Hello, World!" for now.
* Makefile: New file; standalone for now.
commit 1b55547480eff13851f2d53ff96afbace11c6004
Author: Jeremie Koenig <address@hidden>
Date: Mon Aug 16 13:36:52 2010 +0200
Implement /proc/mounts as a symlink to /etc/mtab
* procfs_nonpid_files.c (procfs_create_mounts): New function.
* procfs_dir.c (procfs_fill_root_dir): Call procfs_create_mounts.
Signed-off-by: Jeremie Koenig <address@hidden>
commit 5af547e7fc9ddc0b472b99c6bdb7341f6204e43f
Author: Jeremie Koenig <address@hidden>
Date: Fri Aug 13 19:05:14 2010 +0200
Set an appropriate st_mode on symlinks.
* procfs_pid_files.c (update_pid_entries): When symlink_target is not NULL,
set
st_size to the symlink length and st_mode to S_IFLNK | 0777.
commit 5d011324a721d7cf3babfe6aa068e247c7f27f42
Author: Jeremie Koenig <address@hidden>
Date: Fri Aug 13 19:05:13 2010 +0200
update_pid_entries(): fix awkwardly indented uninitialized memory leak
* procfs_pid_files.c (update_pid_entries): Replace dynamic allocation of
`stat' with automatic allocation. Memset `stat' to 0.
commit d76613f23eec2a66f4727c69fcec3b5e3be3da22
Author: Thomas Schwinge <address@hidden>
Date: Sun Aug 1 13:28:31 2010 +0200
Switch to the new ChangeLog style.
* ChangeLog: Wipe out content, and add instructions about how to get it
back.
commit edb4593c38d421b5d538b221a991b50c36fdba15
Author: Samuel Thibault <address@hidden>
Date: Mon May 31 02:23:00 2010 +0200
2010-05-31 Samuel Thibault <address@hidden>
* procfs_nonpid_files.c (procfs_read_nonpid_meminfo): Print swap
sizes
using %llu.
commit e58f247f9c3a95ea2805fe132777d192ef51f6d1
Author: Samuel Thibault <address@hidden>
Date: Fri Dec 12 01:48:00 2008 +0100
2008-12-12 Samuel Thibault <address@hidden>
* procfs_nonpid_files.c (procfs_read_nonpid_meminfo): Divide by
1024 value returned by get_swap_size and get_swap_free to get
kilobytes.
commit 7e7201c453ad7faa5d26625ca9d263ee625ef5ed
Author: Madhusudan.C.S <address@hidden>
Date: Tue Sep 2 00:33:00 2008 +0200
2008-09-02 Madhusudan.C.S <address@hidden>
* netfs.c: (netfs_get_dirents): Add call to
procfs_dir_entries_remove().
commit 7a8b315855fc8edba2003fa69cb86cf664f4c2ec
Author: Madhusudan.C.S <address@hidden>
Date: Sat Aug 30 22:48:00 2008 +0200
2008-08-30 Madhusudan.C.S <address@hidden>
* procfs_dir.c: (procfs_dir_create): Assign newly created directory to
its pointer in netnode.
(procfs_dir_remove): Removed function.
(free_entry): New function.
(ordered_unlink): Likewise.
(delete): Likewise.
(sweep): Likewise.
(procfs_dir_entries_remove): Likewise.
(is_in_pid_list): Removed call to make_dir_invalid ().
(procfs_fill_root_dir): struct stat *stat -> struct stat stat.
Add Read and Execute permissions to all in stat.st_mode.
Set stat.st_nlink to 1.
Set stat.st_size to 0.
Add struct proc_stat *ps definition.
Set struct proc_stat data from _proc_stat_create () function and
set stat.st_uid and stat.st_gid from the data in that structure.
* procfs_pid_files.c: (update_pid_entries): Add Read permissions
to all in stat->st_mode.
commit fdd74966f222b67aa3161e809c6e9d8aacb16b12
Author: Madhusudan.C.S <address@hidden>
Date: Sat Aug 30 22:20:00 2008 +0200
2008-08-29 Madhusudan.C.S <address@hidden>
* AUTHORS: File removed.
* COPYING: Likewise.
* README: Likewise.
commit b33bac72fa26be8676a6da73e0b13f51bcd40034
Author: Madhusudan.C.S <address@hidden>
Date: Fri Aug 29 21:34:00 2008 +0200
2008-08-29 Madhusudan.C.S <address@hidden>
* ChangeLog: Revised.
commit 80e2bfc9ee29a5ecac3a9b8eaa2d470ae30222c9
Author: Madhusudan.C.S <address@hidden>
Date: Fri Aug 29 18:42:00 2008 +0200
2008-08-29 Madhusudan.C.S <address@hidden>
* Makefile: (Copyright): 1997, 2000 -> 2008
(CC): Removed.
(CFLAGS): Removed.
(INCLUDES): Removed.
(all): Removed.
($(target)): Removed.
(%.o): Removed.
(HURDLIBS): -lnetfs -> netfs,
-lfshelp -> fshelp,
-liohelp -> iohelp, -lthreads -> threads,
-lports -> ports, -lihash -> ihash,
-lps -> ps,
-lshouldbeinlibc -> shouldbeinlibc.
(include): Add include ../Makeconf
commit 4cce52a1ec161008243f5bee63df7f6230c0f7e6
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 20:26:00 2008 +0200
2008-08-18 Madhusudan.C.S <address@hidden>
* procfs_nonpid_files.c:
(procfs_write_nonpid_stat): Changed to
procfs_read_nonpid_stat.
(procfs_write_nonpid_meminfo): Changed to
procfs_read_nonpid_meminfo.
(procfs_write_nonpid_loadavg): Changed to
procfs_read_nonpid_loadavg.
(procfs_write_nonpid_uptime): Changed to
procfs_read_nonpid_uptime.
(procfs_write_nonpid_version):Changed to
procfs_read_nonpid_version.
* procfs_pid_files.c:
(procfs_write_stat_file): Changed to
procfs_read_stat_file.
Changed the comment correspondingly from
Write to Read.
(procfs_write_cmdline_file ): Changed to
procfs_read_cmdline_file.
Changed the comment correspondingly from
Write to Read.
(procfs_write_status_file): Changed to
procfs_read_status_file.
Changed the comment correspondingly from
Write to Read.
(procfs_write_statm_file): Changed to
procfs_read_statm_file.
Changed the comment correspondingly from
Write to Read.
(procfs_write_files_contents): Changed to
procfs_read_files_contents.
Changed the comment correspondingly from
Write to Read.
Changed the call to procfs_write_nonpid_stat
to procfs_read_nonpid_stat.
Changed the call to procfs_write_stat_file
to procfs_read_stat_file.
Changed the call to procfs_write_cmdline_file
to procfs_read_cmdline_file.
Changed the call to procfs_write_status_file
to procfs_read_status_file.
Changed the call to procfs_write_statm_file
to procfs_read_statm_file.
Changed the call to procfs_write_nonpid_meminfo
to procfs_read_nonpid_meminfo.
Changed the call to procfs_write_nonpid_loadavg
to procfs_read_nonpid_loadavg.
Changed the call to procfs_write_nonpid_uptime
to procfs_read_nonpid_uptime.
Changed the call to procfs_write_nonpid_version
to procfs_read_nonpid_version.
netfs.c: (netfs_attempt_read): Changed
the call from procfs_write_files_contents
to procfs_read_files_contents.
commit 151d56afe0d7d9eb527fb0a194f383435b2c0f65
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 19:45:00 2008 +0200
2008-08-18 Madhusudan.C.S <address@hidden>
* README: Initial Documentation.
commit 5bb07a3cb626b18aedfa463b6b344bf0fd963e71
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 19:34:00 2008 +0200
2008-08-18 Madhusudan.C.S <address@hidden>
* procfs_nonpid_files.c: (get_uptime):
Changed the parameter type from double to
struct timeval.
Changed the parameter name from uptime_secs
to uptime.
Removed uptime variable.
Changed timersub to use the passed pointer
instead of the local variable.
Removed the calculation of uptime_secs.
(get_total_times): Changed the parameters
type from double to struct timeval.
Changed the parameters name from
total_user_time_secs to total_user_time
and total_system_time_secs to
total_system_time.
New variables total_user_time_tmp,
total_system_time_tmp and tmpval of type
struct timeval.
Call timerclear to clear the tmp variables.
Remove calculation of times in seconds and
do the same on struct timeval variables
throughout using the timeradd macro.
Assign values of temporary local variables
to the pointers passed as parameters.
(procfs_write_nonpid_stat): Replaced
variables that hold time in seconds with
struct timeval type variables and jiffy_t
type variables.
Argument to get_uptime changed from
uptime_secs to uptime.
Arguments to get_total_times changed from
total_user_time_secs to total_user_time and
total_system_time_secs to total_system_time.
Replace arithematic time subtraction with
timersub macro.
Convert all the times in struct timeval type
variables to jiffy_t type.
Changed the type casting for the asprintf
arguments to be compatible with jiffy_t type.
(procfs_write_nonpid_uptime): Replaced
variables that hold time in seconds with
struct timeval type variables.
Argument to get_uptime changed from
uptime_secs to uptime.
Arguments to get_total_times changed from
total_user_time_secs to total_user_time and
total_system_time_secs to total_system_time.
Replace arithematic time subtraction with
timersub macro.
Convert all the times in struct timeval type
variables to seconds.
commit a027dcc41d381a3c76a5b20d4d55ad9821af2308
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 17:27:00 2008 +0200
2008-08-18 Madhusudan.C.S <address@hidden>
* procfs_nonpid_files.c:
(procfs_write_nonpid_version): New function.
* procfs_pid_files.c:
(procfs_write_files_contents): Add a check
to find if the read is requested for the
version file and corresponding a call to it.
commit 0419c2813a91d0746cc70f4ecab33efca4b9440c
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 17:15:00 2008 +0200
2008-08-14 Madhusudan.C.S <address@hidden>
* procfs.h: (jiffy_t): New typedef.
* procfs_pid.h: "procfs.h" is included.
(struct procfs_pid_files): Changed all the
occurrences of time_t to jiffy_t.
* procfs_pid_files.c: Removed "procfs.h".
(adjust_jiffy_time): Changed return type
from time_t to jiffy_t.
Changed the type of jiffy_time variable
from time_t to jiffy_t.
(get_live_threads_time): Changed the type
of utime and stime from time_t to jiffy_t.
(get_stat_data): Changed the type of utime
and stime from time_t to jiffy_t.
commit 802ea16ef91b30bc4fa9a61779b5c3602219bb1d
Author: Madhusudan.C.S <address@hidden>
Date: Mon Aug 18 16:53:00 2008 +0200
2008-08-18 Madhusudan.C.S <address@hidden>
* procfs/ChangeLog: ChangeLog: Revised.
commit c15f3bee8d46f05afe1d3f582778d74c7e706485
Author: Madhusudan.C.S <address@hidden>
Date: Thu Aug 14 15:24:00 2008 +0200
2008-08-14 Madhusudan.C.S <address@hidden>
* ChangeLog: New file added to procfs
* AUTHORS: New file added to procfs
* COPYING: New file added to procfs
* README: New file added to procfs
* Makefile: New file added to procfs
* bootstrap.c: New file added to procfs
* netfs.c: New file added to procfs
* node.c: New file added to procfs
* procfs.c: New file added to procfs
* procfs.h: New file added to procfs
* procfs_dir.c: New file added to procfs
* procfs_nonpid_files.c: New file added to procfs
* procfs_pid.h: New file added to procfs
* procfs_pid_files.c: New file added to procfs
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 12 +
ChangeLog | 5 -
INSTALL | 6 +-
INSTALL-cross | 2 +-
Makeconf | 16 +-
Makefile | 96 ++-
NEWS | 106 ++-
README | 37 +-
README.CVS | 29 -
TODO | 4 -
aclocal.m4 | 2 +-
auth/Makefile | 2 +-
auth/auth.c | 49 +-
auth/auth.h | 28 +
auth/auth_mig.h | 5 -
auth/authmutations.h | 6 -
auth/mig-decls.h | 48 +
auth/mig-mutate.h | 25 +
benchmarks/Makefile | 1 -
boot/Makefile | 8 +-
boot/boot.c | 339 ++---
boot/boot_script.h | 4 -
config.make.in | 15 +-
configure.ac | 64 +-
console-client/Makefile | 12 +-
console-client/bdf.c | 2 +-
console-client/bdf.h | 2 +-
console-client/console.c | 26 +-
console-client/current-vcs.c | 9 +-
console-client/input.h | 2 +-
console-client/timer.c | 1 -
console-client/timer.h | 2 +-
console-client/trans.c | 45 +-
console-client/unicode.h | 1 -
console-client/vga-dynafont.c | 17 +-
console-client/vga-dynafont.h | 2 +-
console-client/vga-hw.h | 5 +
console-client/vga-support.c | 56 +-
console-client/vga.c | 12 +-
console-client/xkb/README | 2 +-
console-client/xkb/TODO | 4 +-
console-client/xkb/kstoucs.c | 41 +-
console-client/xkb/parser.y | 6 +-
console-client/xkb/xkb-data/keymap/hurd | 182 ++--
console-client/xkb/xkb-data/types/hurd | 1 -
console-client/xkb/xkb.c | 9 +-
console-client/xkb/xkb.h | 2 +-
console-client/xkb/xkbdata.c | 6 +-
console-client/xkb/xkbtimer.c | 2 +-
console/console.c | 40 +-
console/display.c | 93 +-
console/hurd.ti | 6 +-
console/input.c | 2 +-
console/input.h | 2 +-
console/mutations.h | 11 +-
console/pager.c | 33 +-
console/priv.h | 41 -
daemons/Makefile | 4 +-
daemons/getty.c | 87 ++-
daemons/lmail.c | 2 +-
daemons/rc.sh | 12 +-
daemons/{runsystem.sh => runsystem.hurd} | 0
daemons/runsystem.sh | 79 +-
defpager/Makefile | 1 -
defpager/backing.c | 1 -
defpager/defpager.c | 3 +-
doc/Makefile | 4 +-
doc/hurd.texi | 68 +-
doc/navigating | 3 +-
exec/Makefile | 4 +-
exec/elfcore.c | 30 +-
exec/exec.c | 112 ++-
exec/execmutations.h | 15 +-
exec/hashexec.c | 25 +-
exec/hostarch.c | 123 +--
exec/main.c | 203 +++-
exec/mig-decls.h | 46 +
exec/priv.h | 2 +-
ext2fs/Makefile | 2 +-
ext2fs/dir.c | 113 +-
ext2fs/ext2fs.c | 16 +-
ext2fs/ext2fs.h | 34 +-
ext2fs/getblk.c | 65 +-
ext2fs/hyper.c | 19 +-
ext2fs/ialloc.c | 16 +-
ext2fs/inode.c | 232 +---
ext2fs/pager.c | 159 ++-
ext2fs/storeinfo.c | 1 +
ext2fs/truncate.c | 16 +-
fatfs/Makefile | 2 +-
fatfs/dir.c | 15 +-
fatfs/fat.h | 2 +-
fatfs/fatfs.h | 20 +-
fatfs/inode.c | 252 +---
fatfs/main.c | 9 +-
fatfs/pager.c | 99 +-
fatfs/virt-inode.c | 6 -
fstests/Makefile | 1 -
fstests/fdtests.c | 24 +-
fstests/fstests.c | 24 +-
fstests/opendisk.c | 2 -
ftpfs/dir.c | 24 +-
ftpfs/netfs.c | 2 +-
gitlog-to-changelog | 432 ++++++
hurd/console.h | 2 +-
hurd/default_pager.defs | 9 +-
hurd/exec_startup.defs | 6 +-
hurd/fs.defs | 19 +
hurd/fsys.defs | 21 +-
hurd/gensym.awk | 1 -
hurd/hurd_types.defs | 146 ++-
hurd/hurd_types.h | 3 +
hurd/ifsock.defs | 1 -
hurd/iioctl.defs | 4 +
hurd/interrupt.defs | 7 +-
hurd/io.defs | 2 +-
hurd/paths.h | 5 +-
hurd/process.defs | 17 +-
hurd/process_reply.defs | 2 +-
hurd/process_request.defs | 7 +-
hurd/shared.h | 3 +-
hurd/startup.defs | 1 -
hurd/startup_notify.defs | 2 -
hurd/term.defs | 18 +-
include/pids.h | 7 +-
init/Makefile | 15 +-
init/init.c | 1617 ++---------------------
init/stubs.c | 139 --
isofs/EXTENSIONS | 1 -
isofs/Makefile | 2 +-
isofs/ext.c | 2 -
isofs/inode.c | 272 +----
isofs/isofs.h | 13 +-
isofs/lookup.c | 22 +-
isofs/main.c | 17 +-
isofs/pager.c | 2 +-
isofs/rr.c | 6 +-
libcons/demuxer.c | 1 -
libcons/extra-version.c | 2 +-
libcons/init-loop.c | 1 -
libcons/mutations.h | 2 +-
libcons/priv.h | 6 +
libcons/vcons-add.c | 2 +-
libcons/vcons-remove.c | 2 +-
libcons/vcons-scrollback.c | 1 -
libdirmgt/dirmgt.h | 2 -
libdiskfs/Makefile | 5 +-
libdiskfs/boot-start.c | 83 +-
libdiskfs/conch-fetch.c | 1 -
libdiskfs/demuxer.c | 45 +-
libdiskfs/dir-init.c | 3 +-
libdiskfs/dir-link.c | 26 +-
libdiskfs/dir-lookup.c | 164 ++-
libdiskfs/dir-mkfile.c | 24 +-
libdiskfs/dir-readdir.c | 24 +-
libdiskfs/dir-rename.c | 1 -
libdiskfs/dir-renamed.c | 11 +-
libdiskfs/dir-unlink.c | 20 +-
libdiskfs/disk-pager.c | 36 +-
libdiskfs/diskfs-pager.h | 1 +
libdiskfs/diskfs.h | 213 +++-
libdiskfs/extra-version.c | 2 +-
libdiskfs/file-chflags.c | 8 +
libdiskfs/file-chg.c | 2 +-
libdiskfs/file-chmod.c | 1 +
libdiskfs/file-exec.c | 24 +-
libdiskfs/file-get-children.c | 96 ++
libdiskfs/file-get-fs-opts.c | 1 +
libdiskfs/file-get-source.c | 37 +
libdiskfs/file-get-trans.c | 36 +-
libdiskfs/file-get-transcntl.c | 16 +-
libdiskfs/file-getcontrol.c | 14 +-
libdiskfs/file-getfh.c | 2 +-
libdiskfs/file-lock-stat.c | 24 +-
libdiskfs/file-lock.c | 26 +-
libdiskfs/file-set-size.c | 2 +-
libdiskfs/file-set-trans.c | 74 +-
libdiskfs/file-statfs.c | 4 +-
libdiskfs/file-syncfs.c | 6 +-
libdiskfs/fsmutations.h | 23 +-
libdiskfs/fsys-get-children.c | 99 --
libdiskfs/fsys-get-source.c | 34 -
libdiskfs/fsys-getfile.c | 12 +-
libdiskfs/fsys-getroot.c | 95 +-
libdiskfs/fsys-goaway.c | 33 +-
libdiskfs/fsys-options.c | 16 +-
libdiskfs/fsys-startup.c | 25 +-
libdiskfs/fsys-syncfs.c | 11 +-
libdiskfs/get-source.c | 11 +-
libdiskfs/ifsock.c | 3 +-
libdiskfs/init-first.c | 24 +-
libdiskfs/init-init.c | 30 +-
libdiskfs/init-main.c | 24 +-
libdiskfs/init-startup.c | 39 +-
libdiskfs/io-async.c | 1 -
libdiskfs/io-duplicate.c | 3 +
libdiskfs/io-map.c | 1 -
libdiskfs/io-modes-get.c | 1 -
libdiskfs/io-reauthenticate.c | 5 +
libdiskfs/io-restrict-auth.c | 3 +
libdiskfs/io-stubs.c | 1 -
libdiskfs/io-version.c | 24 +-
libdiskfs/io-write.c | 1 -
libdiskfs/lookup.c | 31 -
libdiskfs/name-cache.c | 409 ++++--
libdiskfs/node-cache.c | 259 ++++
libdiskfs/node-drop.c | 13 +-
libdiskfs/node-make.c | 43 +-
libdiskfs/node-nput.c | 50 +-
libdiskfs/node-nputl.c | 12 +-
libdiskfs/node-nref.c | 9 +-
libdiskfs/node-nrefl.c | 4 +-
libdiskfs/node-nrele.c | 48 +-
libdiskfs/node-nrelel.c | 9 +-
libdiskfs/node-times.c | 24 +-
libdiskfs/node-update.c | 24 +-
libdiskfs/opts-std-startup.c | 2 +-
libdiskfs/peropen-make.c | 2 +-
libdiskfs/peropen-rele.c | 21 +-
libdiskfs/priv.h | 4 +-
libdiskfs/protid-make.c | 10 +-
libdiskfs/protid-rele.c | 2 -
libdiskfs/readonly-changed.c | 2 +-
libdiskfs/shutdown.c | 24 +-
libdiskfs/sync-default.c | 2 +-
libdiskfs/validate-author.c | 2 +-
libdiskfs/validate-flags.c | 2 +-
libdiskfs/validate-group.c | 2 +-
libdiskfs/validate-mode.c | 2 +-
libdiskfs/validate-owner.c | 2 +-
libdiskfs/validate-rdev.c | 2 +-
libfshelp/fetch-root.c | 6 +-
libfshelp/fshelp.h | 27 +-
libfshelp/get-identity.c | 66 +-
libfshelp/lock-acquire.c | 122 ++-
libfshelp/lock-init.c | 24 +-
libfshelp/set-active.c | 1 -
libfshelp/start-translator-long.c | 17 +-
libfshelp/start-translator.c | 2 +-
libfshelp/transbox-init.c | 1 -
libfshelp/translator-list.c | 74 +-
libftpconn/create.c | 2 +-
libftpconn/names.c | 1 -
libftpconn/open.c | 2 +-
libftpconn/unix.c | 4 +-
libihash/ihash.c | 247 ++--
libihash/ihash.h | 116 ++-
libiohelp/handle_io_release_conch.c | 1 -
libiohelp/initialize_conch.c | 1 -
libiohelp/iouser-free.c | 2 -
libiohelp/return-buffer.c | 2 +-
libnetfs/Makefile | 2 +-
libnetfs/demuxer.c | 34 +-
libnetfs/dir-link.c | 2 -
libnetfs/dir-lookup.c | 58 +-
libnetfs/dir-mkfile.c | 1 -
libnetfs/dir-rename.c | 1 -
libnetfs/drop-node.c | 2 -
libnetfs/file-chauthor.c | 1 -
libnetfs/file-get-children.c | 110 ++
libnetfs/file-get-source.c | 37 +
libnetfs/file-get-storage-info-default.c | 2 +-
libnetfs/file-getcontrol.c | 2 +-
libnetfs/file-getlinknode.c | 2 -
libnetfs/file-set-size.c | 3 +-
libnetfs/file-set-translator.c | 20 +-
libnetfs/fsstubs.c | 1 +
libnetfs/fsys-get-children.c | 112 --
libnetfs/fsys-get-options.c | 6 +-
libnetfs/fsys-get-source.c | 34 -
libnetfs/fsys-getroot.c | 5 +-
libnetfs/fsys-goaway.c | 10 +-
libnetfs/fsys-set-options.c | 11 +-
libnetfs/fsys-syncfs.c | 2 +-
libnetfs/fsysstubs.c | 8 +-
libnetfs/get-source.c | 4 +-
libnetfs/init-init.c | 3 +
libnetfs/init-loop.c | 1 -
libnetfs/io-get-icky-async-id.c | 1 -
libnetfs/io-reauthenticate.c | 18 +-
libnetfs/io-seek.c | 1 -
libnetfs/io-stat.c | 1 -
libnetfs/io-version.c | 24 +-
libnetfs/io-write.c | 2 -
libnetfs/make-node.c | 29 +-
libnetfs/make-peropen.c | 1 -
libnetfs/modes.h | 1 -
libnetfs/mutations.h | 13 +-
libnetfs/netfs.h | 42 +-
libnetfs/nput.c | 1 -
libnetfs/priv.h | 26 +
libnetfs/release-peropen.c | 5 +
libnetfs/set-get-trans.c | 4 +-
libnetfs/shutdown.c | 24 +-
libnetfs/trans-callback.c | 5 +-
libpager/Makefile | 11 +-
libpager/chg-compl.c | 17 +-
libpager/data-request.c | 14 +-
libpager/data-return.c | 26 +-
libpager/data-unlock.c | 14 +-
libpager/demuxer.c | 416 ++++++-
libpager/lock-completed.c | 11 +-
libpager/mig-decls.h | 48 +
libpager/mig-mutate.h | 23 +
libpager/no-senders.c | 43 -
libpager/notify-stubs.c | 76 --
libpager/object-init.c | 12 +-
libpager/object-terminate.c | 18 +-
libpager/offer-page.c | 1 -
libpager/pagemap.c | 2 +-
libpager/pager-attr.c | 13 +-
libpager/pager-create.c | 4 -
libpager/pager-flush.c | 1 -
libpager/pager-memcpy.c | 2 +
libpager/pager-return.c | 1 -
libpager/pager-shutdown.c | 1 -
libpager/pager-sync.c | 1 -
libpager/pager.h | 37 +-
libpager/priv.h | 8 -
libpager/queue.h | 69 +
libpager/seqnos.c | 69 -
libpager/stubs.c | 18 +-
libpipe/Makefile | 1 -
libpipe/pipe.c | 33 +-
libpipe/pq.c | 12 +-
libpipe/pq.h | 2 +-
libports/Makefile | 5 +-
libports/begin-rpc.c | 2 -
libports/bucket-iterate.c | 61 +-
libports/claim-right.c | 6 +-
libports/class-iterate.c | 10 +-
libports/complete-deallocate.c | 24 +-
libports/count-class.c | 3 -
libports/create-bucket.c | 7 +-
libports/create-class.c | 1 -
libports/create-internal.c | 47 +-
libports/create-port-noinstall.c | 3 -
libports/create-port.c | 3 -
libports/dead-name.c | 2 +-
libports/destroy-right.c | 61 +-
libports/extern-inline.c | 22 +
libports/get-right.c | 2 +-
libports/import-port.c | 28 +-
libports/inhibit-all-rpcs.c | 28 +-
libports/inhibit-bucket-rpcs.c | 3 +-
libports/inhibit-class-rpcs.c | 29 +-
libports/init.c | 7 +-
libports/interrupt-notified-rpcs.c | 1 -
libports/interrupt-operation.c | 18 +-
libports/lookup-port.c | 31 +-
libports/manage-multithread.c | 167 ++-
libports/manage-one-thread.c | 34 +-
libports/mig-decls.h | 46 +
libports/mig-mutate.h | 36 +
libports/notify-dead-name.c | 5 +-
libports/notify-msg-accepted.c | 3 +-
libports/notify-no-senders.c | 5 +-
libports/notify-port-deleted.c | 3 +-
libports/notify-port-destroyed.c | 3 +-
libports/notify-send-once.c | 2 +-
libports/port-deref-deferred.c | 161 +++
libports/port-deref-deferred.h | 89 ++
libports/port-deref-weak.c | 11 +-
libports/port-deref.c | 36 +-
libports/port-ref-weak.c | 6 +-
libports/port-ref.c | 8 +-
libports/ports.h | 112 ++-
libports/reallocate-from-external.c | 22 +-
libports/reallocate-port.c | 19 +-
libports/resume-all-rpcs.c | 2 -
libports/resume-class-rpcs.c | 1 -
libports/resume-port-rpcs.c | 3 -
libports/transfer-right.c | 29 +-
libps/fmt.c | 15 +
libps/procstat.c | 23 +-
libps/ps.h | 3 +-
libps/spec.c | 10 +-
libshouldbeinlibc/Makefile | 8 +-
libshouldbeinlibc/cacheq.c | 4 +-
libshouldbeinlibc/canon-host.c | 1 -
libshouldbeinlibc/fsysops.c | 1 +
libshouldbeinlibc/idvec-auth.c | 1 +
libshouldbeinlibc/idvec-impgids.c | 14 +-
libshouldbeinlibc/idvec-rep.c | 4 +-
libshouldbeinlibc/idvec-verify.c | 7 +-
libshouldbeinlibc/idvec.c | 5 +-
libshouldbeinlibc/idvec.h | 1 -
libshouldbeinlibc/localhost.c | 2 +-
libshouldbeinlibc/maptime.c | 17 +-
libshouldbeinlibc/maptime.h | 2 +
libshouldbeinlibc/nullauth.c | 2 -
libshouldbeinlibc/portxlate.c | 14 +-
libshouldbeinlibc/refcount.c | 23 +
libshouldbeinlibc/refcount.h | 326 +++++
libshouldbeinlibc/shared-dom.c | 3 -
libshouldbeinlibc/timefmt.c | 6 +-
libshouldbeinlibc/ugids-argp.c | 3 +-
libshouldbeinlibc/ugids-auth.c | 2 +-
libshouldbeinlibc/ugids-imply.c | 3 +-
libshouldbeinlibc/ugids-merge.c | 3 +-
libshouldbeinlibc/ugids-subtract.c | 4 +-
libshouldbeinlibc/ugids-verify-auth.c | 7 +-
libshouldbeinlibc/ugids-verify.c | 7 +-
libshouldbeinlibc/ugids.c | 5 +-
libshouldbeinlibc/ugids.h | 2 +
libshouldbeinlibc/wire.c | 14 +-
libshouldbeinlibc/wire.h | 1 -
libstore/Makefile | 22 +-
libstore/argp.c | 2 +-
libstore/do-bunzip2.c | 1778 +------------------------
libstore/do-gunzip.c | 80 ++
libstore/enc.c | 4 +-
libstore/gunzip.c | 27 +-
libstore/gzip.h | 315 -----
libstore/inflate.c | 954 -------------
libstore/kids.c | 2 +-
libstore/memobj.c | 1 +
libstore/part.c | 11 +
libstore/remap.c | 2 +-
libstore/tailor.h | 14 -
libstore/unzip.c | 199 ---
libstore/unzipstore.c | 6 +-
libstore/util.c | 257 +----
libthreads/Makefile.GNU | 1 -
libthreads/Makefile.GNU2 | 1 -
libthreads/alpha/lock.S | 1 -
libthreads/alpha/thread.c | 2 +-
libthreads/cancel-cond.c | 28 +-
libthreads/cthreads.c | 12 +-
libthreads/lockfile.c | 3 +
libtreefs/Makefile | 1 -
libtreefs/fsys.c | 4 +-
libtreefs/s-file.c | 2 +
libtreefs/s-fsys.c | 1 -
libtreefs/treefs-hooks.h | 4 +-
libtrivfs/Makefile | 12 +-
libtrivfs/cntl-classes.c | 22 -
libtrivfs/cntl-create.c | 1 -
libtrivfs/demuxer.c | 55 +-
libtrivfs/file-access.c | 1 +
libtrivfs/file-chauthor.c | 1 +
libtrivfs/file-chflags.c | 1 +
libtrivfs/file-chg.c | 1 +
libtrivfs/file-chmod.c | 1 +
libtrivfs/file-chown.c | 1 +
libtrivfs/file-exec.c | 1 +
libtrivfs/file-get-children.c | 36 +
libtrivfs/file-get-fs-options.c | 1 +
libtrivfs/file-get-source.c | 34 +
libtrivfs/file-get-storage-info.c | 1 +
libtrivfs/file-get-trans.c | 1 +
libtrivfs/file-get-transcntl.c | 1 +
libtrivfs/file-getcontrol.c | 1 +
libtrivfs/file-getfh.c | 1 +
libtrivfs/file-getlinknode.c | 1 +
libtrivfs/file-lock.c | 1 +
libtrivfs/file-reparent.c | 2 +
libtrivfs/file-set-size.c | 1 +
libtrivfs/file-set-trans.c | 1 +
libtrivfs/file-statfs.c | 3 +-
libtrivfs/file-sync.c | 1 +
libtrivfs/file-syncfs.c | 1 +
libtrivfs/file-utimes.c | 1 +
libtrivfs/fsmutations.h | 33 -
libtrivfs/fsys-forward.c | 1 +
libtrivfs/fsys-get-children.c | 35 -
libtrivfs/fsys-get-options.c | 1 +
libtrivfs/fsys-get-source.c | 33 -
libtrivfs/fsys-getroot.c | 25 +-
libtrivfs/fsys-goaway.c | 25 +-
libtrivfs/fsys-set-options.c | 1 +
libtrivfs/fsys-stubs.c | 25 +-
libtrivfs/fsys-syncfs.c | 1 +
libtrivfs/get-source.c | 4 +-
libtrivfs/io-async-icky.c | 25 +-
libtrivfs/io-async.c | 25 +-
libtrivfs/io-duplicate.c | 25 +-
libtrivfs/io-identity.c | 1 +
libtrivfs/io-map.c | 25 +-
libtrivfs/io-modes-get.c | 25 +-
libtrivfs/io-modes-off.c | 25 +-
libtrivfs/io-modes-on.c | 25 +-
libtrivfs/io-modes-set.c | 25 +-
libtrivfs/io-owner-get.c | 25 +-
libtrivfs/io-owner-mod.c | 25 +-
libtrivfs/io-pathconf.c | 1 +
libtrivfs/io-read.c | 1 +
libtrivfs/io-readable.c | 1 +
libtrivfs/io-reauthenticate.c | 33 +-
libtrivfs/io-restrict-auth.c | 29 +-
libtrivfs/io-revoke.c | 1 +
libtrivfs/io-seek.c | 1 +
libtrivfs/io-select.c | 25 +-
libtrivfs/io-stat.c | 25 +-
libtrivfs/io-stubs.c | 25 +-
libtrivfs/io-version.c | 1 +
libtrivfs/io-write.c | 1 +
libtrivfs/mig-decls.h | 119 ++
libtrivfs/mig-mutate.h | 35 +
libtrivfs/migsupport.c | 86 --
libtrivfs/open.c | 2 +-
libtrivfs/protid-classes.c | 22 -
libtrivfs/protid-clean.c | 35 +-
libtrivfs/protid-dup.c | 5 +-
libtrivfs/times.c | 4 -
libtrivfs/trivfs.h | 67 +-
mach-defpager/Makefile | 6 +-
mach-defpager/default_pager.c | 710 ++++------
mach-defpager/file_io.h | 6 +-
mach-defpager/kalloc.c | 26 +-
mach-defpager/main.c | 2 +-
mach-defpager/mig-decls.h | 40 +
mach-defpager/mig-mutate.h | 25 +
mach-defpager/priv.h | 200 +++
mach-defpager/queue.h | 10 +-
mach-defpager/setup.c | 10 +-
mach-defpager/wiring.c | 4 +-
nfs/cache.c | 1 -
nfs/main.c | 15 +-
nfsd/Makefile | 1 -
nfsd/ops.c | 2 +-
nfsd/xdr.c | 2 +-
pfinet/Makefile | 7 +-
pfinet/dummy.c | 4 -
pfinet/ethernet.c | 70 +-
pfinet/glue-include/asm/uaccess.h | 2 +-
pfinet/glue-include/linux/interrupt.h | 2 +
pfinet/iioctl-ops.c | 42 +-
pfinet/io-ops.c | 5 +-
pfinet/linux-src/arch/i386/lib/checksum.S | 2 +-
pfinet/linux-src/arch/i386/lib/old-checksum.c | 2 -
pfinet/linux-src/arch/s390/lib/checksum.c | 1 -
pfinet/linux-src/arch/sparc64/lib/checksum.S | 1 -
pfinet/linux-src/include/asm-s390/checksum.h | 2 -
pfinet/linux-src/include/linux/busmouse.h | 1 -
pfinet/linux-src/include/linux/coda.h | 3 +-
pfinet/linux-src/include/linux/digiPCI.h | 5 -
pfinet/linux-src/include/linux/dmascc.h | 1 -
pfinet/linux-src/include/linux/efs_dir.h | 1 -
pfinet/linux-src/include/linux/efs_fs.h | 1 -
pfinet/linux-src/include/linux/efs_fs_i.h | 1 -
pfinet/linux-src/include/linux/efs_fs_sb.h | 1 -
pfinet/linux-src/include/linux/efs_vh.h | 1 -
pfinet/linux-src/include/linux/epca.h | 1 -
pfinet/linux-src/include/linux/hayesesp.h | 1 -
pfinet/linux-src/include/linux/ioctl.h | 1 -
pfinet/linux-src/include/linux/ipc.h | 2 -
pfinet/linux-src/include/linux/irda.h | 4 -
pfinet/linux-src/include/linux/isicom.h | 1 -
pfinet/linux-src/include/linux/kmod.h | 1 -
pfinet/linux-src/include/linux/locks.h | 1 -
pfinet/linux-src/include/linux/lp_intern.h | 1 -
pfinet/linux-src/include/linux/lp_mfc.h | 1 -
pfinet/linux-src/include/linux/ncp_fs_sb.h | 1 -
pfinet/linux-src/include/linux/ntfs_fs.h | 1 -
pfinet/linux-src/include/linux/nubus.h | 1 -
pfinet/linux-src/include/linux/route.h | 1 -
pfinet/linux-src/include/linux/sdla_fr.h | 1 -
pfinet/linux-src/include/linux/sdlapci.h | 1 -
pfinet/linux-src/include/linux/sdlasfm.h | 1 -
pfinet/linux-src/include/linux/serial_reg.h | 1 -
pfinet/linux-src/include/linux/sysv_fs.h | 1 -
pfinet/linux-src/include/linux/sysv_fs_i.h | 1 -
pfinet/linux-src/include/linux/sysv_fs_sb.h | 1 -
pfinet/linux-src/include/linux/tpqic02.h | 1 -
pfinet/linux-src/include/linux/tty_flip.h | 7 -
pfinet/linux-src/include/linux/vmalloc.h | 1 -
pfinet/linux-src/include/linux/wanpipe.h | 1 -
pfinet/linux-src/include/net/addrconf.h | 2 +
pfinet/linux-src/include/net/br.h | 3 -
pfinet/linux-src/include/net/inet_common.h | 2 -
pfinet/linux-src/include/net/ipv6.h | 3 -
pfinet/linux-src/include/net/llc.h | 1 -
pfinet/linux-src/include/net/llc_name.h | 1 -
pfinet/linux-src/include/net/llccall.h | 1 -
pfinet/linux-src/include/net/neighbour.h | 2 -
pfinet/linux-src/include/net/rarp.h | 1 -
pfinet/linux-src/include/net/scm.h | 1 -
pfinet/linux-src/net/core/dev_mcast.c | 1 -
pfinet/linux-src/net/ipv4/Config.in | 1 -
pfinet/linux-src/net/ipv4/af_inet.c | 1 +
pfinet/linux-src/net/ipv4/devinet.c | 2 +
pfinet/linux-src/net/ipv4/fib_frontend.c | 1 -
pfinet/linux-src/net/ipv4/fib_hash.c | 2 +-
pfinet/linux-src/net/ipv4/igmp.c | 1 -
pfinet/linux-src/net/ipv4/ip_input.c | 1 -
pfinet/linux-src/net/ipv4/ip_masq_quake.c | 2 -
pfinet/linux-src/net/ipv4/ip_output.c | 1 -
pfinet/linux-src/net/ipv4/tcp.c | 59 +-
pfinet/linux-src/net/ipv4/tcp_input.c | 3 +
pfinet/linux-src/net/ipv4/tcp_output.c | 1 +
pfinet/linux-src/net/ipv4/timer.c | 1 -
pfinet/linux-src/net/ipv4/utils.c | 1 -
pfinet/linux-src/net/ipv6/exthdrs.c | 1 -
pfinet/linux-src/net/ipv6/ip6_fib.c | 2 -
pfinet/loopback.c | 7 +
pfinet/main.c | 148 ++-
pfinet/mig-decls.h | 67 +
pfinet/mig-mutate.h | 44 +
pfinet/misc.c | 26 -
pfinet/mutations.h | 38 -
pfinet/options.c | 352 ++++--
pfinet/pfinet.h | 16 +-
pfinet/sched.c | 7 +-
pfinet/socket-ops.c | 2 +-
pfinet/socket.c | 2 +-
pfinet/timer-emul.c | 2 +-
pfinet/tunnel.c | 5 +-
pflocal/connq.c | 2 +-
pflocal/io.c | 18 +-
pflocal/mig-decls.h | 12 +
pflocal/mig-mutate.h | 3 +
pflocal/pflocal.c | 33 +-
pflocal/sock.c | 20 +-
pflocal/sock.h | 31 +-
pflocal/socket.c | 17 +-
pflocal/sserver.c | 25 +-
proc/Makefile | 8 +-
proc/hash.c | 35 +-
proc/host.c | 37 +-
proc/info.c | 24 +-
proc/main.c | 141 ++-
proc/mgt.c | 268 +++-
proc/mig-decls.h | 77 ++
proc/mig-mutate.h | 37 +
proc/msg.c | 4 +-
proc/notify.c | 50 +-
proc/pgrp.c | 32 +-
proc/proc.h | 28 +-
proc/proc_exc.defs | 12 +-
procfs/ChangeLog | 6 +
procfs/Makefile | 31 +
procfs/TODO | 24 +
procfs/dircat.c | 128 ++
procfs/dircat.h | 29 +
procfs/main.c | 338 +++++
procfs/main.h | 25 +
procfs/netfs.c | 461 +++++++
procfs/process.c | 516 +++++++
procfs/process.h | 27 +
procfs/procfs.c | 219 +++
procfs/procfs.h | 99 ++
procfs/procfs_dir.c | 134 ++
procfs/procfs_dir.h | 63 +
procfs/proclist.c | 94 ++
procfs/proclist.h | 23 +
procfs/rootdir.c | 730 ++++++++++
procfs/rootdir.h | 23 +
random/Makefile | 30 +
random/TODO | 11 +
random/gnupg-bithelp.h | 41 +
random/gnupg-glue.h | 40 +
random/gnupg-random.c | 810 +++++++++++
random/gnupg-random.h | 47 +
random/gnupg-rmd.h | 38 +
random/gnupg-rmd160.c | 656 +++++++++
random/random.c | 650 +++++++++
random/random.h | 32 +
release/README | 2 -
release/SOURCES.0.2 | 2 -
release/dist-README | 3 -
release/menu.lst | 1 -
startup/Makefile | 35 +
startup/startup.c | 1705 ++++++++++++++++++++++++
storeio/dev.c | 6 +-
storeio/io.c | 4 +
storeio/pager.c | 28 +-
storeio/storeio.c | 5 +-
sutils/MAKEDEV.sh | 4 +-
sutils/fstab.c | 109 +-
term/Makefile | 4 +
term/devio.c | 6 +-
term/hurdio.c | 7 +-
term/main.c | 24 +-
term/mig-decls.h | 48 +
term/mig-mutate.h | 36 +
term/ptyio.c | 54 +-
term/term.h | 5 +
term/users.c | 319 ++---
tmpfs/dir.c | 24 +-
tmpfs/node.c | 137 ++-
tmpfs/pager-stubs.c | 24 +-
tmpfs/tmpfs.c | 41 +-
tmpfs/tmpfs.h | 20 +-
trans/Makefile | 24 +-
trans/crash.c | 74 +-
trans/fakeroot.c | 536 +++++---
trans/fifo.c | 5 +-
trans/firmlink.c | 2 +
trans/hello-mt.c | 30 +-
trans/hello.c | 23 +-
trans/ifsock.c | 18 +-
trans/magic.c | 18 +-
trans/mtab.c | 279 +++--
trans/new-fifo.c | 32 +-
trans/null.c | 5 +
trans/password.c | 74 +-
trans/proxy-defpager.c | 30 +-
trans/streamio.c | 20 +-
trans/symlink.c | 15 -
usermux/node.c | 2 +-
usermux/usermux.c | 5 +-
utils/Makefile | 23 +-
utils/fakeauth.c | 29 +-
utils/fakeroot.sh | 10 +-
utils/frobauth.c | 6 +-
utils/gcore.c | 24 +-
utils/login.c | 8 +-
utils/mount.c | 46 +-
utils/msgids.c | 252 ++++
utils/msgids.h | 33 +
utils/portinfo.c | 126 ++-
utils/remap.sh | 9 +-
utils/rpcscan.c | 404 ++++++
utils/rpctrace.c | 370 ++---
utils/settrans.c | 129 ++-
utils/storeinfo.c | 1 -
utils/umount.c | 13 +-
utils/vmstat.c | 3 +-
utils/x.c | 4 +-
720 files changed, 19244 insertions(+), 12385 deletions(-)
delete mode 100644 README.CVS
create mode 100644 auth/auth.h
delete mode 100644 auth/auth_mig.h
delete mode 100644 auth/authmutations.h
create mode 100644 auth/mig-decls.h
create mode 100644 auth/mig-mutate.h
delete mode 100644 console/priv.h
copy daemons/{runsystem.sh => runsystem.hurd} (100%)
create mode 100644 exec/mig-decls.h
create mode 100755 gitlog-to-changelog
delete mode 100644 init/stubs.c
create mode 100644 libdiskfs/file-get-children.c
create mode 100644 libdiskfs/file-get-source.c
delete mode 100644 libdiskfs/fsys-get-children.c
delete mode 100644 libdiskfs/fsys-get-source.c
create mode 100644 libdiskfs/node-cache.c
create mode 100644 libnetfs/file-get-children.c
create mode 100644 libnetfs/file-get-source.c
delete mode 100644 libnetfs/fsys-get-children.c
delete mode 100644 libnetfs/fsys-get-source.c
create mode 100644 libpager/mig-decls.h
create mode 100644 libpager/mig-mutate.h
delete mode 100644 libpager/no-senders.c
delete mode 100644 libpager/notify-stubs.c
create mode 100644 libpager/queue.h
delete mode 100644 libpager/seqnos.c
create mode 100644 libports/extern-inline.c
create mode 100644 libports/mig-decls.h
create mode 100644 libports/mig-mutate.h
create mode 100644 libports/port-deref-deferred.c
create mode 100644 libports/port-deref-deferred.h
create mode 100644 libshouldbeinlibc/refcount.c
create mode 100644 libshouldbeinlibc/refcount.h
create mode 100644 libstore/do-gunzip.c
delete mode 100644 libstore/gzip.h
delete mode 100644 libstore/inflate.c
delete mode 100644 libstore/tailor.h
delete mode 100644 libstore/unzip.c
delete mode 100644 libtrivfs/cntl-classes.c
create mode 100644 libtrivfs/file-get-children.c
create mode 100644 libtrivfs/file-get-source.c
delete mode 100644 libtrivfs/fsmutations.h
delete mode 100644 libtrivfs/fsys-get-children.c
delete mode 100644 libtrivfs/fsys-get-source.c
create mode 100644 libtrivfs/mig-decls.h
create mode 100644 libtrivfs/mig-mutate.h
delete mode 100644 libtrivfs/migsupport.c
delete mode 100644 libtrivfs/protid-classes.c
create mode 100644 mach-defpager/mig-decls.h
create mode 100644 mach-defpager/mig-mutate.h
create mode 100644 mach-defpager/priv.h
create mode 100644 pfinet/mig-decls.h
create mode 100644 pfinet/mig-mutate.h
delete mode 100644 pfinet/mutations.h
create mode 100644 proc/mig-decls.h
create mode 100644 proc/mig-mutate.h
create mode 100644 procfs/ChangeLog
create mode 100644 procfs/Makefile
create mode 100644 procfs/TODO
create mode 100644 procfs/dircat.c
create mode 100644 procfs/dircat.h
create mode 100644 procfs/main.c
create mode 100644 procfs/main.h
create mode 100644 procfs/netfs.c
create mode 100644 procfs/process.c
create mode 100644 procfs/process.h
create mode 100644 procfs/procfs.c
create mode 100644 procfs/procfs.h
create mode 100644 procfs/procfs_dir.c
create mode 100644 procfs/procfs_dir.h
create mode 100644 procfs/proclist.c
create mode 100644 procfs/proclist.h
create mode 100644 procfs/rootdir.c
create mode 100644 procfs/rootdir.h
create mode 100644 random/Makefile
create mode 100644 random/TODO
create mode 100644 random/gnupg-bithelp.h
create mode 100644 random/gnupg-glue.h
create mode 100644 random/gnupg-random.c
create mode 100644 random/gnupg-random.h
create mode 100644 random/gnupg-rmd.h
create mode 100644 random/gnupg-rmd160.c
create mode 100644 random/random.c
create mode 100644 random/random.h
create mode 100644 startup/Makefile
create mode 100644 startup/startup.c
create mode 100644 term/mig-decls.h
create mode 100644 term/mig-mutate.h
create mode 100644 utils/msgids.c
create mode 100644 utils/msgids.h
create mode 100644 utils/rpcscan.c
hooks/post-receive
--
the great next stuff
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] the great next stuff branch, dde, updated. 6e1555c9a749b215665619f4ec6f0b0d4d0f3fd6,
Samuel Thibault <=