* This code is issued under the GNU General Public License.
* See the file COPYING in this distribution
*
- *
- *
+ * Copyright (C) 2002 Cluster File Systems, Inc. <info@clusterfs.com>
+ */
__u32 fd_flags;
};
+
struct ll_inode_md {
struct mds_body *body;
- struct lov_stripe_md *md;
+ struct lov_mds_md *md;
};
#define LL_IOC_GETFLAGS _IOR ('f', 151, long)
#define LL_INLINESZ 60
struct ll_inode_info {
- int lli_flags;
- // struct obdo *lli_obdo;
- struct lov_stripe_md *lli_smd;
- // int lli_obdo_mdsz;
- //void *lli_obdo_md;
- char *lli_symlink_name;
- char lli_inline[LL_INLINESZ];
- struct lustre_handle lli_intent_lock_handle;
+ struct lov_stripe_md *lli_smd;
+ char *lli_symlink_name;
+ struct lustre_handle lli_intent_lock_handle;
+ struct semaphore lli_open_sem;
};
#define LL_SUPER_MAGIC 0x0BD00BD0
#define LL_COMMITCBD_RUNNING 0x4
struct ll_sb_info {
+ unsigned char ll_sb_uuid[37];
struct lustre_handle ll_mdc_conn;
struct lustre_handle ll_osc_conn;
obd_id ll_rootino; /* number of root inode */
return (struct ll_inode_info *)&(inode->u.generic_ip);
}
-static inline int ll_has_inline(struct inode *inode)
-{
- return (ll_i2info(inode)->lli_flags & OBD_FL_INLINEDATA);
-}
-
-
static inline struct lustre_handle *ll_i2obdconn(struct inode *inode)
{
return ll_s2obdconn(inode->i_sb);
/* file.c */
extern struct file_operations ll_file_operations;
extern struct inode_operations ll_file_inode_operations;
+struct ldlm_lock;
+int ll_lock_callback(struct ldlm_lock *, struct ldlm_lock_desc *, void *data,
+ __u32 data_len);
+int ll_size_lock(struct inode *, struct lov_stripe_md *, __u64 start, int mode,
+ struct lustre_handle **);
+int ll_size_unlock(struct inode *, struct lov_stripe_md *, int mode,
+ struct lustre_handle *);
+int ll_file_size(struct inode *inode, struct lov_stripe_md *md);
/* rw.c */
struct page *ll_getpage(struct inode *inode, unsigned long offset,