X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flvfs_linux.h;h=be7ab2a1c8b9c9b40639369e1596eef7d7762ac5;hb=4813fd9021a11e24521e76b708ce322c224df586;hp=71fc431b6e969c9e7dbd5a612158b787553f4f59;hpb=090c677210ee2946d99c71412e4ff762bb300f4f;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/lvfs_linux.h b/lustre/include/linux/lvfs_linux.h index 71fc431..be7ab2a 100644 --- a/lustre/include/linux/lvfs_linux.h +++ b/lustre/include/linux/lvfs_linux.h @@ -1,18 +1,16 @@ /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: - */ + */ #ifndef __LVFS_LINUX_H__ #define __LVFS_LINUX_H__ #include #include #include +#include #include -#include -#include -/* we have made EXT3_IOC_SETFLAGS a Lustre constant */ -#include +#include #define l_file file #define l_dentry dentry @@ -20,8 +18,8 @@ #define l_filp_open filp_open -struct obd_run_ctxt; -struct l_file *l_dentry_open(struct obd_run_ctxt *, struct l_dentry *, +struct lvfs_run_ctxt; +struct l_file *l_dentry_open(struct lvfs_run_ctxt *, struct l_dentry *, int flags); struct l_linux_dirent { @@ -35,4 +33,30 @@ struct l_readdir_callback { struct list_head *lrc_list; }; -#endif +#define LVFS_DENTRY_PARAM_MAGIC 20070216UL +struct lvfs_dentry_params +{ + unsigned long ldp_inum; + void *ldp_ptr; + __u32 ldp_magic; +}; +#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 + +int fsync_bdev(struct block_device *); + +/* Instead of calling within lvfs (a layering violation) */ +#define lvfs_set_rdonly(obd, sb) \ + __lvfs_set_rdonly(lvfs_sbdev(sb), fsfilt_journal_sbdev(obd, sb)) + +void __lvfs_set_rdonly(lvfs_sbdev_type dev, lvfs_sbdev_type jdev); + +int lvfs_check_rdonly(lvfs_sbdev_type dev); +void lvfs_clear_rdonly(lvfs_sbdev_type dev); + +#endif /* __LVFS_LINUX_H__ */