All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: linux-nvme@lists.infradead.org
Cc: Jens Axboe <axboe@kernel.dk>, Keith Busch <keith.busch@intel.com>,
	Sagi Grimberg <sagi@grimberg.me>, Hannes Reinecke <hare@suse.de>,
	linux-block@vger.kernel.org
Subject: [PATCH 02/14] block: don't print a message when the device went away
Date: Sat, 26 May 2018 12:27:23 +0200	[thread overview]
Message-ID: <20180526102735.31404-3-hch@lst.de> (raw)
In-Reply-To: <20180526102735.31404-1-hch@lst.de>

The information about a size change in this case just creates confusion.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/partition-generic.c |  4 ++--
 fs/block_dev.c            | 14 +++++++++-----
 include/linux/fs.h        |  2 +-
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/block/partition-generic.c b/block/partition-generic.c
index db57cced9b98..9fe4816a1289 100644
--- a/block/partition-generic.c
+++ b/block/partition-generic.c
@@ -518,7 +518,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
 
 	if (disk->fops->revalidate_disk)
 		disk->fops->revalidate_disk(disk);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, true);
 	bdev->bd_invalidated = 0;
 	if (!get_capacity(disk) || !(state = check_partition(disk, bdev)))
 		return 0;
@@ -643,7 +643,7 @@ int invalidate_partitions(struct gendisk *disk, struct block_device *bdev)
 		return res;
 
 	set_capacity(disk, 0);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, false);
 	bdev->bd_invalidated = 0;
 	/* tell userspace that the media / partition table may have changed */
 	kobject_uevent(&disk_to_dev(disk)->kobj, KOBJ_CHANGE);
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 771ddfa29dc9..81c57c14fae8 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1322,21 +1322,25 @@ static void flush_disk(struct block_device *bdev, bool kill_dirty)
  * check_disk_size_change - checks for disk size change and adjusts bdev size.
  * @disk: struct gendisk to check
  * @bdev: struct bdev to adjust.
+ * @verbose: if %true log a message about a size change if there is any
  *
  * This routine checks to see if the bdev size does not match the disk size
  * and adjusts it if it differs. When shrinking the bdev size, its all caches
  * are freed.
  */
-void check_disk_size_change(struct gendisk *disk, struct block_device *bdev)
+void check_disk_size_change(struct gendisk *disk, struct block_device *bdev,
+		bool verbose)
 {
 	loff_t disk_size, bdev_size;
 
 	disk_size = (loff_t)get_capacity(disk) << 9;
 	bdev_size = i_size_read(bdev->bd_inode);
 	if (disk_size != bdev_size) {
-		printk(KERN_INFO
-		       "%s: detected capacity change from %lld to %lld\n",
-		       disk->disk_name, bdev_size, disk_size);
+		if (verbose) {
+			printk(KERN_INFO
+			       "%s: detected capacity change from %lld to %lld\n",
+			       disk->disk_name, bdev_size, disk_size);
+		}
 		i_size_write(bdev->bd_inode, disk_size);
 		if (bdev_size > disk_size)
 			flush_disk(bdev, false);
@@ -1363,7 +1367,7 @@ int revalidate_disk(struct gendisk *disk)
 		return ret;
 
 	mutex_lock(&bdev->bd_mutex);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, ret == 0);
 	bdev->bd_invalidated = 0;
 	mutex_unlock(&bdev->bd_mutex);
 	bdput(bdev);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 760d8da1b6c7..d8d4831af9ff 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2570,7 +2570,7 @@ extern bool is_bad_inode(struct inode *);
 
 #ifdef CONFIG_BLOCK
 extern void check_disk_size_change(struct gendisk *disk,
-				   struct block_device *bdev);
+		struct block_device *bdev, bool verbose);
 extern int revalidate_disk(struct gendisk *);
 extern int check_disk_change(struct block_device *);
 extern int __invalidate_device(struct block_device *, bool);
-- 
2.17.0

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 02/14] block: don't print a message when the device went away
Date: Sat, 26 May 2018 12:27:23 +0200	[thread overview]
Message-ID: <20180526102735.31404-3-hch@lst.de> (raw)
In-Reply-To: <20180526102735.31404-1-hch@lst.de>

The information about a size change in this case just creates confusion.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 block/partition-generic.c |  4 ++--
 fs/block_dev.c            | 14 +++++++++-----
 include/linux/fs.h        |  2 +-
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/block/partition-generic.c b/block/partition-generic.c
index db57cced9b98..9fe4816a1289 100644
--- a/block/partition-generic.c
+++ b/block/partition-generic.c
@@ -518,7 +518,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
 
 	if (disk->fops->revalidate_disk)
 		disk->fops->revalidate_disk(disk);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, true);
 	bdev->bd_invalidated = 0;
 	if (!get_capacity(disk) || !(state = check_partition(disk, bdev)))
 		return 0;
@@ -643,7 +643,7 @@ int invalidate_partitions(struct gendisk *disk, struct block_device *bdev)
 		return res;
 
 	set_capacity(disk, 0);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, false);
 	bdev->bd_invalidated = 0;
 	/* tell userspace that the media / partition table may have changed */
 	kobject_uevent(&disk_to_dev(disk)->kobj, KOBJ_CHANGE);
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 771ddfa29dc9..81c57c14fae8 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1322,21 +1322,25 @@ static void flush_disk(struct block_device *bdev, bool kill_dirty)
  * check_disk_size_change - checks for disk size change and adjusts bdev size.
  * @disk: struct gendisk to check
  * @bdev: struct bdev to adjust.
+ * @verbose: if %true log a message about a size change if there is any
  *
  * This routine checks to see if the bdev size does not match the disk size
  * and adjusts it if it differs. When shrinking the bdev size, its all caches
  * are freed.
  */
-void check_disk_size_change(struct gendisk *disk, struct block_device *bdev)
+void check_disk_size_change(struct gendisk *disk, struct block_device *bdev,
+		bool verbose)
 {
 	loff_t disk_size, bdev_size;
 
 	disk_size = (loff_t)get_capacity(disk) << 9;
 	bdev_size = i_size_read(bdev->bd_inode);
 	if (disk_size != bdev_size) {
-		printk(KERN_INFO
-		       "%s: detected capacity change from %lld to %lld\n",
-		       disk->disk_name, bdev_size, disk_size);
+		if (verbose) {
+			printk(KERN_INFO
+			       "%s: detected capacity change from %lld to %lld\n",
+			       disk->disk_name, bdev_size, disk_size);
+		}
 		i_size_write(bdev->bd_inode, disk_size);
 		if (bdev_size > disk_size)
 			flush_disk(bdev, false);
@@ -1363,7 +1367,7 @@ int revalidate_disk(struct gendisk *disk)
 		return ret;
 
 	mutex_lock(&bdev->bd_mutex);
-	check_disk_size_change(disk, bdev);
+	check_disk_size_change(disk, bdev, ret == 0);
 	bdev->bd_invalidated = 0;
 	mutex_unlock(&bdev->bd_mutex);
 	bdput(bdev);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 760d8da1b6c7..d8d4831af9ff 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2570,7 +2570,7 @@ extern bool is_bad_inode(struct inode *);
 
 #ifdef CONFIG_BLOCK
 extern void check_disk_size_change(struct gendisk *disk,
-				   struct block_device *bdev);
+		struct block_device *bdev, bool verbose);
 extern int revalidate_disk(struct gendisk *);
 extern int check_disk_change(struct block_device *);
 extern int __invalidate_device(struct block_device *, bool);
-- 
2.17.0

  parent reply	other threads:[~2018-05-26 10:27 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-26 10:27 nvme/nvmet AEN and log page fixups Christoph Hellwig
2018-05-26 10:27 ` Christoph Hellwig
2018-05-26 10:27 ` [PATCH 01/14] block: unexport check_disk_size_change Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:33   ` Johannes Thumshirn
2018-05-28  6:33     ` Johannes Thumshirn
2018-05-26 10:27 ` Christoph Hellwig [this message]
2018-05-26 10:27   ` [PATCH 02/14] block: don't print a message when the device went away Christoph Hellwig
2018-05-28  6:34   ` Johannes Thumshirn
2018-05-28  6:34     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 03/14] nvme.h: untangle AEN notice definitions Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:35   ` Johannes Thumshirn
2018-05-28  6:35     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 04/14] nvme.h: add the changed namespace list log Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:35   ` Johannes Thumshirn
2018-05-28  6:35     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 05/14] nvme.h: add AER configuration symbols Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:35   ` Johannes Thumshirn
2018-05-28  6:35     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 06/14] nvmet: add a new nvmet_zero_sgl helper Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:36   ` Johannes Thumshirn
2018-05-28  6:36     ` Johannes Thumshirn
2018-05-29  8:13     ` Christoph Hellwig
2018-05-29  8:13       ` Christoph Hellwig
2018-05-26 10:27 ` [PATCH 07/14] nvmet: split log page implementation Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:38   ` Johannes Thumshirn
2018-05-28  6:38     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 08/14] nvmet: implement the changed namespaces log Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:53   ` Johannes Thumshirn
2018-05-28  6:53     ` Johannes Thumshirn
2018-05-29  8:17     ` Christoph Hellwig
2018-05-29  8:17       ` Christoph Hellwig
2018-05-29  8:16       ` Johannes Thumshirn
2018-05-29  8:16         ` Johannes Thumshirn
2018-05-29  8:24         ` Christoph Hellwig
2018-05-29  8:24           ` Christoph Hellwig
2018-05-29 16:59   ` Verkamp, Daniel
2018-05-29 16:59     ` Verkamp, Daniel
2018-05-29 17:24     ` Christoph Hellwig
2018-05-29 17:24       ` Christoph Hellwig
2018-05-29 20:44       ` Daniel Verkamp
2018-05-29 20:44         ` Daniel Verkamp
2018-05-26 10:27 ` [PATCH 09/14] nvmet: Add AEN configuration support Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:54   ` Johannes Thumshirn
2018-05-28  6:54     ` Johannes Thumshirn
2018-05-29 17:15   ` Verkamp, Daniel
2018-05-29 17:15     ` Verkamp, Daniel
2018-05-29 17:29     ` Christoph Hellwig
2018-05-29 17:29       ` Christoph Hellwig
2018-05-29 17:35       ` Verkamp, Daniel
2018-05-29 17:35         ` Verkamp, Daniel
2018-05-29 17:45         ` Christoph Hellwig
2018-05-29 17:45           ` Christoph Hellwig
2018-05-26 10:27 ` [PATCH 10/14] nvmet: mask pending AERs Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:56   ` Johannes Thumshirn
2018-05-28  6:56     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 11/14] nvme: submit AEN event configuration on startup Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:56   ` Johannes Thumshirn
2018-05-28  6:56     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 12/14] nvme: mark nvme_queue_scan static Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  6:57   ` Johannes Thumshirn
2018-05-28  6:57     ` Johannes Thumshirn
2018-05-26 10:27 ` [PATCH 13/14] nvme: use the changed namespaces list log to clear ns data changed AENs Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-26 12:05   ` Popuri, Sriram
2018-05-26 12:05     ` Popuri, Sriram
2018-05-26 12:21     ` Christoph Hellwig
2018-05-26 12:21       ` Christoph Hellwig
2018-05-26 13:02       ` Knight, Frederick
2018-05-28  6:59   ` Johannes Thumshirn
2018-05-28  6:59     ` Johannes Thumshirn
2018-06-04 19:59   ` Keith Busch
2018-06-04 19:59     ` Keith Busch
2018-06-05  4:47     ` Christoph Hellwig
2018-06-05  4:47       ` Christoph Hellwig
2018-06-05 14:37       ` Keith Busch
2018-06-05 14:37         ` Keith Busch
2018-05-26 10:27 ` [PATCH 14/14] nvme: limit warnings from nvme_identify_ns Christoph Hellwig
2018-05-26 10:27   ` Christoph Hellwig
2018-05-28  7:00   ` Johannes Thumshirn
2018-05-28  7:00     ` Johannes Thumshirn

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=20180526102735.31404-3-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=hare@suse.de \
    --cc=keith.busch@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /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.