Whamcloud - gitweb
LU-3155 mgs: set_param -P option that sets value permanently
[fs/lustre-release.git] / lustre / utils / obdiolib.c
index e6f715f..544778b 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  * 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.
+ *
+ * Copyright (c) 2013, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -128,10 +128,10 @@ obdio_pread (struct obdio_conn *conn, __u64 oid,
 {
         obdio_iocinit (conn);
 
-        conn->oc_data.ioc_obdo1.o_id = oid;
-        conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
-        conn->oc_data.ioc_obdo1.o_valid =
-                OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
+       ostid_set_id(&conn->oc_data.ioc_obdo1.o_oi, oid);
+       conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
+       conn->oc_data.ioc_obdo1.o_valid =
+               OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
 
         conn->oc_data.ioc_pbuf2 = buffer;
         conn->oc_data.ioc_plen2 = count;
@@ -147,11 +147,13 @@ obdio_pwrite (struct obdio_conn *conn, __u64 oid,
 {
         obdio_iocinit (conn);
 
-        conn->oc_data.ioc_obdo1.o_id = oid;
-        conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
-        conn->oc_data.ioc_obdo1.o_valid =
-                OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
+       ostid_set_id(&conn->oc_data.ioc_obdo1.o_oi, oid);
+       conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
+       conn->oc_data.ioc_obdo1.o_valid =
+               OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
 
+        conn->oc_data.ioc_pbuf1 = (void*)1;
+        conn->oc_data.ioc_plen1 = 1;
         conn->oc_data.ioc_pbuf2 = buffer;
         conn->oc_data.ioc_plen2 = count;
         conn->oc_data.ioc_count = count;
@@ -169,9 +171,10 @@ obdio_enqueue (struct obdio_conn *conn, __u64 oid,
 
         obdio_iocinit (conn);
 
-        conn->oc_data.ioc_obdo1.o_id = oid;
-        conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
-        conn->oc_data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
+       ostid_set_id(&conn->oc_data.ioc_obdo1.o_oi, oid);
+       conn->oc_data.ioc_obdo1.o_mode = S_IFREG;
+       conn->oc_data.ioc_obdo1.o_valid =
+               OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
 
         conn->oc_data.ioc_conn1 = mode;
         conn->oc_data.ioc_count = count;
@@ -180,7 +183,7 @@ obdio_enqueue (struct obdio_conn *conn, __u64 oid,
         rc = obdio_ioctl (conn, ECHO_IOC_ENQUEUE);
 
         if (rc == 0)
-                memcpy (lh, obdo_handle (&conn->oc_data.ioc_obdo1), sizeof (*lh));
+                *lh = conn->oc_data.ioc_obdo1.o_handle;
 
         return (rc);
 }
@@ -190,7 +193,7 @@ obdio_cancel (struct obdio_conn *conn, struct lustre_handle *lh)
 {
         obdio_iocinit (conn);
 
-        memcpy (obdo_handle (&conn->oc_data.ioc_obdo1), lh, sizeof (*lh));
+        conn->oc_data.ioc_obdo1.o_handle = *lh;
         conn->oc_data.ioc_obdo1.o_valid = OBD_MD_FLHANDLE;
 
         return (obdio_ioctl (conn, ECHO_IOC_CANCEL));