All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Ju. Tokarev" <mjt@tls.msk.ru>
To: linux-lvm@sistina.com
Subject: Re: [linux-lvm] Using Oracle with lvm AND rawio: read(512) from
Date: Sun, 03 Dec 2000 04:34:22 +0300	[thread overview]
Message-ID: <3A29A31E.BC6A6243@tls.msk.ru> (raw)
In-Reply-To: 3A298498.86AB907B@tls.msk.ru

"Michael Ju. Tokarev" wrote:
> 
> The only way I have to try is to use stock kernel with clean lvm
> patch, that I'll do at monday.

Ok, installed now:
  stock 2.2.17 kernel with
    rawio patch (from lvm source)
    lvm-0.9-2.2.17-stock.patch
  lvmtools 0.9

 # raw /dev/raw/raw100 /dev/vg0/lv0
 /dev/raw/raw100:        bound to major 58, minor 0
 # dd if=/dev/zero of=/dev/raw/raw100 bs=512
 dd: /dev/raw/raw100: Invalid argument
 1+0 records in
 0+0 records out
 # _

 # raw /dev/raw/raw100 /dev/sda4
 dev/raw/raw100:        bound to major 8, minor 4
 # dd if=/dev/zero of=/dev/raw/raw100 bs=512
 dd: /dev/raw/raw100: No such device or address
 131073+0 records in
 131072+0 records out
 # _

So, as I can see, "stock lvm" also won't work with rawio
with 512-byte block i/o, while disk partition with rawio
is pretty happy with that block size.

Question: *why* lvm+rawio won't work with 512-bytes i/o?
And this is not an oracle question, oracle here is just
an example application that really uses 512-byte i/o.

I see in linux/include/linux/lvm.h :

 [...]
 #ifdef BLOCK_SIZE
 #undef BLOCK_SIZE
 #endif

 #ifdef CONFIG_ARCH_S390 
 #define BLOCK_SIZE     4096
 #else
 #define BLOCK_SIZE     1024  <<<<<<<<<========
 #endif

 #ifndef        SECTOR_SIZE
 #define SECTOR_SIZE    512
 #endif
 [...]

I'm not shure if it is legal to change this value...

Next 2 questions: can I change this value to 512?
And will this cure the problem?  For now I can't
experiment as I have no physical access to that
machine (only over dialup modem), and I wan't to
risk rebooting it again with unknown kernel...

BTW, why it ever defined?  I see that this value used
to initialize lvm_blocksizes[] static array, and that
array isn't changed anywhere, only read.  And only
in lvm_snap.c, if #defined DEBUG_SNAPSHOT (it will not
compile if this #defined, since that array referenced
here is static in other source) it is checked if underlying
device has different block size, and that value 
instead in further calculations.
Why lvm_blocksize[] is used@all while it is constant
array ?! ;)

Little *strong* suggestion.  Please rename BLOCK_SIZE
and SECTOR_SIZE to LVM_BLOCK_SIZE and LVM_SECTOR_SIZE
in lvm.h -- currently used names are very common to
be a source of namespace collisions.

Regards,
 Michael.

  reply	other threads:[~2000-12-03  1:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-01 21:28 [linux-lvm] Using Oracle with lvm AND rawio: read(512) from /dev/raw/ Michael Tokarev
2000-12-01 23:22 ` Andreas Dilger
2000-12-02  0:35   ` Michael Ju. Tokarev
2000-12-02  5:29     ` [linux-lvm] Using Oracle with lvm AND rawio: read(512) from Andreas Dilger
2000-12-02 23:24       ` Michael Ju. Tokarev
2000-12-03  1:34         ` Michael Ju. Tokarev [this message]
2000-12-04  8:42           ` Michael Ju. Tokarev
2000-12-04 14:14             ` Jorg de Jong
2000-12-04 14:42               ` Michael Tokarev
2000-12-04 14:45             ` Michael Tokarev
2000-12-04 15:16               ` Michael Tokarev
2000-12-04 19:35                 ` Jorg de Jong
2000-12-04 20:01                   ` [linux-lvm] Final Q: i/o with 512 bytes: lvm+raw... [was: Oracle, lvm, rawio, ...] Michael Tokarev
2000-12-02 10:45     ` [linux-lvm] Using Oracle with lvm AND rawio: read(512) from /dev/raw/ Christoph Hellwig
2000-12-02 20:46 ` Jorg de Jong

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=3A29A31E.BC6A6243@tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=linux-lvm@sistina.com \
    /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.