public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Christoph Hellwig <hch@lst.de>
Cc: viro@parcelfarce.linux.theplanet.co.uk, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] fs-private data in struct block_device
Date: Thu, 1 Jan 2004 15:10:17 -0800	[thread overview]
Message-ID: <20040101151017.3f7bc407.akpm@osdl.org> (raw)
In-Reply-To: <20040101164219.GB654@lst.de>

Christoph Hellwig <hch@lst.de> wrote:
>
> Al had some critism about a per-blockdev XFS datastructure a while ago
> and so I tried to follow the suggestion in favour of using struct
> block_device directly.  Unfortunately XFS requires a little bit more
> information than what's available in struct block_device, in particular
> whether the blocksize (not sector size) for that devices is identical
> to the page size, and we can't really get that from elsewhere due to
> layering constraints.

Why doesn't `if (bdev->bd_block_size == PAGE_SIZE)' work?

Or sb->s_blocksize?

Generally, redundant info like this is a hassle because it has to be kept
coherent with the thing which it is duplicating.

I suspect I don't understand the problem.

> Nathan Scott scott suggested turning the bd_invalidated fields into a
> flags field where the filesystem uses the so far unused flags for it's
> purposed (similar to struct buffer_head), but I think maybe the variant
> below that just adds a unsigned long for filesystem usage might be more
> useful as it also allows storing a pointer if needed.  Comments?
> 
> 
> --- 1.276/include/linux/fs.h	Mon Dec 29 22:37:20 2003
> +++ edited/include/linux/fs.h	Thu Jan  1 13:42:08 2004
> @@ -353,6 +353,7 @@
>  	int			bd_invalidated;
>  	struct gendisk *	bd_disk;
>  	struct list_head	bd_list;
> +	unsigned long		bd_fspriv; /* file-system private data */
>  };
>  
>  /*

Seems sane.  You'll need to decide whether that field should be operated
upon with atomic ops.  If so, document it.  If not, document its locking,
please.


  reply	other threads:[~2004-01-01 23:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-01 16:42 [PATCH] fs-private data in struct block_device Christoph Hellwig
2004-01-01 23:10 ` Andrew Morton [this message]
2004-01-01 23:21   ` viro
2004-01-01 23:23     ` Christoph Hellwig
2004-01-01 23:28       ` viro
2004-01-01 23:32         ` Christoph Hellwig
2004-01-04 22:04           ` Randy.Dunlap
2004-01-01 23:22   ` Christoph Hellwig
2004-01-02  2:43   ` Jeff Garzik
2004-01-02  8:48     ` Christoph Hellwig

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=20040101151017.3f7bc407.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=hch@lst.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=viro@parcelfarce.linux.theplanet.co.uk \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox