Re: [PATCH] autofs: don't stuck in a loop if vfs_write returns an error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2016-05-24 at 09:34 +0800, Ian Kent wrote:
> On Mon, 2016-05-23 at 14:50 -0700, Andrei Vagin wrote:
> > Hi Ian,
> > 
> > When are you going to apply this patch? We can't test linux-next without it.
> 
> I though I sent this with the last series but I can't see that I have.
> 
> I have the rest of that series to send over to Andrew which I was planning to
> do
> after the current merge window closes (which is about now I guess).
> 
> I'll include it in that series.
> Sorry for the hold up, ;)

Some bad news I'm afraid.

I was getting ready to send these over to Andrew and found that opendir(3) is
failing on a number of tests (51 of 230, 9 fails are expected) with 4.6.0.

It's not the patches, yours or mine and it doesn't happen with 4.4.x kernels.

Looks like I'm going to have to bisect to work out what's going on and that will
take a while.

> 
> Ian
> 
> > 
> > Thanks,
> > Andrew
> > 
> > 
> > On Fri, Apr 1, 2016 at 12:37 AM, Ian Kent <raven@xxxxxxxxxx> wrote:
> > > On Thu, 2016-03-31 at 22:12 -0700, Andrey Vagin wrote:
> > > > From: Andrey Vagin <avagin@xxxxxxxxxx>
> > > > 
> > > > __vfs_write() returns a negative value in a error case.
> > > 
> > > Ha, right, I'll send this along to Andrew with my next series which
> > > should be soon.
> > > 
> > > > 
> > > > Cc: Ian Kent <raven@xxxxxxxxxx>
> > > > Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx>
> > > > ---
> > > >  fs/autofs4/waitq.c | 7 ++++---
> > > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
> > > > index 0146d91..631f155 100644
> > > > --- a/fs/autofs4/waitq.c
> > > > +++ b/fs/autofs4/waitq.c
> > > > @@ -66,11 +66,12 @@ static int autofs4_write(struct autofs_sb_info
> > > > *sbi,
> > > >       set_fs(KERNEL_DS);
> > > > 
> > > >       mutex_lock(&sbi->pipe_mutex);
> > > > -     wr = __vfs_write(file, data, bytes, &file->f_pos);
> > > > -     while (bytes && wr) {
> > > > +     while (bytes) {
> > > > +             wr = __vfs_write(file, data, bytes, &file->f_pos);
> > > > +             if (wr <= 0)
> > > > +                     break;
> > > >               data += wr;
> > > >               bytes -= wr;
> > > > -             wr = __vfs_write(file, data, bytes, &file->f_pos);
> > > >       }
> > > >       mutex_unlock(&sbi->pipe_mutex);
--
To unsubscribe from this list: send the line "unsubscribe autofs" in



[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux