[PATCH] linprocfs dofilesystems
John Baldwin
jhb at freebsd.org
Wed Jan 27 21:30:46 UTC 2010
On Wednesday 27 January 2010 3:32:17 pm Fernando Apesteguía wrote:
> 2010/1/27 John Baldwin <jhb at freebsd.org>:
> > On Tuesday 26 January 2010 4:52:35 pm Fernando Apesteguía wrote:
> >> 2010/1/15 John Baldwin <jhb at freebsd.org>:
> >> > On Friday 08 January 2010 12:19:29 pm Fernando Apesteguía 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 list 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 list
> >> > instead. However, I'm not sure it is worth it to add this unless there
> >> > 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 filesystems
> > 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?
>
> 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.
>
> The new patch is attached. VFCF_SYNTHETIC seems to work fine as this patch shows
> in my system:
>
> $ cat /compat/linux/proc/filesystems
> nodev procfs
> cd9660
> nfs
> nodev devfs
> ufs
> msdosfs
> nodev linprocfs
> ntfs
>
> 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.
--
John Baldwin
More information about the freebsd-hackers
mailing list