diff options
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r-- | fs/ceph/super.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index 30446b144e3d..a23eed526f05 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h | |||
@@ -543,13 +543,16 @@ extern void ceph_reservation_status(struct ceph_fs_client *client, | |||
543 | /* | 543 | /* |
544 | * we keep buffered readdir results attached to file->private_data | 544 | * we keep buffered readdir results attached to file->private_data |
545 | */ | 545 | */ |
546 | #define CEPH_F_SYNC 1 | ||
547 | #define CEPH_F_ATEND 2 | ||
548 | |||
546 | struct ceph_file_info { | 549 | struct ceph_file_info { |
547 | int fmode; /* initialized on open */ | 550 | short fmode; /* initialized on open */ |
551 | short flags; /* CEPH_F_* */ | ||
548 | 552 | ||
549 | /* readdir: position within the dir */ | 553 | /* readdir: position within the dir */ |
550 | u32 frag; | 554 | u32 frag; |
551 | struct ceph_mds_request *last_readdir; | 555 | struct ceph_mds_request *last_readdir; |
552 | int at_end; | ||
553 | 556 | ||
554 | /* readdir: position within a frag */ | 557 | /* readdir: position within a frag */ |
555 | unsigned offset; /* offset of last chunk, adjusted for . and .. */ | 558 | unsigned offset; /* offset of last chunk, adjusted for . and .. */ |
@@ -789,6 +792,8 @@ extern const struct dentry_operations ceph_dentry_ops, ceph_snap_dentry_ops, | |||
789 | ceph_snapdir_dentry_ops; | 792 | ceph_snapdir_dentry_ops; |
790 | 793 | ||
791 | extern int ceph_handle_notrace_create(struct inode *dir, struct dentry *dentry); | 794 | extern int ceph_handle_notrace_create(struct inode *dir, struct dentry *dentry); |
795 | extern int ceph_handle_snapdir(struct ceph_mds_request *req, | ||
796 | struct dentry *dentry, int err); | ||
792 | extern struct dentry *ceph_finish_lookup(struct ceph_mds_request *req, | 797 | extern struct dentry *ceph_finish_lookup(struct ceph_mds_request *req, |
793 | struct dentry *dentry, int err); | 798 | struct dentry *dentry, int err); |
794 | 799 | ||
@@ -796,7 +801,8 @@ extern void ceph_dentry_lru_add(struct dentry *dn); | |||
796 | extern void ceph_dentry_lru_touch(struct dentry *dn); | 801 | extern void ceph_dentry_lru_touch(struct dentry *dn); |
797 | extern void ceph_dentry_lru_del(struct dentry *dn); | 802 | extern void ceph_dentry_lru_del(struct dentry *dn); |
798 | extern void ceph_invalidate_dentry_lease(struct dentry *dentry); | 803 | extern void ceph_invalidate_dentry_lease(struct dentry *dentry); |
799 | extern unsigned ceph_dentry_hash(struct dentry *dn); | 804 | extern unsigned ceph_dentry_hash(struct inode *dir, struct dentry *dn); |
805 | extern struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry); | ||
800 | 806 | ||
801 | /* | 807 | /* |
802 | * our d_ops vary depending on whether the inode is live, | 808 | * our d_ops vary depending on whether the inode is live, |
@@ -819,14 +825,6 @@ extern int ceph_encode_locks(struct inode *i, struct ceph_pagelist *p, | |||
819 | int p_locks, int f_locks); | 825 | int p_locks, int f_locks); |
820 | extern int lock_to_ceph_filelock(struct file_lock *fl, struct ceph_filelock *c); | 826 | extern int lock_to_ceph_filelock(struct file_lock *fl, struct ceph_filelock *c); |
821 | 827 | ||
822 | static inline struct inode *get_dentry_parent_inode(struct dentry *dentry) | ||
823 | { | ||
824 | if (dentry && dentry->d_parent) | ||
825 | return dentry->d_parent->d_inode; | ||
826 | |||
827 | return NULL; | ||
828 | } | ||
829 | |||
830 | /* debugfs.c */ | 828 | /* debugfs.c */ |
831 | extern int ceph_fs_debugfs_init(struct ceph_fs_client *client); | 829 | extern int ceph_fs_debugfs_init(struct ceph_fs_client *client); |
832 | extern void ceph_fs_debugfs_cleanup(struct ceph_fs_client *client); | 830 | extern void ceph_fs_debugfs_cleanup(struct ceph_fs_client *client); |