:Matthew Dillon <[EMAIL PROTECTED]> wrote:
:> :Tony Finch <[EMAIL PROTECTED]> wrote:
:...
:>
:> Hmm... well, there is a problem here. I believe this will allow
:> you to open the underlying block device read-only as well as mount
:> the filesystem read-only. This will confuse the buffer cache badly.
:
:I don't think so -- spec_open checks whether the block device has been
:mounted in order to prevent this, and I made sure that that check
:remains in force except when spec_open is called by ffs_mountfs (by
:adding the FMOUNTING flag). I assumed that the buffer cache will
:handle multiple read-only mounts because it handles multiple userland
:reading file descriptors.
Ah, I see it now!
:> Also, this may not be the best place to put the code. It make sense
:> to be able to mount a block device multiple times in a read-only
:> fashion, but the code should be in the open for the block device
:> rather then in UFS/FFS, so it can be used with other filesystems
:> and for other purposes.
:
:Yes, it's evident that this is true because I had to hack around
:essentially the same test in both spec_open and ffs_mountfs; removing
:the checks down from ffs_mountfs so it relies on spec_mount to DTRT
:would be neater, I think.
:
:Tony.
:--
:f.a.n.finch [EMAIL PROTECTED] [EMAIL PROTECTED] e pluribus unix
Yes. I think this is the right track to take. The result will be
more useful to the system and probably a cleaner patch as well.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message