lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8d19d870-a9b2-d3e1-c3f1-c86d8f910e92@redhat.com>
Date:   Tue, 13 Oct 2020 13:22:38 +0200
From:   Max Reitz <mreitz@...hat.com>
To:     Stephen Rothwell <sfr@...b.auug.org.au>,
        Miklos Szeredi <miklos@...redi.hu>
Cc:     Al Viro <viro@...iv.linux.org.uk>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>,
        Miklos Szeredi <mszeredi@...hat.com>
Subject: Re: linux-next: manual merge of the fuse tree with Linus' tree

On 13.10.20 01:47, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the fuse tree got a conflict in:
> 
>   fs/fuse/file.c
> 
> between commit:
> 
>   933a3752babc ("fuse: fix the ->direct_IO() treatment of iov_iter")
> 
> from Linus' tree and commit:
> 
>   fcee216beb9c ("fuse: split fuse_mount off of fuse_conn")
> 
> from the fuse tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Thanks!  Semantically, the change looks good to me, I just noticed
something about the indentation:

> diff --cc fs/fuse/file.c
> index 43c165e796da,53d4dd1ab992..000000000000
> --- a/fs/fuse/file.c
> +++ b/fs/fuse/file.c
> @@@ -3120,17 -3156,10 +3146,18 @@@ fuse_direct_IO(struct kiocb *iocb, stru
>   	 * By default, we want to optimize all I/Os with async request
>   	 * submission to the client filesystem if supported.
>   	 */
> - 	io->async = ff->fc->async_dio;
>  -	io->async = async_dio;
> ++	io->async = ff->fm->fc->async_dio;
>   	io->iocb = iocb;
>   	io->blocking = is_sync_kiocb(iocb);
>   
>  +	/* optimization for short read */
>  +	if (io->async && !io->write && offset + count > i_size) {
> - 		iov_iter_truncate(iter, fuse_round_up(ff->fc, i_size - offset));
> ++		iov_iter_truncate(iter, fuse_round_up(ff->fm->fc,
> ++				  i_size - offset));

Personally, I’d align this second line to the opening parenthesis of
fuse_round_up() (as it is done in fcee216beb9c, in a hunk not shown
here, probably because it’s been dropped in the merge.).

Max

>  +		shortened = count - iov_iter_count(iter);
>  +		count -= shortened;
>  +	}
>  +
>   	/*
>   	 * We cannot asynchronously extend the size of a file.
>   	 * In such case the aio will behave exactly like sync io.




Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ