Whamcloud - gitweb
LU-148 ll_readpage has to unlock vmpage by any means
[fs/lustre-release.git] / lustre / liblustre / namei.c
index dc54a7e..797e911 100644 (file)
@@ -26,7 +26,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
 #include <fcntl.h>
 #include <sys/queue.h>
 
-#include <sysio.h>
-#ifdef HAVE_XTIO_H
-#include <xtio.h>
-#endif
-#include <fs.h>
-#include <mount.h>
-#include <inode.h>
-#ifdef HAVE_FILE_H
-#include <file.h>
-#endif
-
-#undef LIST_HEAD
-
 #include "llite_lib.h"
 
 void ll_intent_drop_lock(struct lookup_intent *it)
@@ -108,7 +95,7 @@ void llu_lookup_finish_locks(struct lookup_intent *it, struct pnode *pnode)
 
                 sbi = llu_i2sbi(inode);
                 md_set_lock_data(sbi->ll_md_exp,
-                                 &it->d.lustre.it_lock_handle, inode);
+                                 &it->d.lustre.it_lock_handle, inode, NULL);
         }
 
         /* drop lookup/getattr locks */
@@ -212,7 +199,7 @@ static int pnode_revalidate_finish(struct ptlrpc_request *req,
         if (rc)
                 RETURN(rc);
 
-        llu_update_inode(inode, md.body, md.lsm);
+        llu_update_inode(inode, &md);
 
         RETURN(rc);
 }
@@ -332,7 +319,7 @@ static int lookup_it_finish(struct ptlrpc_request *request, int offset,
                 if (it_disposition(it, DISP_OPEN_CREATE) &&
                     !it_open_error(DISP_OPEN_CREATE, it)) {
                         LASSERT(request);
-                        LASSERT(atomic_read(&request->rq_refcount) > 1);
+                        LASSERT(cfs_atomic_read(&request->rq_refcount) > 1);
                         CDEBUG(D_INODE, "dec a ref of req %p\n", request);
                         ptlrpc_req_finished(request);
                 }
@@ -381,7 +368,7 @@ static int lookup_it_finish(struct ptlrpc_request *request, int offset,
                         /* bug 2334: drop MDS lock before acquiring OST lock */
                         ll_intent_drop_lock(it);
 
-                        rc = llu_glimpse_size(inode);
+                        rc = cl_glimpse_size(inode);
                         if (rc) {
                                 I_RELE(inode);
                                 RETURN(rc);
@@ -595,6 +582,8 @@ int llu_iop_lookup(struct pnode *pnode,
         }
 
 out:
+        if (it)
+                OBD_FREE(it, sizeof(*it));
         liblustre_wait_event(0);
         RETURN(rc);
 }