Whamcloud - gitweb
LU-761: Check return of ll_prep_md_op_data() using IS_ERR().
authorJohn Hammond <jhammond@tacc.utexas.edu>
Thu, 13 Oct 2011 17:50:53 +0000 (12:50 -0500)
committerOleg Drokin <green@whamcloud.com>
Mon, 12 Dec 2011 21:31:59 +0000 (16:31 -0500)
Change-Id: I329fa923b95ae612e50f63641d2c34b121b0f6b9
Signed-off-by: John L. Hammond <jhammond@tacc.utexas.edu>
Reviewed-on: http://review.whamcloud.com/1520
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/llite/dir.c
lustre/llite/file.c
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c
lustre/llite/symlink.c

index 4a8fc75..ecb7571 100644 (file)
@@ -798,8 +798,8 @@ int ll_dir_getstripe(struct inode *inode, struct lov_mds_md **lmmp,
         op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL,
                                      0, lmmsize, LUSTRE_OPC_ANY,
                                      NULL);
-        if (op_data == NULL)
-                RETURN(-ENOMEM);
+        if (IS_ERR(op_data))
+                RETURN(PTR_ERR(op_data));
 
         op_data->op_valid = OBD_MD_FLEASIZE | OBD_MD_FLDIREA;
         rc = md_getattr(sbi->ll_md_exp, op_data, &req);
@@ -863,8 +863,8 @@ int ll_get_mdt_idx(struct inode *inode)
 
         op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL, 0,
                                      0, LUSTRE_OPC_ANY, NULL);
-        if (op_data == NULL)
-                RETURN(-ENOMEM);
+        if (IS_ERR(op_data))
+                RETURN(PTR_ERR(op_data));
 
         op_data->op_valid |= OBD_MD_MDTIDX;
         rc = md_getattr(sbi->ll_md_exp, op_data, NULL);
@@ -1053,8 +1053,8 @@ static int ll_dir_ioctl(struct inode *inode, struct file *file,
 
                 op_data = ll_prep_md_op_data(NULL, inode, NULL, filename, namelen,
                                              0, LUSTRE_OPC_ANY, NULL);
-                if (op_data == NULL)
-                        GOTO(out_free, rc = -ENOMEM);
+                if (IS_ERR(op_data))
+                        GOTO(out_free, rc = PTR_ERR(op_data));
 
                 op_data->op_valid = OBD_MD_FLID;
                 rc = md_getattr_name(sbi->ll_md_exp, op_data, &request);
index e5a417a..eefa640 100644 (file)
@@ -1348,8 +1348,8 @@ int ll_lov_getstripe_ea_info(struct inode *inode, const char *filename,
         op_data = ll_prep_md_op_data(NULL, inode, NULL, filename,
                                      strlen(filename), lmmsize,
                                      LUSTRE_OPC_ANY, NULL);
-        if (op_data == NULL)
-                RETURN(-ENOMEM);
+        if (IS_ERR(op_data))
+                RETURN(PTR_ERR(op_data));
 
         op_data->op_valid = OBD_MD_FLEASIZE | OBD_MD_FLDIREA;
         rc = md_getattr_name(sbi->ll_md_exp, op_data, &req);
@@ -2301,8 +2301,8 @@ int __ll_inode_revalidate_it(struct dentry *dentry, struct lookup_intent *it,
                 op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL,
                                              0, ealen, LUSTRE_OPC_ANY,
                                              NULL);
-                if (op_data == NULL)
-                        RETURN(-ENOMEM);
+                if (IS_ERR(op_data))
+                        RETURN(PTR_ERR(op_data));
 
                 op_data->op_valid = valid;
                 /* Once OBD_CONNECT_ATTRFID is not supported, we can't find one
index 7ee2abf..713d581 100644 (file)
@@ -1818,8 +1818,8 @@ int ll_iocontrol(struct inode *inode, struct file *file,
                 op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL,
                                              0, 0, LUSTRE_OPC_ANY,
                                              NULL);
-                if (op_data == NULL)
-                        RETURN(-ENOMEM);
+                if (IS_ERR(op_data))
+                        RETURN(PTR_ERR(op_data));
 
                 op_data->op_valid = OBD_MD_FLFLAGS;
                 rc = md_getattr(sbi->ll_md_exp, op_data, &req);
index 7f3f56b..99678f2 100644 (file)
@@ -337,8 +337,8 @@ static struct dentry *ll_get_parent(struct dentry *dchild)
         op_data = ll_prep_md_op_data(NULL, dir, NULL, dotdot,
                                      strlen(dotdot), 0,
                                      LUSTRE_OPC_ANY, NULL);
-        if (op_data == NULL)
-                RETURN(ERR_PTR(-ENOMEM));
+        if (IS_ERR(op_data))
+                RETURN((void *)op_data);
 
         rc = md_getattr_name(sbi->ll_md_exp, op_data, &req);
         ll_finish_md_op_data(op_data);
index af46369..7e70b85 100644 (file)
@@ -64,6 +64,9 @@ static int ll_readlink_internal(struct inode *inode,
 
         op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL, 0, symlen,
                                      LUSTRE_OPC_ANY, NULL);
+        if (IS_ERR(op_data))
+                RETURN(PTR_ERR(op_data));
+
         op_data->op_valid = OBD_MD_LINKNAME;
         rc = md_getattr(sbi->ll_md_exp, op_data, request);
         ll_finish_md_op_data(op_data);