X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_fsfilt.h;h=a0754e9339120044a5003bfee089ffd308288467;hp=2996e36597eef695cf3cb5a56645e82cd5109963;hb=27a2db7e9cad513c0afcaf901e5e93ac7cd03662;hpb=6869932b552ac705f411de3362f01bd50c1f6f7d diff --git a/lustre/include/linux/lustre_fsfilt.h b/lustre/include/linux/lustre_fsfilt.h index 2996e36..a0754e9 100644 --- a/lustre/include/linux/lustre_fsfilt.h +++ b/lustre/include/linux/lustre_fsfilt.h @@ -58,8 +58,6 @@ struct fsfilt_objinfo { int fso_bufcnt; }; -#define XATTR_LUSTRE_MDS_LOV_EA "lov" - struct lustre_dquot; struct fsfilt_operations { struct list_head fs_list; @@ -113,16 +111,18 @@ struct fsfilt_operations { int (* fs_read_record)(struct file *, void *, int size, loff_t *); int (* fs_setup)(struct super_block *sb); int (* fs_get_op_len)(int, struct fsfilt_objinfo *, int); - int (* fs_quotactl)(struct super_block *sb, - struct obd_quotactl *oqctl); int (* fs_quotacheck)(struct super_block *sb, struct obd_quotactl *oqctl); __u64 (* fs_get_version) (struct inode *inode); __u64 (* fs_set_version) (struct inode *inode, __u64 new_version); + int (* fs_quotactl)(struct super_block *sb, + struct obd_quotactl *oqctl); int (* fs_quotainfo)(struct lustre_quota_info *lqi, int type, int cmd); int (* fs_qids)(struct file *file, struct inode *inode, int type, struct list_head *list); + int (* fs_get_mblk)(struct super_block *sb, int *count, + struct inode *inode, int frags); int (* fs_dquot)(struct lustre_dquot *dquot, int cmd); lvfs_sbdev_type (* fs_journal_sbdev)(struct super_block *sb); }; @@ -167,18 +167,21 @@ static inline lvfs_sbdev_type fsfilt_journal_sbdev(struct obd_device *obd, return (lvfs_sbdev_type)0; } -#define FSFILT_OP_UNLINK 1 -#define FSFILT_OP_RMDIR 2 -#define FSFILT_OP_RENAME 3 -#define FSFILT_OP_CREATE 4 -#define FSFILT_OP_MKDIR 5 -#define FSFILT_OP_SYMLINK 6 -#define FSFILT_OP_MKNOD 7 -#define FSFILT_OP_SETATTR 8 -#define FSFILT_OP_LINK 9 -#define FSFILT_OP_CANCEL_UNLINK 10 -#define FSFILT_OP_JOIN 11 -#define FSFILT_OP_NOOP 15 +#define FSFILT_OP_UNLINK 1 +#define FSFILT_OP_RMDIR 2 +#define FSFILT_OP_RENAME 3 +#define FSFILT_OP_CREATE 4 +#define FSFILT_OP_MKDIR 5 +#define FSFILT_OP_SYMLINK 6 +#define FSFILT_OP_MKNOD 7 +#define FSFILT_OP_SETATTR 8 +#define FSFILT_OP_LINK 9 +#define FSFILT_OP_CANCEL_UNLINK 10 +#define FSFILT_OP_JOIN 11 +#define FSFILT_OP_NOOP 15 +#define FSFILT_OP_UNLINK_PARTIAL_CHILD 21 +#define FSFILT_OP_UNLINK_PARTIAL_PARENT 22 +#define FSFILT_OP_CREATE_PARTIAL_CHILD 23 #define __fsfilt_check_slow(obd, start, msg) \ do { \ @@ -209,9 +212,6 @@ static inline void *fsfilt_start_log(struct obd_device *obd, void *parent_handle = oti ? oti->oti_handle : NULL; void *handle; - if (obd->obd_fail) - return ERR_PTR(-EROFS); - handle = obd->obd_fsops->fs_start(inode, op, parent_handle, logs); CDEBUG(D_INFO, "started handle %p (%p)\n", handle, parent_handle); @@ -243,9 +243,6 @@ static inline void *fsfilt_brw_start_log(struct obd_device *obd, int objcount, void *parent_handle = oti ? oti->oti_handle : NULL; void *handle; - if (obd->obd_fail) - return ERR_PTR(-EROFS); - handle = obd->obd_fsops->fs_brw_start(objcount, fso, niocount, nb, parent_handle, logs); CDEBUG(D_INFO, "started handle %p (%p)\n", handle, parent_handle); @@ -426,7 +423,7 @@ static inline int fsfilt_quotainfo(struct obd_device *obd, } static inline int fsfilt_qids(struct obd_device *obd, struct file *file, - struct inode *inode, int type, + struct inode *inode, int type, struct list_head *list) { if (obd->obd_fsops->fs_qids) @@ -442,6 +439,15 @@ static inline int fsfilt_dquot(struct obd_device *obd, return -ENOTSUPP; } +static inline int fsfilt_get_mblk(struct obd_device *obd, + struct super_block *sb, int *count, + struct inode *inode, int frags) +{ + if (obd->obd_fsops->fs_get_mblk) + return obd->obd_fsops->fs_get_mblk(sb, count, inode, frags); + return -ENOTSUPP; +} + static inline int fsfilt_map_inode_pages(struct obd_device *obd, struct inode *inode, struct page **page, int pages, @@ -483,7 +489,7 @@ static inline __u64 fsfilt_set_version(struct obd_device *obd, static inline __u64 fsfilt_get_version(struct obd_device *obd, struct inode *inode) { - if (obd->obd_fsops->fs_set_version) + if (obd->obd_fsops->fs_get_version) return obd->obd_fsops->fs_get_version(inode); return -EOPNOTSUPP; }