1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef _LINUX_FS_STACK_H |
3 | #define _LINUX_FS_STACK_H |
4 | |
5 | /* This file defines generic functions used primarily by stackable |
6 | * filesystems; none of these functions require i_mutex to be held. |
7 | */ |
8 | |
9 | #include <linux/fs.h> |
10 | |
11 | /* externs for fs/stack.c */ |
12 | extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src); |
13 | extern void fsstack_copy_inode_size(struct inode *dst, struct inode *src); |
14 | |
15 | /* inlines */ |
16 | static inline void fsstack_copy_attr_atime(struct inode *dest, |
17 | const struct inode *src) |
18 | { |
19 | inode_set_atime_to_ts(inode: dest, ts: inode_get_atime(inode: src)); |
20 | } |
21 | |
22 | static inline void fsstack_copy_attr_times(struct inode *dest, |
23 | const struct inode *src) |
24 | { |
25 | inode_set_atime_to_ts(inode: dest, ts: inode_get_atime(inode: src)); |
26 | inode_set_mtime_to_ts(inode: dest, ts: inode_get_mtime(inode: src)); |
27 | inode_set_ctime_to_ts(inode: dest, ts: inode_get_ctime(inode: src)); |
28 | } |
29 | |
30 | #endif /* _LINUX_FS_STACK_H */ |
31 |