RFR: 8229872: (fs) Increase buffer size used with getmntent
Vladimir Kempik
vkempik at azul.com
Wed Sep 4 15:47:14 UTC 2019
I see.
I have dumped both lineSize and res within getlinelen, here is result:
linesize = 120, res = 53
linesize = 120, res = 52
linesize = 120, res = 83
linesize = 120, res = 81
linesize = 120, res = 69
linesize = 120, res = 82
linesize = 120, res = 79
linesize = 120, res = 41
linesize = 120, res = 69
linesize = 120, res = 63
linesize = 240, res = 141
linesize = 120, res = 65
linesize = 120, res = 75
linesize = 120, res = 81
linesize = 120, res = 81
linesize = 120, res = 99
linesize = 120, res = 77
linesize = 120, res = 75
linesize = 120, res = 89
linesize = 120, res = 87
linesize = 120, res = 79
linesize = 120, res = 81
linesize = 120, res = 79
linesize = 240, res = 125
linesize = 120, res = 57
linesize = 120, res = 50
linesize = 120, res = 42
linesize = 120, res = 63
linesize = 120, res = 53
linesize = 120, res = 37
linesize = 120, res = 96
linesize = 120, res = 103
linesize = 120, res = 105
linesize = 1318, res = 1317
linesize = 240, res = 154
linesize = 120, res = 48
linesize = 120, res = -1
What is better to return, lineSize or res+1 ?
Thanks, Vladimir
P.S. currently returning just res seems to works fine.
> 4 сент. 2019 г., в 18:38, Alan Bateman <Alan.Bateman at oracle.com> написал(а):
>
>
>
> On 04/09/2019 15:52, Vladimir Kempik wrote:
>> :
>> Its no issue since newline character counted, and getmntent_r is looking for newline character. Every line in /proc/mounts ends with newline character.
>> from man getline:
>> getline() reads an entire line from stream, storing the address of the
>> buffer containing the text into *lineptr. The buffer is null-termi‐
>> nated and includes the newline character, if one was found.
> It's the return value that I was wondering about as that it's the number of bytes written excluding the NUL.
>
>>
>>> Have you considered using fseek instead of rewind to avoid the uncertainty as to whether errno is set?
>> it seems fseek vs rewind&ferror is : with fseek we will know errno while with rewind&ferror we will know the error happened but no errno.
>>
>> do you thinks its better to introduce fseek (but how do I specify SEEK_SET in java then, some enum?) or just rewrite native part of rewind to actually use fseek?
>>
> My only reason for asking is that you've got a FIXME in the comment to say that rewind doesn't specify how it reports errors. I checked the man page on macOS and it does. I also see Florian's mails to say that we don't need to worry about it.
>
> -Alan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20190904/0a94df67/signature.asc>
More information about the nio-dev
mailing list