]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - fs/aufs/loop.h
x86/mm: Use WRITE_ONCE() when setting PTEs
[mirror_ubuntu-bionic-kernel.git] / fs / aufs / loop.h
CommitLineData
c088e31d
SF
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
27struct dentry;
28struct super_block;
29
30#ifdef CONFIG_AUFS_BDEV_LOOP
31/* drivers/block/loop.c */
32struct file *loop_backing_file(struct super_block *sb);
33
34/* loop.c */
35int au_test_loopback_overlap(struct super_block *sb, struct dentry *h_adding);
36int au_test_loopback_kthread(void);
37void au_warn_loopback(struct super_block *h_sb);
38
39int au_loopback_init(void);
40void au_loopback_fin(void);
41
42struct file *aufs_real_loop(struct file *file);
43#else
44AuStub(struct file *, loop_backing_file, return NULL)
45
46AuStubInt0(au_test_loopback_overlap, struct super_block *sb,
47 struct dentry *h_adding)
48AuStubInt0(au_test_loopback_kthread, void)
49AuStubVoid(au_warn_loopback, struct super_block *h_sb)
50
51AuStubInt0(au_loopback_init, void)
52AuStubVoid(au_loopback_fin, void)
53
54AuStub(struct file *, aufs_real_loop, return NULL, struct file *file)
55#endif /* BLK_DEV_LOOP */
56
57#endif /* __KERNEL__ */
58#endif /* __AUFS_LOOP_H__ */