typedef struct { int e; } event_chan_t;
-typedef dev_t kdev_t;
/*
* Atmoic define
typedef __u32 off_t;
-typedef unsigned short kdev_t;
-
typedef __u32 pid_t;
typedef __u32 tid_t;
}
#endif
-#define to_kdev_t(dev) (dev)
-#define kdev_t_to_nr(dev) (dev)
-#define val_to_kdev(dev) (dev)
-
#define ext2_test_bit test_bit
#endif /* __KERNEL__ */
#error Do not #include this file directly. #include <obd_class.h> instead
#endif
-#if !defined(__KERNEL__)
-#define to_kdev_t(dev) (dev)
-#endif
-
#endif /* __XNU_OBD_CLASS_H */
/* general stuff */
-typedef __u64 kdev_t;
-
#ifndef min
#define min(x,y) ((x)<(y) ? (x) : (y))
#endif
lustre_dlm.h lustre_handles.h lustre_net.h obd_class.h obd_support.h \
lustre_log.h lustre_compat25.h lustre_fsfilt.h lustre_mds.h \
obd.h lvfs.h lvfs_linux.h lustre_lite.h lustre_quota.h \
- lustre_user.h lustre_patchless_compat.h lustre_intent.h
+ lustre_user.h lustre_patchless_compat.h lustre_intent.h lustre_common.h
--- /dev/null
+#ifndef LUSTRE_COMMON_H
+#define LUSTRE_COMMON_H
+
+#include <linux/sched.h>
+
+static inline int cfs_cleanup_group_info(void)
+{
+ struct group_info *ginfo;
+
+ ginfo = groups_alloc(0);
+ if (!ginfo)
+ return -ENOMEM;
+
+ set_current_groups(ginfo);
+ put_group_info(ginfo);
+
+ return 0;
+}
+
+#define ll_inode_blksize(a) (1<<(a)->i_blkbits)
+
+#endif
#ifndef _LINUX_COMPAT25_H
#define _LINUX_COMPAT25_H
-#ifdef __KERNEL__
-
#include <linux/fs_struct.h>
#include <linux/namei.h>
#include <libcfs/linux/portals_compat25.h>
generic_permission(inode, mask, check_acl)
#endif
-#define ll_pgcache_lock(mapping) cfs_spin_lock(&mapping->page_lock)
-#define ll_pgcache_unlock(mapping) cfs_spin_unlock(&mapping->page_lock)
-#define ll_call_writepage(inode, page) \
- (inode)->i_mapping->a_ops->writepage(page, NULL)
-#define ll_invalidate_inode_pages(inode) \
- invalidate_inode_pages((inode)->i_mapping)
-
-#define ll_vfs_create(a,b,c,d) vfs_create(a,b,c,d)
-#define ll_dev_t dev_t
-#define kdev_t dev_t
-#define to_kdev_t(dev) (dev)
-#define kdev_t_to_nr(dev) (dev)
-#define val_to_kdev(dev) (dev)
-
#ifdef HAVE_BLKDEV_PUT_2ARGS
#define ll_blkdev_put(a, b) blkdev_put(a, b)
#else
#define ll_dentry_open(a, b, c, d) dentry_open(a, b, c)
#endif
-#include <linux/writeback.h>
-
-static inline int cfs_cleanup_group_info(void)
-{
- struct group_info *ginfo;
-
- ginfo = groups_alloc(0);
- if (!ginfo)
- return -ENOMEM;
-
- set_current_groups(ginfo);
- put_group_info(ginfo);
-
- return 0;
-}
-
-#define __set_page_ll_data(page, llap) \
- do { \
- page_cache_get(page); \
- SetPagePrivate(page); \
- set_page_private(page, (unsigned long)llap); \
- } while (0)
-#define __clear_page_ll_data(page) \
- do { \
- ClearPagePrivate(page); \
- set_page_private(page, 0); \
- page_cache_release(page); \
- } while(0)
-
-#define kiobuf bio
-
-#include <linux/proc_fs.h>
-
-#define CheckWriteback(page, cmd) \
- ((!PageWriteback(page) && (cmd & OBD_BRW_READ)) || \
- (PageWriteback(page) && (cmd & OBD_BRW_WRITE)))
-
-#ifdef HAVE_PAGE_LIST
-static inline int mapping_has_pages(struct address_space *mapping)
-{
- int rc = 1;
-
- ll_pgcache_lock(mapping);
- if (cfs_list_empty(&mapping->dirty_pages) &&
- cfs_list_empty(&mapping->clean_pages) &&
- cfs_list_empty(&mapping->locked_pages)) {
- rc = 0;
- }
- ll_pgcache_unlock(mapping);
-
- return rc;
-}
-#else
-static inline int mapping_has_pages(struct address_space *mapping)
-{
- return mapping->nrpages > 0;
-}
-#endif
-
#ifdef HAVE_KIOBUF_KIO_BLOCKS
#define KIOBUF_GET_BLOCKS(k) ((k)->kio_blocks)
#else
#define ll_invalidate_bdev(a,b) invalidate_bdev((a))
#endif
-#define ll_inode_blksize(a) (1<<(a)->i_blkbits)
+#ifndef FS_HAS_FIEMAP
+#define FS_HAS_FIEMAP (0)
+#endif
-#ifdef HAVE_FS_RENAME_DOES_D_MOVE
-#define LL_RENAME_DOES_D_MOVE FS_RENAME_DOES_D_MOVE
-#else
-#define LL_RENAME_DOES_D_MOVE FS_ODD_RENAME
+#ifndef HAVE_FS_RENAME_DOES_D_MOVE
+#define FS_RENAME_DOES_D_MOVE FS_ODD_RENAME
#endif
#ifndef HAVE_D_OBTAIN_ALIAS
# define lm_compare_owner fl_compare_owner
#endif
-#endif /* __KERNEL__ */
#endif /* _COMPAT25_H */
* IO was submitted successfully.
*
*/
- int (* fs_send_bio)(int rw, struct inode *inode,struct kiobuf *bio);
+ int (* fs_send_bio)(int rw, struct inode *inode, struct bio *bio);
ssize_t (* fs_readpage)(struct file *file, char *buf, size_t count,
loff_t *offset);
int (* fs_add_journal_cb)(struct obd_device *obd, __u64 last_rcvd,
# include <linux/sched.h>
# include <linux/signal.h>
# include <linux/types.h>
+# include <linux/lustre_compat25.h>
+# include <linux/lustre_common.h>
#endif
-#include <linux/lustre_compat25.h>
#ifndef LP_POISON
#if BITS_PER_LONG > 32
#include <linux/rbtree.h>
#include <linux/lustre_compat25.h>
+#include <linux/lustre_common.h>
#include <linux/pagemap.h>
/* lprocfs.c */
#if defined __KERNEL__
#include <linux/lustre_compat25.h>
+#include <linux/lustre_common.h>
#include <linux/lvfs_linux.h>
#else
#include <liblustre.h>
#define LVFS_DENTRY_PARAMS_INIT { .ldp_magic = LVFS_DENTRY_PARAM_MAGIC }
#define BDEVNAME_DECLARE_STORAGE(foo) char foo[BDEVNAME_SIZE]
-#define ll_bdevname(SB, STORAGE) __bdevname(kdev_t_to_nr(SB->s_dev), STORAGE)
#define lvfs_sbdev(SB) ((SB)->s_bdev)
#define lvfs_sbdev_type struct block_device *
#define lvfs_sbdev_sync fsync_bdev
#endif
-#if !defined(__KERNEL__)
-#define to_kdev_t(dev) dev
-#define kdev_t_to_nr(dev) dev
-#endif
-
#endif /* __LINUX_OBD_CLASS_H */
#include <linux/slab.h>
#include <linux/highmem.h>
#include <linux/swap.h>
+#include <linux/lustre_compat25.h>
+#include <linux/lustre_common.h>
#endif
#include <libcfs/libcfs.h>
-#include <linux/lustre_compat25.h>
#include <lustre/lustre_idl.h>
stat->nlink = inode->i_nlink;
stat->uid = inode->i_uid;
stat->gid = inode->i_gid;
- stat->rdev = kdev_t_to_nr(inode->i_rdev);
+ stat->rdev = inode->i_rdev;
stat->atime = inode->i_atime;
stat->mtime = inode->i_mtime;
stat->ctime = inode->i_ctime;
} else {
inode->i_op = &ll_special_inode_operations;
- init_special_inode(inode, inode->i_mode,
- kdev_t_to_nr(inode->i_rdev));
+ init_special_inode(inode, inode->i_mode,
+ inode->i_rdev);
EXIT;
}
}
static int ll_mknod(struct inode *dir, struct dentry *dchild, int mode,
- ll_dev_t rdev)
+ dev_t rdev)
{
- return ll_mknod_generic(dir, &dchild->d_name, mode,
- old_encode_dev(rdev), dchild);
+ return ll_mknod_generic(dir, &dchild->d_name, mode,
+ old_encode_dev(rdev), dchild);
}
static int ll_unlink(struct inode * dir, struct dentry *dentry)
#include <linux/stat.h>
#include <linux/errno.h>
#include <linux/unistd.h>
-#include <linux/version.h>
+#include <linux/writeback.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <linux/stat.h>
#include <linux/errno.h>
#include <linux/unistd.h>
-#include <linux/version.h>
#include <asm/system.h>
#include <asm/uaccess.h>
GOTO(out_up, dchild);
}
- err = ll_vfs_create(dir->d_inode, dchild, (mode & ~S_IFMT) | S_IFREG,
- NULL);
- if (err)
- GOTO(out_err, err);
+ err = vfs_create(dir->d_inode, dchild, (mode & ~S_IFMT) | S_IFREG,
+ NULL);
+ if (err)
+ GOTO(out_err, err);
RETURN(dchild);
.get_sb = lustre_get_sb,
#endif
.kill_sb = lustre_kill_super,
- .fs_flags = FS_BINARY_MOUNTDATA | FS_REQUIRES_DEV |
-#ifdef FS_HAS_FIEMAP
- FS_HAS_FIEMAP |
-#endif
- LL_RENAME_DOES_D_MOVE,
+ .fs_flags = FS_BINARY_MOUNTDATA | FS_REQUIRES_DEV |
+ FS_HAS_FIEMAP | FS_RENAME_DOES_D_MOVE,
};
int lustre_register_fs(void)