Date: Sun, 14 Jul 2019 12:08:38 -0700 From: Conrad Meyer <cem@freebsd.org> To: Alan Somers <asomers@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r349391 - head/sys/kern Message-ID: <CAG6CVpUscojbGvA0=BmZPhSR%2B5Yt5ah8SQKrBaouUNDpu9tw9A@mail.gmail.com> In-Reply-To: <201906251944.x5PJiNaA093352@repo.freebsd.org> References: <201906251944.x5PJiNaA093352@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Alan, This change restores the possible overflow beyond IO_SEQMAX that the removed conditional prevented. On Tue, Jun 25, 2019 at 12:44 PM Alan Somers <asomers@freebsd.org> wrote: > > Author: asomers > Date: Tue Jun 25 19:44:22 2019 > New Revision: 349391 > URL: https://svnweb.freebsd.org/changeset/base/349391 > > --- head/sys/kern/vfs_vnops.c Tue Jun 25 19:36:01 2019 (r349390) > +++ head/sys/kern/vfs_vnops.c Tue Jun 25 19:44:22 2019 (r349391) > @@ -499,10 +499,8 @@ sequential_heuristic(struct uio *uio, struct file *fp) > * closely related to the best I/O size for real disks than > * to any block size used by software. > */ > - fp->f_seqcount += MIN(IO_SEQMAX, > + fp->f_seqcount += lmin(IO_SEQMAX, > howmany(uio->uio_resid, 16384)); > - if (fp->f_seqcount > IO_SEQMAX) > - fp->f_seqcount = IO_SEQMAX; > return (fp->f_seqcount << IO_SEQSHIFT); > } Perhaps instead this should be: fp->f_seqcount = lmin(IO_SEQMAX, fp->f_seqcount + howmany(...)); Best, Conrad
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpUscojbGvA0=BmZPhSR%2B5Yt5ah8SQKrBaouUNDpu9tw9A>