Whamcloud - gitweb
LU-13799 llite: Adjust dio refcounting
[fs/lustre-release.git] / lustre / llite / foreign_symlink.h
1 /*
2  * GPL HEADER START
3  *
4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 only,
8  * as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * General Public License version 2 for more details (a copy is included
14  * in the LICENSE file that accompanied this code).
15  *
16  * You should have received a copy of the GNU General Public License
17  * version 2 along with this program; If not, see
18  * http://www.gnu.org/licenses/gpl-2.0.html
19  *
20  * GPL HEADER END
21  */
22
23 #ifndef LLITE_FOREIGN_SYMLINK_H
24 #define LLITE_FOREIGN_SYMLINK_H
25
26 /* llite/llite_foreign_symlink.c */
27 #ifdef HAVE_INODEOPS_ENHANCED_GETATTR
28 int ll_foreign_symlink_getattr(const struct path *path, struct kstat *stat,
29                                u32 request_mask, unsigned int flags);
30 #else
31 int ll_foreign_symlink_getattr(struct vfsmount *mnt, struct dentry *de,
32                                struct kstat *stat);
33 #endif
34 ssize_t foreign_symlink_enable_show(struct kobject *kobj,
35                                     struct attribute *attr, char *buf);
36 ssize_t foreign_symlink_enable_store(struct kobject *kobj,
37                                      struct attribute *attr,
38                                      const char *buffer, size_t count);
39 ssize_t foreign_symlink_prefix_show(struct kobject *kobj,
40                                     struct attribute *attr, char *buf);
41 ssize_t foreign_symlink_prefix_store(struct kobject *kobj,
42                                      struct attribute *attr,
43                                      const char *buffer, size_t count);
44 ssize_t foreign_symlink_upcall_show(struct kobject *kobj,
45                                     struct attribute *attr, char *buf);
46 ssize_t foreign_symlink_upcall_store(struct kobject *kobj,
47                                      struct attribute *attr,
48                                      const char *buffer, size_t count);
49 ssize_t foreign_symlink_upcall_info_store(struct kobject *kobj,
50                                      struct attribute *attr,
51                                      const char *buffer, size_t count);
52 extern struct inode_operations ll_foreign_file_symlink_inode_operations;
53 extern struct inode_operations ll_foreign_dir_symlink_inode_operations;
54
55 #endif /* LLITE_FOREIGN_SYMLINK_H */