Whamcloud - gitweb
LU-3677 mdt: Set HSM dirty open-for-write file when evicted.
[fs/lustre-release.git] / lustre / include / lustre_lib.h
index 57430fc..c481674 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2012, Whamcloud, Inc.
+ * Copyright (c) 2011, 2013, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -93,15 +93,8 @@ int do_set_info_async(struct obd_import *imp,
                       obd_count vallen, void *val,
                       struct ptlrpc_request_set *set);
 
-/* quotacheck callback, dqacq/dqrel callback handler */
-int target_handle_qc_callback(struct ptlrpc_request *req);
-#ifdef HAVE_QUOTA_SUPPORT
-int target_handle_dqacq_callback(struct ptlrpc_request *req);
-#else
-#define target_handle_dqacq_callback(req) ldlm_callback_reply(req, -ENOTSUPP)
-#endif
-
 #define OBD_RECOVERY_MAX_TIME (obd_timeout * 18) /* b13079 */
+#define OBD_MAX_IOCTL_BUFFER CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER
 
 void target_send_reply(struct ptlrpc_request *req, int rc, int fail_id);
 
@@ -112,24 +105,25 @@ struct client_obd *client_conn2cli(struct lustre_handle *conn);
 
 struct md_open_data;
 struct obd_client_handle {
-        struct lustre_handle  och_fh;
-        struct lu_fid         och_fid;
-        struct md_open_data  *och_mod;
-        __u32 och_magic;
-        int och_flags;
+       struct lustre_handle     och_fh;
+       struct lu_fid            och_fid;
+       struct md_open_data     *och_mod;
+       struct lustre_handle     och_lease_handle; /* open lock for lease */
+       __u32                    och_magic;
+       int                      och_flags;
 };
 #define OBD_CLIENT_HANDLE_MAGIC 0xd15ea5ed
 
 /* statfs_pack.c */
-void statfs_pack(struct obd_statfs *osfs, cfs_kstatfs_t *sfs);
-void statfs_unpack(cfs_kstatfs_t *sfs, struct obd_statfs *osfs);
+void statfs_pack(struct obd_statfs *osfs, struct kstatfs *sfs);
+void statfs_unpack(struct kstatfs *sfs, struct obd_statfs *osfs);
 
 /* l_lock.c */
 struct lustre_lock {
-        int l_depth;
-        cfs_task_t *l_owner;
-        cfs_semaphore_t l_sem;
-        cfs_spinlock_t l_spin;
+       int                     l_depth;
+       cfs_task_t              *l_owner;
+       struct semaphore        l_sem;
+       spinlock_t              l_spin;
 };
 
 void l_lock_init(struct lustre_lock *);
@@ -370,7 +364,7 @@ static inline int obd_ioctl_getdata(char **buf, int *len, void *arg)
         int offset = 0;
         ENTRY;
 
-        err = cfs_copy_from_user(&hdr, (void *)arg, sizeof(hdr));
+       err = copy_from_user(&hdr, (void *)arg, sizeof(hdr));
         if (err)
                 RETURN(err);
 
@@ -399,7 +393,7 @@ static inline int obd_ioctl_getdata(char **buf, int *len, void *arg)
         *len = hdr.ioc_len;
         data = (struct obd_ioctl_data *)*buf;
 
-        err = cfs_copy_from_user(*buf, (void *)arg, hdr.ioc_len);
+       err = copy_from_user(*buf, (void *)arg, hdr.ioc_len);
         if (err) {
                 OBD_FREE_LARGE(*buf, hdr.ioc_len);
                 RETURN(err);
@@ -435,10 +429,10 @@ static inline int obd_ioctl_getdata(char **buf, int *len, void *arg)
 
 static inline int obd_ioctl_popdata(void *arg, void *data, int len)
 {
-        int err = cfs_copy_to_user(arg, data, len);
-        if (err)
-                err = -EFAULT;
-        return err;
+       int err = copy_to_user(arg, data, len);
+       if (err)
+               err = -EFAULT;
+       return err;
 }
 #endif
 
@@ -543,6 +537,7 @@ static inline void obd_ioctl_freedata(char *buf, int len)
 #define OBD_IOC_CLEAR_LOG              _IOWR('f', 186, OBD_IOC_DATA_TYPE)
 #define OBD_IOC_PARAM                  _IOW ('f', 187, OBD_IOC_DATA_TYPE)
 #define OBD_IOC_POOL                   _IOWR('f', 188, OBD_IOC_DATA_TYPE)
+#define OBD_IOC_REPLACE_NIDS           _IOWR('f', 189, OBD_IOC_DATA_TYPE)
 
 #define OBD_IOC_CATLOGLIST             _IOWR('f', 190, OBD_IOC_DATA_TYPE)
 #define OBD_IOC_LLOG_INFO              _IOWR('f', 191, OBD_IOC_DATA_TYPE)
@@ -550,6 +545,7 @@ static inline void obd_ioctl_freedata(char *buf, int len)
 #define OBD_IOC_LLOG_CANCEL            _IOWR('f', 193, OBD_IOC_DATA_TYPE)
 #define OBD_IOC_LLOG_REMOVE            _IOWR('f', 194, OBD_IOC_DATA_TYPE)
 #define OBD_IOC_LLOG_CHECK             _IOWR('f', 195, OBD_IOC_DATA_TYPE)
+/* OBD_IOC_LLOG_CATINFO is deprecated */
 #define OBD_IOC_LLOG_CATINFO           _IOWR('f', 196, OBD_IOC_DATA_TYPE)
 
 #define ECHO_IOC_GET_STRIPE            _IOWR('f', 200, OBD_IOC_DATA_TYPE)
@@ -559,11 +555,16 @@ static inline void obd_ioctl_freedata(char *buf, int len)
 
 #define OBD_IOC_GET_OBJ_VERSION        _IOR('f', 210, OBD_IOC_DATA_TYPE)
 
-/* <lustre/lustre_user.h> defines ioctl number 218 */
+/* <lustre/lustre_user.h> defines ioctl number 218-219 */
 #define OBD_IOC_GET_MNTOPT             _IOW('f', 220, mntopt_t)
 
 #define OBD_IOC_ECHO_MD                _IOR('f', 221, struct obd_ioctl_data)
 #define OBD_IOC_ECHO_ALLOC_SEQ         _IOWR('f', 222, struct obd_ioctl_data)
+
+#define OBD_IOC_START_LFSCK           _IOWR('f', 230, OBD_IOC_DATA_TYPE)
+#define OBD_IOC_STOP_LFSCK            _IOW('f', 231, OBD_IOC_DATA_TYPE)
+#define OBD_IOC_PAUSE_LFSCK           _IOW('f', 232, OBD_IOC_DATA_TYPE)
+
 /* XXX _IOWR('f', 250, long) has been defined in
  * libcfs/include/libcfs/libcfs_private.h for debug, don't use it
  */
@@ -782,13 +783,14 @@ do {                                                                           \
                 }                                                              \
         }                                                                      \
                                                                                \
-        cfs_block_sigs(__blocked);                                             \
+       cfs_restore_sigs(__blocked);                                           \
                                                                                \
         cfs_set_current_state(CFS_TASK_RUNNING);                               \
         cfs_waitq_del(&wq, &__wait);                                           \
 } while (0)
 
 #else /* !__KERNEL__ */
+
 #define __l_wait_event(wq, condition, info, ret, l_add_wait)            \
 do {                                                                    \
         long __timeout = info->lwi_timeout;                             \
@@ -831,7 +833,6 @@ do {                                                                    \
                         }                                               \
                 }                                                       \
         }                                                               \
-        SET_BUT_UNUSED(wq);                                             \
 } while (0)
 
 #endif /* __KERNEL__ */