Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Jan 2010 16:10:33 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Fernando =?iso-8859-1?q?Apestegu=EDa?= <fernando.apesteguia@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [PATCH] linprocfs dofilesystems
Message-ID:  <201001271610.33621.jhb@freebsd.org>
In-Reply-To: <1bd550a01001271232r3131a00ci8cf08e0a4ff21816@mail.gmail.com>
References:  <1bd550a01001080919p20ec1b20t82b3761705cd1ff3@mail.gmail.com> <201001270856.24324.jhb@freebsd.org> <1bd550a01001271232r3131a00ci8cf08e0a4ff21816@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 27 January 2010 3:32:17 pm Fernando Apestegu=EDa wrote:
> 2010/1/27 John Baldwin <jhb@freebsd.org>:
> > On Tuesday 26 January 2010 4:52:35 pm Fernando Apestegu=EDa wrote:
> >> 2010/1/15 John Baldwin <jhb@freebsd.org>:
> >> > On Friday 08 January 2010 12:19:29 pm Fernando Apestegu=EDa wrote:
> >> >> Hi all,
> >> >>
> >> >> This patch implements the "filesystems" file in the linux proc fs.
> >> >> I have used it for some time without seeing any problems. Let me
> >> >> know in case this is useful.
> >> >>
> >> >> Tested against 8.0-RELEASE-p1
> >> >
> >> > This patch is not correct.  It seems that /proc/filesystems is a lis=
t of
> >> > available filesystems, not a list of mounted filesystems.  E.g.:
> >> >
> >> >> cat /proc/filesystems
> >> > nodev   sysfs
> >> > nodev   rootfs
> >> > nodev   bdev
> >> > nodev   proc
> >> > nodev   sockfs
> >> > nodev   binfmt_misc
> >> > nodev   usbfs
> >> > nodev   usbdevfs
> >> > nodev   futexfs
> >> > nodev   tmpfs
> >> > nodev   pipefs
> >> > nodev   eventpollfs
> >> > nodev   devpts
> >> >        ext2
> >> > nodev   ramfs
> >> > nodev   hugetlbfs
> >> >        iso9660
> >> > nodev   relayfs
> >> > nodev   mqueue
> >> >        ext3
> >> > nodev   rpc_pipefs
> >> > nodev   nfs
> >> > nodev   nfs4
> >> > nodev   autofs
> >> >
> >> > To do the same thing in FreeBSD you would need to walk the vfsconf l=
ist
> >> > instead.  However, I'm not sure it is worth it to add this unless th=
ere
> >> > are apps people commonly use that need it.
> >>
> >> You are right. I have another patch to do the right thing. However as
> >> you pointed
> >> out maybe it is not useful after all. Is it possible to delete the PR?
> >>
> >> Sorry for the noise
> >>
> >> PS: My current patch does not distinguish between common filesystems
> >> and pseudo filesystems, where could I find that info?
> >>
> >> Cheers
> >
> > Hmm, I'm not sure if there is an easy way to distinguish psuedo filesys=
tems
> > from device-backed filesystems.  Hmm, maybe the VFCF_SYNTHETIC flag?  If
> > you have an updated patch I'm ok with reviewing it.  What programs are =
you
> > using that use this file in linprocfs?
>=20
> I don't need the file right now. I did it for completeness although it
> could help to
> procinfo[1] gsysinfo[2] and a personal application I wrote some time ago[=
3].
> I am not a kernel developer, but I found this interesting as an exercise.
> That is the main reason I tried to implement this file.
>=20
> The new patch is attached. VFCF_SYNTHETIC seems to work fine as this patc=
h shows
> in my system:
>=20
> $ cat /compat/linux/proc/filesystems
> nodev	procfs
> 	cd9660
> 	nfs
> nodev	devfs
> 	ufs
> 	msdosfs
> nodev	linprocfs
> 	ntfs
>=20
> I suspect using procfs is not the most portable way of gathering
> information in a UNIX system
> Am I right? If so, what is the preferred way? Using sysctl?

I'm not aware of a portable way to obtain this information across all UNIX
variants.  For FreeBSD, there isn't a way for userland to obtain the list
of filesystems cleanly.  The patch looks good to me.  I'll probably commit =
it
after some testing it locally.

=2D-=20
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001271610.33621.jhb>