Skip site navigation (1)Skip section navigation (2)
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>