[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210111144341.GZ3579531@ZenIV.linux.org.uk>
Date: Mon, 11 Jan 2021 14:43:41 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: David Laight <David.Laight@...lab.com>
Cc: 'Mikulas Patocka' <mpatocka@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Dan Williams <dan.j.williams@...el.com>,
Vishal Verma <vishal.l.verma@...el.com>,
Dave Jiang <dave.jiang@...el.com>,
Ira Weiny <ira.weiny@...el.com>,
Matthew Wilcox <willy@...radead.org>, Jan Kara <jack@...e.cz>,
Steven Whitehouse <swhiteho@...hat.com>,
Eric Sandeen <esandeen@...hat.com>,
Dave Chinner <dchinner@...hat.com>,
Theodore Ts'o <tytso@....edu>,
Wang Jianchao <jianchao.wan9@...il.com>,
"Kani, Toshi" <toshi.kani@....com>,
"Norton, Scott J" <scott.norton@....com>,
"Tadakamadla, Rajesh" <rajesh.tadakamadla@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>
Subject: Re: [RFC v2] nvfs: a filesystem for persistent memory
On Mon, Jan 11, 2021 at 11:57:08AM +0000, David Laight wrote:
> > > > size = copy_to_iter(to, ptr, size);
> > > > if (unlikely(!size)) {
> > > > r = -EFAULT;
> > > > goto ret_r;
> > > > }
> > > >
> > > > pos += size;
> > > > total += size;
> > > > } while (iov_iter_count(to));
> > >
> > > That isn't the best formed loop!
> > >
> > > David
> >
> > I removed the second "while" statement and fixed the arguments to
> > copy_to_iter - other than that, Al's function works.
>
> The extra while is easy to write and can be difficult to spot.
> I've found them looking as the object code before now!
That extra while comes from editing cut'n'pasted piece of
source while writing a reply. Hint: original had been a do-while.
> Oh - the error return for copy_to_iter() is wrong.
> It should (probably) return 'total' if it is nonzero.
copy_to_iter() call there has an obvious problem
(arguments in the wrong order), but return value is handled
correctly. It does not do a blind return -EFAULT. RTFS...
Powered by blists - more mailing lists