All of lore.kernel.org
 help / color / mirror / Atom feed
From: Goldwyn Rodrigues <rgoldwyn@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 5/9] btrfs: Use ->iomap_end() instead of btrfs_dio_data
Date: Fri, 27 Mar 2020 11:11:58 -0500	[thread overview]
Message-ID: <20200327161158.wuycoyjkcfw24lt4@fiona> (raw)
In-Reply-To: <20200327081640.GB24827@infradead.org>

On  1:16 27/03, Christoph Hellwig wrote:
> On Thu, Mar 26, 2020 at 04:02:50PM -0500, Goldwyn Rodrigues wrote:
> > From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> > 
> > Use iomap->iomap_end() to check for failed or incomplete writes and call
> > __endio_write_update_ordered(). We don't need btrfs_dio_data anymore so
> > remove that. The bonus is we don't abuse current->journal_info anymore.
> > 
> > A new structure btrfs_iomap is used to keep a count of submitted I/O
> > for writes.
> 
> I don't think you need a new structure.  As writes are limited to a
> size_t (aka long) you can just case iomap->private.  That is a little
> ugly, but we can just switch the private field to an union, something
> like the patch below.  If I'm missing a reason why it has to be 64-bit
> even on 32-bit kernels we can also grow the size a little on 32-bit
> kernels, but right now I don't think that is needed unless I'm missing
> something.

This would be an better approach as opposed to allocating and
deallocating. I was trying not to disrupt the iomap code ;)
Yes, 32-bits works just as well.

> 
> ---
> From e496cd3db3e7420050be19c5fe68e4675f5a2abc Mon Sep 17 00:00:00 2001
> From: Christoph Hellwig <hch@lst.de>
> Date: Fri, 27 Mar 2020 09:14:34 +0100
> Subject: iomap: turn iomap->private into an union
> 
> Make using the union a little easier for scalar values.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  include/linux/iomap.h | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/iomap.h b/include/linux/iomap.h
> index 8b09463dae0d..61fea687d93d 100644
> --- a/include/linux/iomap.h
> +++ b/include/linux/iomap.h
> @@ -85,7 +85,10 @@ struct iomap {
>  	struct block_device	*bdev;	/* block device for I/O */
>  	struct dax_device	*dax_dev; /* dax_dev for dax operations */
>  	void			*inline_data;
> -	void			*private; /* filesystem private */
> +	union {				/* filesystem private data */
> +		void		*ptr;
> +		uintptr_t	uint;
> +	} private;
>  	const struct iomap_page_ops *page_ops;
>  };
>  


Thanks. Will include this.

-- 
Goldwyn

  reply	other threads:[~2020-03-27 16:12 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-26 21:02 [PATCH 0/9 v7] btrfs direct-io using iomap Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 1/9] fs: Export generic_file_buffered_read() Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 2/9] iomap: add a filesystem hook for direct I/O bio submission Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 3/9] iomap: Remove lockdep_assert_held() Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 4/9] btrfs: Switch to iomap_dio_rw() for dio Goldwyn Rodrigues
2020-03-27  8:10   ` Christoph Hellwig
2020-03-27 16:13     ` Goldwyn Rodrigues
2020-05-07  6:14       ` Christoph Hellwig
2020-05-07 11:37         ` David Sterba
2020-05-07 12:10           ` Christoph Hellwig
2020-05-07 13:44             ` Goldwyn Rodrigues
2020-05-08  3:14             ` Goldwyn Rodrigues
2020-05-09 13:59               ` Christoph Hellwig
2020-05-10  4:06                 ` Goldwyn Rodrigues
2020-05-12 14:58                   ` Christoph Hellwig
2020-05-12 17:19                     ` Goldwyn Rodrigues
2020-05-15 14:13                       ` Christoph Hellwig
2020-05-18 14:36                         ` Goldwyn Rodrigues
2020-05-19 20:11                         ` Goldwyn Rodrigues
2020-05-20  6:11                           ` Christoph Hellwig
2020-05-22 11:36                           ` David Sterba
2020-05-22 12:08                             ` Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 5/9] btrfs: Use ->iomap_end() instead of btrfs_dio_data Goldwyn Rodrigues
2020-03-27  8:16   ` Christoph Hellwig
2020-03-27 16:11     ` Goldwyn Rodrigues [this message]
2020-03-26 21:02 ` [PATCH 6/9] fs: Remove dio_end_io() Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 7/9] btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 8/9] btrfs: btrfs: split btrfs_direct_IO Goldwyn Rodrigues
2020-03-26 21:02 ` [PATCH 9/9] btrfs: unlock extents in ->iomap_end() for DIO reads Goldwyn Rodrigues
2020-03-27 15:56 ` [PATCH 0/9 v7] btrfs direct-io using iomap David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200327161158.wuycoyjkcfw24lt4@fiona \
    --to=rgoldwyn@suse.de \
    --cc=hch@infradead.org \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.