All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Tejun Heo <tj@kernel.org>
Cc: linux-ide@vger.kernel.org, jens.axboe@oracle.com,
	linux-scsi@vger.kernel.org, James.Bottomley@suse.de,
	linux-kernel@vger.kernel.org, ben@decadent.org.uk,
	davem@davemloft.net, bzolnier@gmail.com
Subject: Re: [PATCH 6/8] SCSI: implement sd_unlock_native_capacity()
Date: Wed, 02 Jun 2010 13:50:47 -0400	[thread overview]
Message-ID: <4C0699F7.20004@garzik.org> (raw)
In-Reply-To: <1273946974-29131-7-git-send-email-tj@kernel.org>

On 05/15/2010 02:09 PM, Tejun Heo wrote:
> Implement sd_unlock_native_capacity() method which calls into
> hostt->unlock_native_capacity() if implemented.  This will be invoked
> by block layer if partitions extend beyond the end of the device and
> can be used to implement, for example, on-demand ATA host protected
> area unlocking.
>
> Signed-off-by: Tejun Heo<tj@kernel.org>
> Cc: Ben Hutchings<ben@decadent.org.uk>
> ---
>   drivers/scsi/sd.c        |   22 ++++++++++++++++++++++
>   include/scsi/scsi_host.h |    8 ++++++++
>   2 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> index 8b827f3..b85906e 100644
> --- a/drivers/scsi/sd.c
> +++ b/drivers/scsi/sd.c
> @@ -97,6 +97,7 @@ MODULE_ALIAS_SCSI_DEVICE(TYPE_RBC);
>   #endif
>
>   static int  sd_revalidate_disk(struct gendisk *);
> +static void sd_unlock_native_capacity(struct gendisk *disk);
>   static int  sd_probe(struct device *);
>   static int  sd_remove(struct device *);
>   static void sd_shutdown(struct device *);
> @@ -1100,6 +1101,7 @@ static const struct block_device_operations sd_fops = {
>   #endif
>   	.media_changed		= sd_media_changed,
>   	.revalidate_disk	= sd_revalidate_disk,
> +	.unlock_native_capacity	= sd_unlock_native_capacity,
>   };
>
>   static unsigned int sd_completed_bytes(struct scsi_cmnd *scmd)
> @@ -2101,6 +2103,26 @@ static int sd_revalidate_disk(struct gendisk *disk)
>   }
>
>   /**
> + *	sd_unlock_native_capacity - unlock native capacity
> + *	@disk: struct gendisk to set capacity for
> + *
> + *	Block layer calls this function if it detects that partitions
> + *	on @disk reach beyond the end of the device.  If the SCSI host
> + *	implements ->unlock_native_capacity() method, it's invoked to
> + *	give it a chance to adjust the device capacity.
> + *
> + *	CONTEXT:
> + *	Defined by block layer.  Might sleep.
> + */
> +static void sd_unlock_native_capacity(struct gendisk *disk)
> +{
> +	struct scsi_device *sdev = scsi_disk(disk)->device;
> +
> +	if (sdev->host->hostt->unlock_native_capacity)
> +		sdev->host->hostt->unlock_native_capacity(sdev);
> +}
> +
> +/**
>    *	sd_format_disk_name - format disk name
>    *	@prefix: name prefix - ie. "sd" for SCSI disks
>    *	@index: index of the disk to format name for
> diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
> index c50a97f..b7bdecb 100644
> --- a/include/scsi/scsi_host.h
> +++ b/include/scsi/scsi_host.h
> @@ -327,6 +327,14 @@ struct scsi_host_template {
>   			sector_t, int []);
>
>   	/*
> +	 * This function is called when one or more partitions on the
> +	 * device reach beyond the end of the device.
> +	 *
> +	 * Status: OPTIONAL
> +	 */
> +	void (*unlock_native_capacity)(struct scsi_device *);
> +
> +	/*

applied 6-8, including this SCSI patch



  parent reply	other threads:[~2010-06-02 17:50 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-15 18:09 [PATCHSET] block,libata: implement ->unlock_native_capacity() Tejun Heo
2010-05-15 18:09 ` Tejun Heo
2010-05-15 18:09 ` [PATCH 1/8] buffer: make invalidate_bdev() drain all percpu LRU add caches Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-16  7:11   ` David Miller
2010-05-15 18:09 ` [PATCH 2/8] block: restart partition scan after resizing a device Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-16  7:15   ` David Miller
2010-05-15 18:09 ` [PATCH 3/8] block,ide: simplify bdops->set_capacity() to ->unlock_native_capacity() Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-15 18:48   ` Bartlomiej Zolnierkiewicz
2010-05-15 18:58     ` Tejun Heo
2010-05-16  7:15   ` David Miller
2010-05-15 18:09 ` [PATCH 4/8] block: use struct parsed_partitions *state universally in partition check code Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-16  7:16   ` David Miller
2010-05-15 18:09 ` [PATCH 5/8] block: improve automatic native capacity unlocking Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-16  7:17   ` David Miller
2010-05-15 18:09 ` [PATCH 6/8] SCSI: implement sd_unlock_native_capacity() Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-16  7:18   ` David Miller
2010-05-16 13:39   ` James Bottomley
2010-05-16 15:07     ` Ben Hutchings
2010-05-16 16:00       ` James Bottomley
2010-05-16 17:00         ` Tejun Heo
2010-05-16 19:23           ` James Bottomley
2010-05-17  5:30             ` Tejun Heo
2010-06-02 17:50   ` Jeff Garzik [this message]
2010-05-15 18:09 ` [PATCH 7/8] libata: use the enlarged capacity after late HPA unlock Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-15 19:22   ` Jeff Garzik
2010-05-16  7:18   ` David Miller
2010-05-15 18:09 ` [PATCH 8/8] libata: implement on-demand HPA unlocking Tejun Heo
2010-05-15 18:09   ` Tejun Heo
2010-05-15 19:22   ` Jeff Garzik
2010-05-16  7:19   ` David Miller
2010-05-19  7:05 ` [PATCHSET] block,libata: implement ->unlock_native_capacity() Tejun Heo
2010-05-19  7:05   ` Tejun Heo
2010-05-19  7:08   ` Jens Axboe
2010-06-02 16:37 ` Tejun Heo
2010-06-02 16:37   ` Tejun Heo

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=4C0699F7.20004@garzik.org \
    --to=jeff@garzik.org \
    --cc=James.Bottomley@suse.de \
    --cc=ben@decadent.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=davem@davemloft.net \
    --cc=jens.axboe@oracle.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=tj@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.