X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=fs%2Fexofs%2Fexofs.h;h=5ec72e020b22bb8fcbb1f08d1df4af037ab179bd;hb=0a3adadee42f2865bb867b8c5f4955b7def9baad;hp=0276242326abb252ddf1815827635a1528477ffd;hpb=beaec07ba6af35d387643b76a2920a7a6e22207b;p=safe%2Fjmp%2Flinux-2.6 diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h index 0276242..5ec72e0 100644 --- a/fs/exofs/exofs.h +++ b/fs/exofs/exofs.h @@ -1,8 +1,6 @@ /* * Copyright (C) 2005, 2006 - * Avishay Traeger (avishay@gmail.com) (avishay@il.ibm.com) - * Copyright (C) 2005, 2006 - * International Business Machines + * Avishay Traeger (avishay@gmail.com) * Copyright (C) 2008, 2009 * Boaz Harrosh * @@ -124,6 +122,11 @@ static inline struct exofs_i_info *exofs_i(struct inode *inode) return container_of(inode, struct exofs_i_info, vfs_inode); } +/* + * Maximum count of links to a file + */ +#define EXOFS_LINK_MAX 32000 + /************************* * function declarations * *************************/ @@ -133,10 +136,33 @@ int exofs_setattr(struct dentry *, struct iattr *); int exofs_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata); +extern struct inode *exofs_iget(struct super_block *, unsigned long); +struct inode *exofs_new_inode(struct inode *, int); +extern int exofs_write_inode(struct inode *, int); +extern void exofs_delete_inode(struct inode *); + +/* dir.c: */ +int exofs_add_link(struct dentry *, struct inode *); +ino_t exofs_inode_by_name(struct inode *, struct dentry *); +int exofs_delete_entry(struct exofs_dir_entry *, struct page *); +int exofs_make_empty(struct inode *, struct inode *); +struct exofs_dir_entry *exofs_find_entry(struct inode *, struct dentry *, + struct page **); +int exofs_empty_dir(struct inode *); +struct exofs_dir_entry *exofs_dotdot(struct inode *, struct page **); +ino_t exofs_parent_ino(struct dentry *child); +int exofs_set_link(struct inode *, struct exofs_dir_entry *, struct page *, + struct inode *); + +/* super.c */ +int exofs_sync_fs(struct super_block *sb, int wait); /********************* * operation vectors * *********************/ +/* dir.c: */ +extern const struct file_operations exofs_dir_operations; + /* file.c */ extern const struct inode_operations exofs_file_inode_operations; extern const struct file_operations exofs_file_operations; @@ -144,6 +170,10 @@ extern const struct file_operations exofs_file_operations; /* inode.c */ extern const struct address_space_operations exofs_aops; +/* namei.c */ +extern const struct inode_operations exofs_dir_inode_operations; +extern const struct inode_operations exofs_special_inode_operations; + /* symlink.c */ extern const struct inode_operations exofs_symlink_inode_operations; extern const struct inode_operations exofs_fast_symlink_inode_operations;