[Devel] O_NONBLOCK for directory
Kir Kolyshkin
kir at virtuozzo.com
Fri Apr 15 10:38:47 PDT 2016
On 04/15/2016 04:48 AM, Dmitry Mishin wrote:
> I am reviewing recent VZ7 libploop commits, in particular, this one:
>
>
> https://src.openvz.org/projects/OVZ/repos/ploop/commits/36df847b9
>
> I left a question there, let me repeat it here in a hope someone
> answers.
>
>> Igor Sukhihcommitted36df847b99c
>> <https://src.openvz.org/projects/OVZ/repos/ploop/commits/36df847b99c92557c69255ebfb00d4cc74cb51ac>Yesterday
>> ploop_copy_init(): open folder with O_DIRECTORY flag
>>
> ...
>> - _h->mntfd = open(mnt, O_RDONLY);
>> + _h->mntfd = open(mnt, O_RDONLY|O_NONBLOCK|O_DIRECTORY);
>
> 1. What's the reason for adding O_NONBLOCK here? As far as I can
> see, it doesn't
> change anything at all (neither in this open(), nor in subsequent
> syncfs(), ioctl()
> and close())? I went as far as the kernel sources to check that
> O_NONBLOCK
> doesn't affect syncfs() call, but maybe I'm mistaken?
>
>
> Added accidentally, you are right, it doesn't change anything.
>
>
>
> 2. What's the reason for adding O_DIRECTORY? Ideally, the changelog
> should say why we're doing it, not what we do (as it's pretty clear
> from the patch itself).
>
> It does exactly as specified – enforces open file to be a directory.
See, I am not asking what it does -- it's pretty clear from open(2) man
page.
What I am interested in is the reason _why_ it was added. A bug report
this change is trying to fix, or a train of thought leading to this
change, etc.
Ideally this is what the changelog message should tell us.
> Any problems with this enforcement?
No, I don't foresee any problems, more to say, this extra check might
actually do some good.
Kir.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/devel/attachments/20160415/fd3c8a2b/attachment.html>
More information about the Devel
mailing list