Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1394384 > unrolled thread
| Started by | James Simmons <jsimmons@infradead.org> |
|---|---|
| First post | 2016-05-04 16:50 +0200 |
| Last post | 2016-05-04 16:50 +0200 |
| Articles | 5 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH 0/9] staging: lustre: bug fixes from the lustre 2.5.[54-55] release James Simmons <jsimmons@infradead.org> - 2016-05-04 16:50 +0200
[PATCH 1/9] staging: lustre: nfs: don't panic NFS server if MDS fails to find FID James Simmons <jsimmons@infradead.org> - 2016-05-04 16:50 +0200
[PATCH 2/9] staging: lustre: osc: Allow lock to be canceled at ENQ time James Simmons <jsimmons@infradead.org> - 2016-05-04 16:50 +0200
[PATCH 6/9] staging: lustre: debug: clean up console messages James Simmons <jsimmons@infradead.org> - 2016-05-04 16:50 +0200
[PATCH 4/9] staging: lustre: mdt: extra checking for getattr RPC. James Simmons <jsimmons@infradead.org> - 2016-05-04 16:50 +0200
| From | James Simmons <jsimmons@infradead.org> |
|---|---|
| Date | 2016-05-04 16:50 +0200 |
| Subject | [PATCH 0/9] staging: lustre: bug fixes from the lustre 2.5.[54-55] release |
| Message-ID | <rv5Ym-5ES-5@gated-at.bofh.it> |
Here is the next batch of fixes and cleanups that went into Lustre versions 2.5.54 and 2.5.55 except for the work done for LU-3531. The changes for LU-3531 are large so they belong in their own special patch set. Most of the patches here are minor fixes and some removal of dead or obsolete code. Alexander Boyko (1): staging: lustre: osc: Allow lock to be canceled at ENQ time Andreas Dilger (1): staging: lustre: debug: clean up console messages Bobi Jam (1): staging: lustre: nfs: don't panic NFS server if MDS fails to find FID Fan Yong (1): staging: lustre: fid: packing ost_idx in IDIF John L. Hammond (2): staging: lustre: lov: remove lov and lod stuff from obd.h staging: lustre: lov: remove unused lov obd functions Niu Yawei (1): staging: lustre: ptlrpc: fix nrs cleanup wang di (2): staging: lustre: mdt: extra checking for getattr RPC. staging: lustre: fid: init FID client for OSP on MDT. drivers/staging/lustre/lustre/fid/fid_request.c | 7 +- .../lustre/lustre/include/lustre/lustre_idl.h | 76 +++++++++++++++------- drivers/staging/lustre/lustre/include/lustre_fid.h | 22 ++----- drivers/staging/lustre/lustre/include/obd.h | 60 ----------------- .../staging/lustre/lustre/include/obd_support.h | 1 + drivers/staging/lustre/lustre/llite/llite_lib.c | 6 +- drivers/staging/lustre/lustre/llite/llite_nfs.c | 13 ++-- drivers/staging/lustre/lustre/lov/lov_ea.c | 5 -- drivers/staging/lustre/lustre/lov/lov_internal.h | 32 ++++----- drivers/staging/lustre/lustre/lov/lov_obd.c | 3 - drivers/staging/lustre/lustre/lov/lov_pool.c | 62 +----------------- drivers/staging/lustre/lustre/lov/lov_request.c | 3 - drivers/staging/lustre/lustre/mdc/mdc_request.c | 3 +- drivers/staging/lustre/lustre/obdclass/obd_mount.c | 2 +- drivers/staging/lustre/lustre/osc/osc_request.c | 3 + drivers/staging/lustre/lustre/ptlrpc/nrs.c | 6 +- 16 files changed, 101 insertions(+), 203 deletions(-) -- 2.7.4
[toc] | [next] | [standalone]
| From | James Simmons <jsimmons@infradead.org> |
|---|---|
| Date | 2016-05-04 16:50 +0200 |
| Subject | [PATCH 1/9] staging: lustre: nfs: don't panic NFS server if MDS fails to find FID |
| Message-ID | <rv6hI-5S0-29@gated-at.bofh.it> |
| In reply to | #1394384 |
From: Bobi Jam <bobijam.xu@intel.com>
When MDS fails to retrive the parent's fid, we'd handle it without
crashing the NFS server.
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3952
Reviewed-on: http://review.whamcloud.com/8459
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
---
drivers/staging/lustre/lustre/llite/llite_nfs.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/llite_nfs.c b/drivers/staging/lustre/lustre/llite/llite_nfs.c
index 61cb5ff..c1eef61 100644
--- a/drivers/staging/lustre/lustre/llite/llite_nfs.c
+++ b/drivers/staging/lustre/lustre/llite/llite_nfs.c
@@ -322,11 +322,14 @@ static struct dentry *ll_get_parent(struct dentry *dchild)
return ERR_PTR(rc);
}
body = req_capsule_server_get(&req->rq_pill, &RMF_MDT_BODY);
- LASSERT(body->valid & OBD_MD_FLID);
-
- CDEBUG(D_INFO, "parent for " DFID " is " DFID "\n",
- PFID(ll_inode2fid(dir)), PFID(&body->fid1));
-
+ /*
+ * LU-3952: MDT may lost the FID of its parent, we should not crash
+ * the NFS server, ll_iget_for_nfs() will handle the error.
+ */
+ if (body->valid & OBD_MD_FLID) {
+ CDEBUG(D_INFO, "parent for " DFID " is " DFID "\n",
+ PFID(ll_inode2fid(dir)), PFID(&body->fid1));
+ }
result = ll_iget_for_nfs(dir->i_sb, &body->fid1, NULL);
ptlrpc_req_finished(req);
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | James Simmons <jsimmons@infradead.org> |
|---|---|
| Date | 2016-05-04 16:50 +0200 |
| Subject | [PATCH 2/9] staging: lustre: osc: Allow lock to be canceled at ENQ time |
| Message-ID | <rv6hJ-5S0-47@gated-at.bofh.it> |
| In reply to | #1394384 |
From: Alexander Boyko <alexander_boyko@xyratex.com> A cl_lock can be canceled when it's in CLS_ENQUEUED state. We can't unuse this kind of lock in lov_lock_unuse() because it will bring this lock into CLS_NEW state and then confuse osc_lock_upcall(). Add a regression test case by Alexander Boyko. Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by: Alexander Boyko <alexander_boyko@xyratex.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3889 Reviewed-on: http://review.whamcloud.com/8405 Reviewed-by: Bobi Jam <bobijam@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> --- drivers/staging/lustre/lustre/include/obd_support.h | 1 + drivers/staging/lustre/lustre/osc/osc_request.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/drivers/staging/lustre/lustre/include/obd_support.h b/drivers/staging/lustre/lustre/include/obd_support.h index 1358af1..60034d3 100644 --- a/drivers/staging/lustre/lustre/include/obd_support.h +++ b/drivers/staging/lustre/lustre/include/obd_support.h @@ -321,6 +321,7 @@ extern char obd_jobid_var[]; #define OBD_FAIL_LDLM_AGL_DELAY 0x31a #define OBD_FAIL_LDLM_AGL_NOLOCK 0x31b #define OBD_FAIL_LDLM_OST_LVB 0x31c +#define OBD_FAIL_LDLM_ENQUEUE_HANG 0x31d /* LOCKLESS IO */ #define OBD_FAIL_LDLM_SET_CONTENTION 0x385 diff --git a/drivers/staging/lustre/lustre/osc/osc_request.c b/drivers/staging/lustre/lustre/osc/osc_request.c index df06f4f..47417f8 100644 --- a/drivers/staging/lustre/lustre/osc/osc_request.c +++ b/drivers/staging/lustre/lustre/osc/osc_request.c @@ -2201,6 +2201,9 @@ static int osc_enqueue_interpret(const struct lu_env *env, */ ldlm_lock_addref(lockh, mode); + /* Let cl_lock_state_wait fail with -ERESTARTSYS to unuse sublocks. */ + OBD_FAIL_TIMEOUT(OBD_FAIL_LDLM_ENQUEUE_HANG, 2); + /* Let CP AST to grant the lock first. */ OBD_FAIL_TIMEOUT(OBD_FAIL_OSC_CP_ENQ_RACE, 1); -- 2.7.4
[toc] | [prev] | [next] | [standalone]
| From | James Simmons <jsimmons@infradead.org> |
|---|---|
| Date | 2016-05-04 16:50 +0200 |
| Subject | [PATCH 6/9] staging: lustre: debug: clean up console messages |
| Message-ID | <rv6hK-5S0-69@gated-at.bofh.it> |
| In reply to | #1394384 |
From: Andreas Dilger <andreas.dilger@intel.com>
Clean up overly verbose console error messages, improve others.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-1095
Reviewed-on: http://review.whamcloud.com/8617
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
---
drivers/staging/lustre/lustre/llite/llite_lib.c | 4 +---
drivers/staging/lustre/lustre/obdclass/obd_mount.c | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
index 44dd3f3..96c7e9f 100644
--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
@@ -897,10 +897,8 @@ int ll_fill_super(struct super_block *sb, struct vfsmount *mnt)
cfg->cfg_callback = class_config_llog_handler;
/* set up client obds */
err = lustre_process_log(sb, profilenm, cfg);
- if (err < 0) {
- CERROR("Unable to process log: %d\n", err);
+ if (err < 0)
goto out_free;
- }
/* Profile set with LCFG_MOUNTOPT so we can find our mdc and osc obds */
lprof = class_get_profile(profilenm);
diff --git a/drivers/staging/lustre/lustre/obdclass/obd_mount.c b/drivers/staging/lustre/lustre/obdclass/obd_mount.c
index 9474aa9..e0c90ad 100644
--- a/drivers/staging/lustre/lustre/obdclass/obd_mount.c
+++ b/drivers/staging/lustre/lustre/obdclass/obd_mount.c
@@ -102,7 +102,7 @@ int lustre_process_log(struct super_block *sb, char *logname,
LCONSOLE_ERROR_MSG(0x15b, "%s: The configuration from log '%s' failed from the MGS (%d). Make sure this client and the MGS are running compatible versions of Lustre.\n",
mgc->obd_name, logname, rc);
- if (rc)
+ else if (rc)
LCONSOLE_ERROR_MSG(0x15c, "%s: The configuration from log '%s' failed (%d). This may be the result of communication errors between this node and the MGS, a bad configuration, or other errors. See the syslog for more information.\n",
mgc->obd_name, logname,
rc);
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | James Simmons <jsimmons@infradead.org> |
|---|---|
| Date | 2016-05-04 16:50 +0200 |
| Subject | [PATCH 4/9] staging: lustre: mdt: extra checking for getattr RPC. |
| Message-ID | <rv6hK-5S0-61@gated-at.bofh.it> |
| In reply to | #1394384 |
From: wang di <di.wang@intel.com>
Check whether getattr RPC can hold layout MD(RMF_MDT_MD),
in case the client sends some invalid RPC, which can
cause panic on MDT.
Client will retrieve cl_max_md_size/cl_default_md_size
from MDS during mount process, so it will initialize
cl_max_md_size/cl_default_md_size before sending getattr
to MDS.
Signed-off-by: wang di <di.wang@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4222
Reviewed-on: http://review.whamcloud.com/8599
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
---
drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +-
drivers/staging/lustre/lustre/mdc/mdc_request.c | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
index 64be2c1..44dd3f3 100644
--- a/drivers/staging/lustre/lustre/llite/llite_lib.c
+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
@@ -445,7 +445,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt,
/* make root inode
* XXX: move this to after cbd setup?
*/
- valid = OBD_MD_FLGETATTR | OBD_MD_FLBLOCKS;
+ valid = OBD_MD_FLGETATTR | OBD_MD_FLBLOCKS | OBD_MD_FLMODEASIZE;
if (sbi->ll_flags & LL_SBI_RMT_CLIENT)
valid |= OBD_MD_FLRMTPERM;
else if (sbi->ll_flags & LL_SBI_ACL)
diff --git a/drivers/staging/lustre/lustre/mdc/mdc_request.c b/drivers/staging/lustre/lustre/mdc/mdc_request.c
index 46e3a7506..86b7445 100644
--- a/drivers/staging/lustre/lustre/mdc/mdc_request.c
+++ b/drivers/staging/lustre/lustre/mdc/mdc_request.c
@@ -142,9 +142,8 @@ static int mdc_getattr_common(struct obd_export *exp,
CDEBUG(D_NET, "mode: %o\n", body->mode);
+ mdc_update_max_ea_from_body(exp, body);
if (body->eadatasize != 0) {
- mdc_update_max_ea_from_body(exp, body);
-
eadata = req_capsule_server_sized_get(pill, &RMF_MDT_MD,
body->eadatasize);
if (!eadata)
--
2.7.4
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web