From: Andrew Patterson <andrew.patterson@hp.com>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: linux-scsi@vger.kernel.org,
James.Bottomley@HansenPartnership.com,
linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk,
andmike@linux.vnet.ibm.com, mike.miller@hp.com,
genanr@emsphone.com, jmoyer@redhat.com
Subject: Re: [PATCH 0/6] detect online disk resize
Date: Thu, 04 Sep 2008 08:25:00 -0600 [thread overview]
Message-ID: <1220538300.6601.21.camel@grinch> (raw)
In-Reply-To: <20080904072651.GX20055@kernel.dk>
On Thu, 2008-09-04 at 09:26 +0200, Jens Axboe wrote:
> On Fri, Aug 29 2008, Andrew Patterson wrote:
> > This is version 2 of a patch series I submitted back in May 2008. This
> > version now checks for device size changes in the rescan_partitions()
> > routine. Which in turn is called when a device is opened and in the
> > BLKRRPART ioctl.
> >
> > I am resubmitting this patch series as I got little response the
> > previous time. Al Viro has told me offline that he would look at it this
> > time.
> >
> > This patch series handles online disk resizes that are currently not
> > completely recognized by the kernel using the existing revalidate_disk
> > routines. An online resize can occur when growing or shrinking a
> > Fibre Channel LUN or perhaps by adding a disk to an existing RAID
> > volume.
> >
> > The kernel currently recognizes a device size change when the
> > lower-level revalidate_disk routines are called; however, the block
> > layer does not use the new size while it has any current openers on
> > the device. So, for example, if LVM has an volume open on the device,
> > you will generally not see the size change until after a reboot. We
> > fix this problem by creating a wrapper to be used with lower-level
> > revalidate_disk routines. This wrapper first calls the lower-level
> > driver's revalidate_disk routine. It then compares the gendisk
> > capacity to the block devices inode size. If there is a difference, we
> > adjust the block device's size. If the size has changed, we then flush
> > the disk for safety. The size is also checked in rescan_partitions
> > which is called when the device is opened or when the BLKRRPART ioctl
> > is called.
> >
> > There are several ways to "kick off" a device size change:
> >
> > 1. For SCSI devices do:
> >
> > # echo 1 > /sys/class/scsi_device/<device>/device/rescan
> >
> > or
> >
> > # blockdev --rereadpt <device file>
> >
> > 2. Other devices (not device mapper)
> >
> > # blockdev --rereadpt <device file>
> >
> > I have tested this patch on SCSI and SmartArray (cciss)
> > devices. Device mapper still does not recognize device size changes
> > until the device is restarted.
> >
> > Jeff Moyer and Andy Ryan have done some light testing on the previous
> > version of this series.
> >
> > This patch set has been tested with scsi-misc-2.6. It also applies to
> > linux-next with some minor, obvious changes.
>
> This version looks sane to me. Care to resend against for-2.6.28 of the
> block repo?
Will do. Thanks
Andrew
next prev parent reply other threads:[~2008-09-04 14:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-29 23:12 [PATCH 0/6] detect online disk resize Andrew Patterson
2008-08-29 23:13 ` [PATCH 1/6] Wrapper for lower-level revalidate_disk routines Andrew Patterson
2008-09-03 18:16 ` Jeff Moyer
2008-08-29 23:13 ` [PATCH 2/6] Adjust block device size after an online resize of a disk Andrew Patterson
2008-09-03 18:17 ` Jeff Moyer
2008-08-29 23:13 ` [PATCH 3/6] Check for device resize when rescanning partitions Andrew Patterson
2008-09-03 18:17 ` Jeff Moyer
2008-08-29 23:13 ` [PATCH 4/6] SCSI sd driver calls revalidate_disk wrapper Andrew Patterson
2008-09-03 18:17 ` Jeff Moyer
2008-08-29 23:13 ` [PATCH 5/6] Added flush_disk to factor out common buffer cache flushing code Andrew Patterson
2008-09-03 18:19 ` Jeff Moyer
2008-09-04 4:16 ` Andrew Patterson
2008-09-04 13:13 ` Jeff Moyer
2008-08-29 23:13 ` [PATCH 6/6] Call flush_disk() after detecting an online resize Andrew Patterson
2008-09-03 18:20 ` Jeff Moyer
2008-09-04 7:26 ` [PATCH 0/6] detect online disk resize Jens Axboe
2008-09-04 14:25 ` Andrew Patterson [this message]
2008-09-08 18:01 ` Jeff Moyer
2008-09-09 7:41 ` Pasi Kärkkäinen
2008-09-24 15:23 ` Vladislav Bolkhovitin
-- strict thread matches above, loose matches on Subject: below --
2008-09-04 20:27 Andrew Patterson
2008-09-05 7:02 ` Jens Axboe
2008-09-05 8:21 ` Pasi Kärkkäinen
2008-09-05 15:15 ` Andrew Patterson
2008-09-05 15:15 ` Andrew Patterson
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=1220538300.6601.21.camel@grinch \
--to=andrew.patterson@hp.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=andmike@linux.vnet.ibm.com \
--cc=genanr@emsphone.com \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mike.miller@hp.com \
--cc=viro@zeniv.linux.org.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 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.