diff options
author | John L. Hammond <john.hammond@intel.com> | 2014-03-01 06:16:36 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-01 07:11:20 +0400 |
commit | add882a8b59fe25ed35c64861908dadf739bc619 (patch) | |
tree | 05eb4a6bdeaeb047a34f99f3f27355ef405e6b78 /drivers/staging/lustre | |
parent | ec9bca9c51f98cb4ad43c738f2783f4e2bba2421 (diff) | |
download | linux-add882a8b59fe25ed35c64861908dadf739bc619.tar.xz |
lustre/mdc: fix bad ERR_PTR usage in mdc_locks.c
In mdc_intent_open_pack() return an ERR_PTR() rather than NULL when
ldlm_prep_enqueue_req() fails. In mdc_intent_getattr_async() check the
return value of mdc_intent_getattr_pack() using IS_ERR(). Clean up the
includes in mdc_locks.c.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: http://review.whamcloud.com/7886
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4078
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/lustre')
-rw-r--r-- | drivers/staging/lustre/lustre/mdc/mdc_locks.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/staging/lustre/lustre/mdc/mdc_locks.c b/drivers/staging/lustre/lustre/mdc/mdc_locks.c index 6ef9e28c56fb..61109430f333 100644 --- a/drivers/staging/lustre/lustre/mdc/mdc_locks.c +++ b/drivers/staging/lustre/lustre/mdc/mdc_locks.c @@ -37,15 +37,15 @@ #define DEBUG_SUBSYSTEM S_MDC # include <linux/module.h> -# include <linux/pagemap.h> -# include <linux/miscdevice.h> -#include <lustre_acl.h> +#include <linux/lustre_intent.h> +#include <obd.h> #include <obd_class.h> #include <lustre_dlm.h> -/* fid_res_name_eq() */ -#include <lustre_fid.h> -#include <lprocfs_status.h> +#include <lustre_fid.h> /* fid_res_name_eq() */ +#include <lustre_mdc.h> +#include <lustre_net.h> +#include <lustre_req_layout.h> #include "mdc_internal.h" struct mdc_getattr_args { @@ -336,9 +336,9 @@ static struct ptlrpc_request *mdc_intent_open_pack(struct obd_export *exp, max(lmmsize, obddev->u.cli.cl_default_mds_easize)); rc = ldlm_prep_enqueue_req(exp, req, &cancels, count); - if (rc) { + if (rc < 0) { ptlrpc_request_free(req); - return NULL; + return ERR_PTR(rc); } spin_lock(&req->rq_lock); @@ -1281,8 +1281,8 @@ int mdc_intent_getattr_async(struct obd_export *exp, fid_build_reg_res_name(&op_data->op_fid1, &res_id); req = mdc_intent_getattr_pack(exp, it, op_data); - if (!req) - return -ENOMEM; + if (IS_ERR(req)) + return PTR_ERR(req); rc = mdc_enter_request(&obddev->u.cli); if (rc != 0) { |