This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING] Avoid excessive buffer size in libio

On 06/24/2016 05:35 PM, Florian Weimer wrote:
On 05/19/2016 04:57 PM, Florian Weimer wrote:
On 03/31/2016 12:14 PM, Florian Weimer wrote:
On 03/18/2016 11:52 PM, Roland McGrath wrote:

Whatever the results, they would not IMHO be relevant here.

POSIX specifies that st_blksize is the "preferred I/O block size for
object".  It's the kernel's responsibility to give userland good advice
through this channel.  If there are common buggy kernels that give bad
advice, that is a reason to apply upper and lower limits to the
advice from
the kernel.  But the expectation should be that the kernel gets
fixed to
give good advice, and the optimal thing to do with a good kernel is to
follow its advice.

Since the recommended use of st_blksize in this way is a standard user
feature and not just what stdio's implementation happens to do, there
is an
argument to be made that the limiting of the value should be done in
*stat functions reported st_blksize values rather than in stdio's
use of
them.  (I'm ambivalent about this point.)

That's a good point.  I'll try to get feedback from kernel file system
developers on this matter.

I wasn't able to get any feedback.  Based on Rich's point about random
I/O and Roland's earlier suggestion, I'm just capping the reported
buffer size to 8192 in the attached patch.





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]