Re: [PATCH 24/32] vfs: syscall: Add fsopen() to prepare for superblock creation [ver #9]

From: Andy Lutomirski
Date: Thu Jul 12 2018 - 19:21:42 EST




> On Jul 12, 2018, at 3:54 PM, David Howells <dhowells@xxxxxxxxxx> wrote:
>
> Theodore Y. Ts'o <tytso@xxxxxxx> wrote:
>
>> So maybe the answer is that you open /dev/sda1 and /dev/sda2 and then
>> pass the file descriptors to the fsopen object? We can require that
>> the fd's be opened with O_RDWR and O_EXCL, which has the benefit where
>> if you have multiple block devices, you know *which* block device had
>> a problem with being grabbed for an exclusive open.
>
> Would that mean then that doing:
>
> mount /dev/sda3 /a
> mount /dev/sda3 /b
>
> would then fail on the second command because /dev/sda3 is already open
> exclusively?
>

I tend to think that this *should* fail using the new API. The semantics of the second mount request are bizarre at best.