Date: Thu, 14 Dec 2006 06:01:27 -0600 From: "Scot Hetzel" <swhetzel@gmail.com> To: emulation@freebsd.org Subject: linuxolator: proc/filesystems implementation Message-ID: <790a9fff0612140401h7bf0bdb0idb1590120ae95e3f@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
------=_Part_72120_10226074.1166097687876 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Linux has a file in the procfs that shows all the loaded filesystem modules. I have implemented the function that fills this file using the linprocfs module. What the function does is look for specific kernel modules using module_lookupbyname to create an entry in the proc/filesystems file: # cat /compat/linux/proc/filesystems cd9660 nodev devfs nodev bsdprocfs mfs msdosfs nfs nfs4 nodev procfs nodev sysfs ufs # kldload smbfs # cat /compat/linux/proc/filesystems cd9660 nodev devfs nodev bsdprocfs mfs msdosfs nfs nfs4 nodev procfs smbfs nodev sysfs ufs Unloading a filesystem kernel module will remove the entry from proc/filesystems. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. ------=_Part_72120_10226074.1166097687876 Content-Type: text/x-diff; name="linprocfs_filesystem.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linprocfs_filesystem.patch" X-Attachment-Id: f_evp4fm4c SW5kZXg6IGNvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2hvbWUvbmN2cy9zcmMvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTAxCmRpZmYgLXUgLXIxLjEwMSBsaW5wcm9jZnMuYwotLS0gY29tcGF0 L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyNyBOb3YgMjAwNiAyMToxMDo1NSAtMDAwMAkxLjEwMQor KysgY29tcGF0L2xpbnByb2Nmcy9saW5wcm9jZnMuYwkyOSBOb3YgMjAwNiAwNToyMTo1MSAtMDAw MApAQCAtMTAzMSw2ICsxMDMxLDY1IEBACiB9CiAKIC8qCisgKiBGaWxsZXIgZnVuY3Rpb24gZm9y IHByb2MvZmlsZXN5c3RlbXMKKyAqCisgKiBOT1RFOiBUaGUgb25seSBwcm9ibGVtIGlzIHRoYXQg YXMgbmV3IGZpbGVzeXN0ZW1zIGFyZSBhZGRlZCwgdGhleQorICogICAgICAgd2lsbCBuZWVkIHRv IGJlIGFkZGVkIHRvIHRoaXMgbGlzdCBhbHBhYmV0aWNhbGx5LCBhcyB0aGUKKyAqICAgICAgIGxp c3QgY2FuJ3QgYmUgdXBkYXRlZCBkeW5hbWljYWxseS4KKyAqLworc3RhdGljIGludAorbGlucHJv Y2ZzX2RvZmlsZXN5c3RlbXMoUEZTX0ZJTExfQVJHUykKK3sKKworI2RlZmluZSBGU19BREQobmFt ZSwgbm9kZXYsIGZpbGVzeXN0ZW0pIFwKKwlpZiAobW9kdWxlX2xvb2t1cGJ5bmFtZShuYW1lKSAh PSBOVUxMKSBcCisJICAgIHNidWZfcHJpbnRmKHNiLCAiJXNcdCVzXG4iLCBcCisJCW5vZGV2ID8g Im5vZGV2IiA6ICIiLCBmaWxlc3lzdGVtKTsKKworCU1PRF9TTE9DSzsKKwkvKgorCSAqIFByaW50 IGEgbGlzdCBvZiB0aGUgY3VycmVudGx5IGxvYWRlZCBrZXJuZWwgZmlsZXN5c3RlbSBtb2R1bGVz LgorCSAqCisJICoJRnJlZUJTRAkJTm8JTGludXgKKwkgKglLZXJuZWwJCVNwZWNpYWwgRmlsZXN5 c3RlbQorCSAqCU1vZHVsZQkJRGV2aWNlCU5hbWUKKwkgKi8KKwlGU19BREQoImNkOTY2MCIsCTAs CSJjZDk2NjAiKTsKKwlGU19BREQoImRldmZzIiwJCTEsCSJkZXZmcyIpOworCUZTX0FERCgiZXh0 MmZzIiwJMCwJImV4dDJmcyIpOworCUZTX0FERCgicHJvY2ZzIiwJMSwJImJzZHByb2NmcyIpOwkv KiByZW5hbWVkIHByb2NmcyBtb2R1bGUgdG8gYnNkcHJvY2ZzICovCisJRlNfQUREKCJmZGVzY2Zz IiwJMSwJImZkZXNjZnMiKTsKKwlGU19BREQoImdfbWQiLAkJMCwJIm1mcyIpOworCUZTX0FERCgi bXNkb3NmcyIsCTAsCSJtc2Rvc2ZzIik7CisKKwlGU19BREQoIm5mcyIsCQkwLAkibmZzIik7CQkv KiBYWFg6IFNob3VsZCBObyBTcGVjaWFsIERldmljZSBiZSAxIGZvciBuZnMqICovCisJRlNfQURE KCJuZnM0IiwJCTAsCSJuZnM0Iik7CisKKwlGU19BREQoIm50ZnMiLAkJMCwJIm50ZnMiKTsKKwlG U19BREQoIm51bGxmcyIsCTEsCSJudWxsZnMiKTsKKworCUZTX0FERCgibndmcyIsCQkwLAkibndm cyIpOwkvKiBYWFg6IFNob3VsZCBObyBTcGVjaWFsIERldmljZSBiZSAxIGZvciBud2ZzICovCisK KwlGU19BREQoImxpbnByb2NmcyIsCTEsCSJwcm9jZnMiKTsJLyogcmVuYW1lZCB0byBsaW51eCBm aWxlc3lzdGVtIG5hbWUgKi8KKwlGU19BREQoInBvcnRhbGZzIiwJMSwJInBvcnRhbGZzIik7CisJ RlNfQUREKCJyZWlzZXJmcyIsCTAsCSJyZWlzZXJmcyIpOworCisJRlNfQUREKCJzbWJmcyIsCQkw LAkic21iZnMiKTsJLyogWFhYOiBTaG91bGQgTm8gU3BlY2lhbCBEZXZpY2UgYmUgMSBmb3Igc21i ZnMgKi8KKworCUZTX0FERCgibGluc3lzZnMiLAkxLAkic3lzZnMiKTsJLyogcmVuYW1lZCB0byBs aW51eCBmaWxlc3lzdGVtIG5hbWUgKi8KKwlGU19BREQoInVkZiIsCQkwLAkidWRmIik7CisJRlNf QUREKCJ1ZnMiLAkJMCwJInVmcyIpOworCUZTX0FERCgidW1hcGZzIiwJMSwJInVtYXBmcyIpOwor CUZTX0FERCgidW5pb25mcyIsCTEsCSJ1bmlvbmZzIik7CisJRlNfQUREKCJ4ZnMiLAkJMCwJInhm cyIpOworCUZTX0FERCgiemZzIiwJCTAsCSJ6ZnMiKTsKKwlNT0RfU1VOTE9DSzsKKyN1bmRlZiBG U19BREQKKworCXJldHVybiAoMCk7Cit9CisKKy8qCiAgKiBGaWxsZXIgZnVuY3Rpb24gZm9yIHBy b2MvY21kbGluZQogICovCiBzdGF0aWMgaW50CkBAIC0xMDc2LDYgKzExMzUsOCBAQAogCSAgICBO VUxMLCBOVUxMLCBQRlNfUkQpOwogCXBmc19jcmVhdGVfZmlsZShyb290LCAiZGV2aWNlcyIsICZs aW5wcm9jZnNfZG9kZXZpY2VzLAogCSAgICBOVUxMLCBOVUxMLCBQRlNfUkQpOworCXBmc19jcmVh dGVfZmlsZShyb290LCAiZmlsZXN5c3RlbXMiLCAmbGlucHJvY2ZzX2RvZmlsZXN5c3RlbXMsCisJ ICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7CiAJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJsb2FkYXZn IiwgJmxpbnByb2Nmc19kb2xvYWRhdmcsCiAJICAgIE5VTEwsIE5VTEwsIFBGU19SRCk7CiAJcGZz X2NyZWF0ZV9maWxlKHJvb3QsICJtZW1pbmZvIiwgJmxpbnByb2Nmc19kb21lbWluZm8sCg== ------=_Part_72120_10226074.1166097687876--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0612140401h7bf0bdb0idb1590120ae95e3f>