$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Filesystem] Add features to list all mount paths, determine mount path of a path
From: Daniel Trebbien (dtrebbien_at_[hidden])
Date: 2010-07-12 13:59:29
> That would be a very questionable feature. On unix there is a single
> filesystem. Things such as "mount paths" are supposed to be abstracted away.
>
> And what would be the "mount path of the given path" ?
Suppose I had `/dev/hda3` mounted at `/`, `/dev/hdb1` mounted at
`/root`, and `/dev/hda1` mounted at `/mnt/hda1`. I was thinking that
the "mount path" for `/home/daniel` would be `/`; for
`/root/file.txt` it would be `/root`; and for `/mnt/hda1/Documents
and Settings` it would be `/mnt/hda1`.
> Such a path may have
> multiple mout points. Wich one do you return ? And why...?
Return the path of the most-nested mount point. In the examples that I
have given, the "mount path" for `/mnt/hda1/Documents and Settings` is
`/mnt/hda1` because that is more nested than `/`.
> What would [be a] use
> case for this feature ?
One that I was thinking about recently was a way to know whether two
paths are on the same filesystem because in order to create a hard
link to a file, the target often needs to be on the same filesystem as
the source.
I think that you can mount the same filesystem to different paths, but
I don't think that this is common practice. Basically, if the mount
paths are different, then you can pretty much say definitively that
they are on different filesystems.
> And why add a function to iterate over all mount points ? I think that only
> makes sense for iterating over windows drives.
It would be a cross-platform way to access some information in the
equivalent of the operating system's fstab.
>
>> 4. Is the concept of mount paths cross-platform?
>
> No. Mount points migth be similar to windows drives, but not similar
> enougth.
No? I was almost certain that windows drives are the way that Windows
does mount points.
>
> And it's mount point, not mount path.
True. I was shortening "mount point path" or "path of mount point",
which both seem stilted to me.