Re: [GIT PULL] Block driver changes for 5.9-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/4/20 9:39 AM, Jens Axboe wrote:
> Hi Linus,
> 
> Changes in this pull request:
> 
> - NVMe
> 	- ZNS support (Aravind, Keith, Matias, Niklas)
> 	- Misc cleanups, optimizations, fixes (Baolin, Chaitanya, David,
> 		Dongli, Max, Sagi)
> 
> - null_blk zone capacity support (Aravind)
> 
> - MD
> 	- raid5/6 fixes (ChangSyun)
> 	- Warning fixes (Damien)
> 	- raid5 stripe fixes (Guoqing, Song, Yufen)
> 	- sysfs deadlock fix (Junxiao)
> 	- raid10 deadlock fix (Vitaly)
> 
> - struct_size conversions (Gustavo)
> 
> - Set of bcache updates/fixes (Coly)
> 
> 
> Please pull!

Forgot to mention that this will trigger a merge conflict with master,
due to this commit that went in late for 5.8:

commit 5bedd3afee8eb01ccd256f0cd2cc0fa6f841417a
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Tue Jul 28 13:09:03 2020 +0200

    nvme: add a Identify Namespace Identification Descriptor list quirk

and the resolution is simple, just delete the identified section. Below
is my merge:

diff --cc drivers/nvme/host/core.c
index 6bdcdd984394,05aa568a60af..767d62985bba
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@@ -1097,14 -1270,10 +1270,13 @@@ static int nvme_identify_ns_descs(struc
  		struct nvme_ns_ids *ids)
  {
  	struct nvme_command c = { };
- 	int status;
+ 	bool csi_seen = false;
+ 	int status, pos, len;
  	void *data;
- 	int pos;
- 	int len;
  
 +	if (ctrl->quirks & NVME_QUIRK_NO_NS_DESC_LIST)
 +		return 0;
 +
  	c.identify.opcode = nvme_admin_identify;
  	c.identify.nsid = cpu_to_le32(nsid);
  	c.identify.cns = NVME_ID_CNS_NS_DESC_LIST;
diff --cc drivers/nvme/host/nvme.h
index 9c5b82af7978,c5c1bac797aa..ebb8c3ed3885
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@@ -699,11 -727,38 +744,41 @@@ static inline void nvme_mpath_wait_free
  static inline void nvme_mpath_start_freeze(struct nvme_subsystem *subsys)
  {
  }
 +static inline void nvme_mpath_update_disk_size(struct gendisk *disk)
 +{
 +}
  #endif /* CONFIG_NVME_MULTIPATH */
  
+ #ifdef CONFIG_BLK_DEV_ZONED
+ int nvme_update_zone_info(struct gendisk *disk, struct nvme_ns *ns,
+ 			  unsigned lbaf);
+ 
+ int nvme_report_zones(struct gendisk *disk, sector_t sector,
+ 		      unsigned int nr_zones, report_zones_cb cb, void *data);
+ 
+ blk_status_t nvme_setup_zone_mgmt_send(struct nvme_ns *ns, struct request *req,
+ 				       struct nvme_command *cmnd,
+ 				       enum nvme_zone_mgmt_action action);
+ #else
+ #define nvme_report_zones NULL
+ 
+ static inline blk_status_t nvme_setup_zone_mgmt_send(struct nvme_ns *ns,
+ 		struct request *req, struct nvme_command *cmnd,
+ 		enum nvme_zone_mgmt_action action)
+ {
+ 	return BLK_STS_NOTSUPP;
+ }
+ 
+ static inline int nvme_update_zone_info(struct gendisk *disk,
+ 					struct nvme_ns *ns,
+ 					unsigned lbaf)
+ {
+ 	dev_warn(ns->ctrl->device,
+ 		 "Please enable CONFIG_BLK_DEV_ZONED to support ZNS devices\n");
+ 	return -EPROTONOSUPPORT;
+ }
+ #endif
+ 
  #ifdef CONFIG_NVM
  int nvme_nvm_register(struct nvme_ns *ns, char *disk_name, int node);
  void nvme_nvm_unregister(struct nvme_ns *ns);

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux