]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - fs/aufs/loop.h
UBUNTU: SAUCE: Import aufs driver
[mirror_ubuntu-artful-kernel.git] / fs / aufs / loop.h
1 /*
2 * Copyright (C) 2005-2017 Junjiro R. Okajima
3 *
4 * This program, aufs is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18 /*
19 * support for loopback mount as a branch
20 */
21
22 #ifndef __AUFS_LOOP_H__
23 #define __AUFS_LOOP_H__
24
25 #ifdef __KERNEL__
26
27 struct dentry;
28 struct super_block;
29
30 #ifdef CONFIG_AUFS_BDEV_LOOP
31 /* drivers/block/loop.c */
32 struct file *loop_backing_file(struct super_block *sb);
33
34 /* loop.c */
35 int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding);
36 int au_test_loopback_kthread(void);
37 void au_warn_loopback(struct super_block *h_sb);
38
39 int au_loopback_init(void);
40 void au_loopback_fin(void);
41
42 struct file *aufs_real_loop(struct file *file);
43 #else
44 AuStub(struct file *, loop_backing_file, return NULL)
45
46 AuStubInt0(au_test_loopback_overlap, struct super_block *sb,
47 struct dentry *h_adding)
48 AuStubInt0(au_test_loopback_kthread, void)
49 AuStubVoid(au_warn_loopback, struct super_block *h_sb)
50
51 AuStubInt0(au_loopback_init, void)
52 AuStubVoid(au_loopback_fin, void)
53
54 AuStub(struct file *, aufs_real_loop, return NULL, struct file *file)
55 #endif /* BLK_DEV_LOOP */
56
57 #endif /* __KERNEL__ */
58 #endif /* __AUFS_LOOP_H__ */