Re: [PATCH 06/12] audit: Use timespec64 to represent audit timestamps
On Sat, Apr 8, 2017 at 5:58 PM, Deepa Dinamani wrote: >> I have no problem merging this patch into audit/next for v4.12, would >> you prefer me to do that so at least this patch is merged? > > This would be fine. > But, I think whoever takes the last 2 deletion patches should also take them. > I'm not sure how that part works out. > >> It would probably make life a small bit easier for us in the audit >> world too as it would reduce the potential merge conflict. However, >> that's a relatively small thing to worry about. As Andrew has picked the remaining patches up into -mm, this will work out fine: any patches picked up by the respective maintainers for v4.12 should arrive as git pull requests before the -mm patches get applied at a later stage of the merge window. Arnd ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[Patch v2 2/2] lustre: fix coding style issue
Comparison should have the CONSTANT on the right side of the test Signed-off-by: Rishiraj Manwatkar --- drivers/staging/lustre/lustre/obdclass/cl_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_io.c b/drivers/staging/lustre/lustre/obdclass/cl_io.c index 0997254..bec112f 100755 --- a/drivers/staging/lustre/lustre/obdclass/cl_io.c +++ b/drivers/staging/lustre/lustre/obdclass/cl_io.c @@ -58,7 +58,7 @@ static inline int cl_io_type_is_valid(enum cl_io_type type) { - return CIT_READ <= type && type < CIT_OP_NR; + return type >= CIT_READ && type < CIT_OP_NR; } static inline int cl_io_is_loopable(const struct cl_io *io) @@ -389,7 +389,7 @@ void cl_io_unlock(const struct lu_env *env, struct cl_io *io) const struct cl_io_slice *scan; LASSERT(cl_io_is_loopable(io)); - LASSERT(CIS_IT_STARTED <= io->ci_state && io->ci_state < CIS_UNLOCKED); + LASSERT(io->ci_state >= CIS_IT_STARTED && io->ci_state < CIS_UNLOCKED); LINVRNT(cl_io_invariant(io)); set = &io->ci_lockset; -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[Patch v2 1/2] lustre: Parantheses added for Macro argument to avoid precedence issues
From: RishirajAM Parantheses are added for Macro argument, to avoid precedence issues. Signed-off-by: Rishiraj Manwatkar --- drivers/staging/lustre/lustre/obdclass/cl_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_io.c b/drivers/staging/lustre/lustre/obdclass/cl_io.c index ee7d677..0997254 100755 --- a/drivers/staging/lustre/lustre/obdclass/cl_io.c +++ b/drivers/staging/lustre/lustre/obdclass/cl_io.c @@ -52,9 +52,9 @@ */ #define cl_io_for_each(slice, io) \ - list_for_each_entry((slice), &io->ci_layers, cis_linkage) + list_for_each_entry((slice), &(io)->ci_layers, cis_linkage) #define cl_io_for_each_reverse(slice, io) \ - list_for_each_entry_reverse((slice), &io->ci_layers, cis_linkage) + list_for_each_entry_reverse((slice), &(io)->ci_layers, cis_linkage) static inline int cl_io_type_is_valid(enum cl_io_type type) { -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [Patch v2 1/2] lustre: Parantheses added for Macro argument to avoid precedence issues
On Sat, Apr 15, 2017 at 11:25:00AM +, Rishiraj Manwatkar wrote: > From: RishirajAM > > Parantheses are added for Macro argument, to avoid precedence issues. > > Signed-off-by: Rishiraj Manwatkar > --- > drivers/staging/lustre/lustre/obdclass/cl_io.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) What changed from v1? Always put that below the --- line. And your From: line doesn't match your signed-off-by name, that's not ok. > > diff --git a/drivers/staging/lustre/lustre/obdclass/cl_io.c > b/drivers/staging/lustre/lustre/obdclass/cl_io.c > index ee7d677..0997254 100755 > --- a/drivers/staging/lustre/lustre/obdclass/cl_io.c > +++ b/drivers/staging/lustre/lustre/obdclass/cl_io.c > @@ -52,9 +52,9 @@ > */ > > #define cl_io_for_each(slice, io) \ > - list_for_each_entry((slice), &io->ci_layers, cis_linkage) > + list_for_each_entry((slice), &(io)->ci_layers, cis_linkage) What 'precidence' issue is this fixing? How could that ever be incorrect? Really, this macro just needs to go away and be used "as is" anyway... thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [Patch v2 2/2] lustre: fix coding style issue
On Sat, Apr 15, 2017 at 11:25:11AM +, Rishiraj Manwatkar wrote: > Comparison should have the CONSTANT on the right side of the test Your subject needs to be better :( thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 09/22] dm-crypt: Make use of the new sg_map helper in 4 call sites
On 04/14/2017 06:03 PM, Logan Gunthorpe wrote: > > > On 14/04/17 02:39 AM, Christoph Hellwig wrote: >> On Thu, Apr 13, 2017 at 04:05:22PM -0600, Logan Gunthorpe wrote: >>> Very straightforward conversion to the new function in all four spots. >> >> I think the right fix here is to switch dm-crypt to the ahash API >> that takes a scatterlist. > > Hmm, well I'm not sure I understand the code enough to make that > conversion. But I was looking at it. One tricky bit seems to be that > crypt_iv_lmk_one adds a seed, skips the first 16 bytes in the page and > then hashes another 16 bytes from other data. What would you do > construct a new sgl for it and pass it to the ahash api? > > The other thing is crypt_iv_lmk_post also seems to modify the page after > the hash with a crypto_xor so you'd still need at least one kmap in there. yes, it is in fact modification of CBC mode implemented this hacky way. These IVs are only for compatibility with loopaes and very old trueCrypt formats. I think your patch is ok (if it is just plain conversion), if it is really needed, we can switch to ahash later in follow-up patch. All common code in dmcrypt uses async API already. p.s. there is a lot of lists on cc, but for this patch is missing dm-devel, dmcrypt changes need to go through Mike's tree (I added dm-devel to cc:) Milan ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 0/3] staging: rtl8188eu: fix sparse signedness mismatch warnings
Suppress all sparse signedness mismatch warnings generated by- make C=2 M=drivers/staging/rtl8188eu/ CF="-Wtypesign" Aishwarya Pant (3): staging: rtl8188eu: fix sparse signedness warnings in rtw_get_ie staging: rtl8188eu: fix sparse signedness warnings in rtw_set_ie staging: rtl8188eu: fix sparse signedness warnings in rtw_generate_ie drivers/staging/rtl8188eu/core/rtw_ap.c| 2 +- drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 15 --- drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 14 +++--- drivers/staging/rtl8188eu/core/rtw_xmit.c | 3 +-- drivers/staging/rtl8188eu/include/ieee80211.h | 6 +++--- 5 files changed, 20 insertions(+), 20 deletions(-) -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/3] staging: rtl8188eu: fix sparse signedness warnings in rtw_get_ie
Changed the type of len from (int *) to (unsigned int *) in the function rtw_get_ie(..) and wherever this function is called to suppress signedness mismatch warnings of the type- drivers/staging/rtl8188eu//core/rtw_ap.c:78:60: warning: incorrect type in argument 3 (different signedness) drivers/staging/rtl8188eu//core/rtw_ap.c:78:60:expected int *len drivers/staging/rtl8188eu//core/rtw_ap.c:78:60:got unsigned int * Signed-off-by: Aishwarya Pant --- drivers/staging/rtl8188eu/core/rtw_ap.c| 2 +- drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 10 +- drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 14 +++--- drivers/staging/rtl8188eu/core/rtw_xmit.c | 3 +-- drivers/staging/rtl8188eu/include/ieee80211.h | 4 ++-- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_ap.c b/drivers/staging/rtl8188eu/core/rtw_ap.c index 3fa6af2..91156a2 100644 --- a/drivers/staging/rtl8188eu/core/rtw_ap.c +++ b/drivers/staging/rtl8188eu/core/rtw_ap.c @@ -719,7 +719,7 @@ static void start_bss_network(struct adapter *padapter, u8 *pbuf) u8 val8, cur_channel, cur_bwmode, cur_ch_offset; u16 bcn_interval; u32 acparm; - int ie_len; + uintie_len; struct registry_priv *pregpriv = &padapter->registrypriv; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct security_priv *psecuritypriv = &padapter->securitypriv; diff --git a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c index d1cd340..f55b38f 100644 --- a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c @@ -158,7 +158,7 @@ u8 *rtw_set_ie /* index: the information element id index, limit is the limit for search -*/ -u8 *rtw_get_ie(u8 *pbuf, int index, int *len, int limit) +u8 *rtw_get_ie(u8 *pbuf, int index, uint *len, int limit) { int tmp, i; u8 *p; @@ -293,7 +293,7 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit) { - int len; + uint len; u16 val16; __le16 le_tmp; unsigned char wpa_oui_type[] = {0x00, 0x50, 0xf2, 0x01}; @@ -331,7 +331,7 @@ unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit) return NULL; } -unsigned char *rtw_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit) +unsigned char *rtw_get_wpa2_ie(unsigned char *pie, uint *rsn_ie_len, int limit) { return rtw_get_ie(pie, _WPA2_IE_ID_, rsn_ie_len, limit); @@ -1000,7 +1000,7 @@ int ieee80211_get_hdrlen(u16 fc) static int rtw_get_cipher_info(struct wlan_network *pnetwork) { - int wpa_ielen; + uint wpa_ielen; unsigned char *pbuf; int group_cipher = 0, pairwise_cipher = 0, is8021x = 0; int ret = _FAIL; @@ -1045,7 +1045,7 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) __le16 le_tmp; u16 wpa_len = 0, rsn_len = 0; struct HT_info_element *pht_info = NULL; - int len; + uint len; unsigned char *p; memcpy(&le_tmp, rtw_get_capability_from_ie(pnetwork->network.IEs), 2); diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c index 30dd4ed..88a3a2b 100644 --- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c @@ -286,7 +286,7 @@ static s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, static int update_hidden_ssid(u8 *ies, u32 ies_len, u8 hidden_ssid_mode) { u8 *ssid_ie; - int ssid_len_ori; + uint ssid_len_ori; int len_diff = 0; ssid_ie = rtw_get_ie(ies, WLAN_EID_SSID, &ssid_len_ori, ies_len); @@ -1786,7 +1786,7 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) plist = phead->next; while (phead != plist) { - int len; + uint len; u8 *p; struct wlan_bssid_ex *pbss_network; @@ -2556,7 +2556,7 @@ static unsigned int OnProbeReq(struct adapter *padapter, !check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_AP_STATE)) return _SUCCESS; - p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + _PROBEREQ_IE_OFFSET_, _SSID_IE_, (int *)&ielen, + p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + _PROBEREQ_IE_OFFSET_, _SSID_IE_, &ielen, len - WLAN_HDR_A3_LEN - _PROBEREQ_IE_OFFSET_); /* check (wildcard) SSID */ @@ -2793,7 +2793,7 @@ static unsigned int OnAuth(struct adapter *padapter, /* checking for challenging txt... */
[PATCH 2/3] staging: rtl8188eu: fix sparse signedness warnings in rtw_set_ie
Changed the type of sz from (int) to (unsigned int) to suppress signedness mismatch warnings of the type- drivers/staging/rtl8188eu//core/rtw_ieee80211.c:258:97: warning: incorrect type in argument 5 (different signedness) drivers/staging/rtl8188eu//core/rtw_ieee80211.c:258:97:expected unsigned int [usertype] *frlen drivers/staging/rtl8188eu//core/rtw_ieee80211.c:258:97:got int * Signed-off-by: Aishwarya Pant --- drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c index f55b38f..79dda83 100644 --- a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c @@ -226,7 +226,8 @@ uintrtw_get_rateset_len(u8 *rateset) int rtw_generate_ie(struct registry_priv *pregistrypriv) { u8 wireless_mode; - int sz = 0, rateLen; + int rateLen; + uintsz = 0; struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; u8 *ie = pdev_network->IEs; -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 3/3] staging: rtl8188eu: fix sparse signedness warnings in rtw_generate_ie
Changed the type of wpa_ie_len from (int *) to (unsigned int *) in the function rtw_get_wpa_ie(..) to suppress signedness mismatch warnings in rtw_generate_ie of the type- drivers/staging/rtl8188eu//core/rtw_ieee80211.c:1009:60: warning: incorrect type in argument 2 (different signedness) drivers/staging/rtl8188eu//core/rtw_ieee80211.c:1009:60:expected int *wpa_ie_len drivers/staging/rtl8188eu//core/rtw_ieee80211.c:1009:60:got unsigned int * Signed-off-by: Aishwarya Pant --- drivers/staging/rtl8188eu/core/rtw_ieee80211.c | 2 +- drivers/staging/rtl8188eu/include/ieee80211.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c index 79dda83..d1dafe0 100644 --- a/drivers/staging/rtl8188eu/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8188eu/core/rtw_ieee80211.c @@ -292,7 +292,7 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) return sz; } -unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit) +unsigned char *rtw_get_wpa_ie(unsigned char *pie, uint *wpa_ie_len, int limit) { uint len; u16 val16; diff --git a/drivers/staging/rtl8188eu/include/ieee80211.h b/drivers/staging/rtl8188eu/include/ieee80211.h index b3f331a..22ab0c4 100644 --- a/drivers/staging/rtl8188eu/include/ieee80211.h +++ b/drivers/staging/rtl8188eu/include/ieee80211.h @@ -861,7 +861,7 @@ u8 *rtw_get_ie(u8 *pbuf, int index, uint *len, int limit); void rtw_set_supported_rate(u8 *SupportedRates, uint mode); -unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit); +unsigned char *rtw_get_wpa_ie(unsigned char *pie, uint *wpa_ie_len, int limit); unsigned char *rtw_get_wpa2_ie(unsigned char *pie, uint *rsn_ie_len, int limit); int rtw_get_wpa_cipher_suite(u8 *s); int rtw_get_wpa2_cipher_suite(u8 *s); -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] scsi: storvsc: Allow only one remove lun work item to be issued per lun
When running multipath on a VM if all available paths go down the driver can schedule large amounts of storvsc_remove_lun work items to the same lun. In response to the failing paths typically storvsc responds by taking host->scan_mutex and issuing a TUR per lun. If there has been heavy IO to the failed device all the failed IOs are returned from the host. A remove lun work item is issued per failed IO. If the outstanding TURs have not been completed in a timely manner the scan_mutex is never released or released too late. Consequently the many remove lun work items are not completed as scsi_remove_device also tries to take host->scan_mutex. This results in dragging the VM down and sometimes completely. This patch only allows one remove lun to be issued to a particular lun while it is an instantiated member of the scsi stack. Signed-off-by: Cathy Avery --- drivers/scsi/storvsc_drv.c | 33 +++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 016639d..9dbb5bf 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -478,6 +478,10 @@ struct storvsc_device { u64 port_name; }; +struct storvsc_dev_hostdata { + atomic_t req_remove_lun; +}; + struct hv_host_device { struct hv_device *dev; unsigned int port; @@ -918,6 +922,8 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb, u8 asc, u8 ascq) { struct storvsc_scan_work *wrk; + struct storvsc_dev_hostdata *hostdata; + struct scsi_device *sdev; void (*process_err_fn)(struct work_struct *work); bool do_work = false; @@ -953,8 +959,17 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb, } break; case SRB_STATUS_INVALID_LUN: - do_work = true; - process_err_fn = storvsc_remove_lun; + sdev = scsi_device_lookup(host, 0, vm_srb->target_id, + vm_srb->lun); + if (sdev) { + hostdata = sdev->hostdata; + if (hostdata && + !atomic_cmpxchg(&hostdata->req_remove_lun, 0, 1)) { + do_work = true; + process_err_fn = storvsc_remove_lun; + } + scsi_device_put(sdev); + } break; case SRB_STATUS_ABORTED: if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID && @@ -1426,9 +1441,22 @@ static int storvsc_device_configure(struct scsi_device *sdevice) sdevice->no_write_same = 0; } + sdevice->hostdata = kzalloc(sizeof(struct storvsc_dev_hostdata), + GFP_ATOMIC); + if (!sdevice->hostdata) + return -ENOMEM; + return 0; } +static void storvsc_device_destroy(struct scsi_device *sdevice) +{ + if (sdevice->hostdata) { + kfree(sdevice->hostdata); + sdevice->hostdata = NULL; + } +} + static int storvsc_get_chs(struct scsi_device *sdev, struct block_device * bdev, sector_t capacity, int *info) { @@ -1669,6 +1697,7 @@ static struct scsi_host_template scsi_driver = { .eh_timed_out = storvsc_eh_timed_out, .slave_alloc = storvsc_device_alloc, .slave_configure = storvsc_device_configure, + .slave_destroy =storvsc_device_destroy, .cmd_per_lun = 255, .this_id = -1, .use_clustering = ENABLE_CLUSTERING, -- 2.5.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[Patch v3 2/2] lustre: CONSTANTS put on right side of comparison test
Comparison should have the CONSTANT on the right side of the test Signed-off-by: Rishiraj Manwatkar --- v1 -> v2: Added mailing list in cc. v2 -> v3: Improved Subject line. drivers/staging/lustre/lustre/obdclass/cl_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_io.c b/drivers/staging/lustre/lustre/obdclass/cl_io.c index 0997254..bec112f 100755 --- a/drivers/staging/lustre/lustre/obdclass/cl_io.c +++ b/drivers/staging/lustre/lustre/obdclass/cl_io.c @@ -58,7 +58,7 @@ static inline int cl_io_type_is_valid(enum cl_io_type type) { - return CIT_READ <= type && type < CIT_OP_NR; + return type >= CIT_READ && type < CIT_OP_NR; } static inline int cl_io_is_loopable(const struct cl_io *io) @@ -389,7 +389,7 @@ void cl_io_unlock(const struct lu_env *env, struct cl_io *io) const struct cl_io_slice *scan; LASSERT(cl_io_is_loopable(io)); - LASSERT(CIS_IT_STARTED <= io->ci_state && io->ci_state < CIS_UNLOCKED); + LASSERT(io->ci_state >= CIS_IT_STARTED && io->ci_state < CIS_UNLOCKED); LINVRNT(cl_io_invariant(io)); set = &io->ci_lockset; -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[Patch v3 1/2] lustre: Parantheses added for Macro argument to avoid precedence issues
Parantheses are added for Macro argument, to avoid precedence issues. Signed-off-by: Rishiraj Manwatkar --- v1 -> v2: Added mailing list in cc. v2 -> v3: Changed From: to be same as Signed-off-by:. drivers/staging/lustre/lustre/obdclass/cl_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/cl_io.c b/drivers/staging/lustre/lustre/obdclass/cl_io.c index ee7d677..0997254 100755 --- a/drivers/staging/lustre/lustre/obdclass/cl_io.c +++ b/drivers/staging/lustre/lustre/obdclass/cl_io.c @@ -52,9 +52,9 @@ */ #define cl_io_for_each(slice, io) \ - list_for_each_entry((slice), &io->ci_layers, cis_linkage) + list_for_each_entry((slice), &(io)->ci_layers, cis_linkage) #define cl_io_for_each_reverse(slice, io) \ - list_for_each_entry_reverse((slice), &io->ci_layers, cis_linkage) + list_for_each_entry_reverse((slice), &(io)->ci_layers, cis_linkage) static inline int cl_io_type_is_valid(enum cl_io_type type) { -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] scsi: storvsc: Allow only one remove lun work item to be issued per lun
Just add a singlethreaded workqueue for storvsc_handle_error and you'll get serialization for all error handling for free. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 09/22] dm-crypt: Make use of the new sg_map helper in 4 call sites
Thanks for the information Milan. On 15/04/17 06:10 AM, Milan Broz wrote: > I think your patch is ok (if it is just plain conversion), if it is > really needed, we can switch to ahash later in follow-up patch. Sounds good to me. > p.s. > there is a lot of lists on cc, but for this patch is missing dm-devel, > dmcrypt changes > need to go through Mike's tree (I added dm-devel to cc:) Oh, sorry, I thought I had included all the lists. My hope however would be to get the first patch merged and then re-send the remaining patches to their respective maintainers. So that would have happened later. It's hard to manage patches otherwise with such large distribution lists. Logan ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: lustre: Fix sparse endianness warnings cast to restricted __le64 and __le32
From: Skanda Guruanand The struct lu_dirpage elements in lustre_idl.h file are modified to __le64 and __le32 types since the elements are always converted from litte endian to processor native format in mdc_request.c file. Following warnings are removed by this fix. drivers/staging/lustre/lustre/mdc/mdc_request.c:958:42: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:959:42: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:962:42: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:963:42: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:985:50: warning: cast to restricted __le32 drivers/staging/lustre/lustre/mdc/mdc_request.c:1193:24: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:1328:25: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:1329:23: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:1332:25: warning: cast to restricted __le64 drivers/staging/lustre/lustre/mdc/mdc_request.c:1333:23: warning: cast to restricted __le64 Signed-off-by: Skanda Guruanand --- drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h index 60b827e..df48b8d 100644 --- a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h +++ b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h @@ -846,10 +846,10 @@ struct luda_type { #endif struct lu_dirpage { - __u64 ldp_hash_start; - __u64 ldp_hash_end; - __u32 ldp_flags; - __u32 ldp_pad0; + __le64 ldp_hash_start; + __le64 ldp_hash_end; + __le32 ldp_flags; + __le32 ldp_pad0; struct lu_dirent ldp_entries[0]; }; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel