wok diff linux/stuff/aufs3-base.patch @ rev 25438
Update some web_site
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Sep 01 11:12:31 2022 +0000 (22 months ago) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/linux/stuff/aufs3-base.patch Thu Sep 01 11:12:31 2022 +0000 1.3 @@ -0,0 +1,149 @@ 1.4 +aufs3.16 base patch 1.5 + 1.6 +diff --git a/MAINTAINERS b/MAINTAINERS 1.7 +index c2066f4..f07a989 100644 1.8 +--- a/MAINTAINERS 1.9 ++++ b/MAINTAINERS 1.10 +@@ -1698,6 +1698,20 @@ F: include/linux/audit.h 1.11 + F: include/uapi/linux/audit.h 1.12 + F: kernel/audit* 1.13 + 1.14 ++AUFS (advanced multi layered unification filesystem) FILESYSTEM 1.15 ++M: "J. R. Okajima" <hooanon05g@gmail.com> 1.16 ++L: linux-unionfs@vger.kernel.org 1.17 ++L: aufs-users@lists.sourceforge.net (members only) 1.18 ++W: http://aufs.sourceforge.net 1.19 ++T: git://git.code.sf.net/p/aufs/aufs3-linux 1.20 ++T: git://github.com/sfjro/aufs3-linux.git 1.21 ++S: Supported 1.22 ++F: Documentation/filesystems/aufs/ 1.23 ++F: Documentation/ABI/testing/debugfs-aufs 1.24 ++F: Documentation/ABI/testing/sysfs-aufs 1.25 ++F: fs/aufs/ 1.26 ++F: include/uapi/linux/aufs_type.h 1.27 ++ 1.28 + AUXILIARY DISPLAY DRIVERS 1.29 + M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> 1.30 + W: http://miguelojeda.es/auxdisplay.htm 1.31 +diff --git a/drivers/block/loop.c b/drivers/block/loop.c 1.32 +index 6cb1beb..30efd68 100644 1.33 +--- a/drivers/block/loop.c 1.34 ++++ b/drivers/block/loop.c 1.35 +@@ -692,6 +692,24 @@ static inline int is_loop_device(struct file *file) 1.36 + return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR; 1.37 + } 1.38 + 1.39 ++/* 1.40 ++ * for AUFS 1.41 ++ * no get/put for file. 1.42 ++ */ 1.43 ++struct file *loop_backing_file(struct super_block *sb) 1.44 ++{ 1.45 ++ struct file *ret; 1.46 ++ struct loop_device *l; 1.47 ++ 1.48 ++ ret = NULL; 1.49 ++ if (MAJOR(sb->s_dev) == LOOP_MAJOR) { 1.50 ++ l = sb->s_bdev->bd_disk->private_data; 1.51 ++ ret = l->lo_backing_file; 1.52 ++ } 1.53 ++ return ret; 1.54 ++} 1.55 ++EXPORT_SYMBOL(loop_backing_file); 1.56 ++ 1.57 + /* loop sysfs attributes */ 1.58 + 1.59 + static ssize_t loop_attr_show(struct device *dev, char *page, 1.60 +diff --git a/fs/dcache.c b/fs/dcache.c 1.61 +index 06f6585..0ea8c4a 100644 1.62 +--- a/fs/dcache.c 1.63 ++++ b/fs/dcache.c 1.64 +@@ -1057,7 +1057,7 @@ enum d_walk_ret { 1.65 + * 1.66 + * The @enter() and @finish() callbacks are called with d_lock held. 1.67 + */ 1.68 +-static void d_walk(struct dentry *parent, void *data, 1.69 ++void d_walk(struct dentry *parent, void *data, 1.70 + enum d_walk_ret (*enter)(void *, struct dentry *), 1.71 + void (*finish)(void *)) 1.72 + { 1.73 +diff --git a/fs/inode.c b/fs/inode.c 1.74 +index 6eecb7f..b225c0f 100644 1.75 +--- a/fs/inode.c 1.76 ++++ b/fs/inode.c 1.77 +@@ -1496,7 +1496,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, 1.78 + * This does the actual work of updating an inodes time or version. Must have 1.79 + * had called mnt_want_write() before calling this. 1.80 + */ 1.81 +-static int update_time(struct inode *inode, struct timespec *time, int flags) 1.82 ++int update_time(struct inode *inode, struct timespec *time, int flags) 1.83 + { 1.84 + if (inode->i_op->update_time) 1.85 + return inode->i_op->update_time(inode, time, flags); 1.86 +diff --git a/fs/splice.c b/fs/splice.c 1.87 +index f5cb9ba..9ba380c 100644 1.88 +--- a/fs/splice.c 1.89 ++++ b/fs/splice.c 1.90 +@@ -1114,8 +1114,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); 1.91 + /* 1.92 + * Attempt to initiate a splice from pipe to file. 1.93 + */ 1.94 +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 1.95 +- loff_t *ppos, size_t len, unsigned int flags) 1.96 ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 1.97 ++ loff_t *ppos, size_t len, unsigned int flags) 1.98 + { 1.99 + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, 1.100 + loff_t *, size_t, unsigned int); 1.101 +@@ -1131,9 +1131,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 1.102 + /* 1.103 + * Attempt to initiate a splice from a file to a pipe. 1.104 + */ 1.105 +-static long do_splice_to(struct file *in, loff_t *ppos, 1.106 +- struct pipe_inode_info *pipe, size_t len, 1.107 +- unsigned int flags) 1.108 ++long do_splice_to(struct file *in, loff_t *ppos, 1.109 ++ struct pipe_inode_info *pipe, size_t len, 1.110 ++ unsigned int flags) 1.111 + { 1.112 + ssize_t (*splice_read)(struct file *, loff_t *, 1.113 + struct pipe_inode_info *, size_t, unsigned int); 1.114 +diff --git a/include/linux/file.h b/include/linux/file.h 1.115 +index 4d69123..62cffc0 100644 1.116 +--- a/include/linux/file.h 1.117 ++++ b/include/linux/file.h 1.118 +@@ -19,6 +19,7 @@ struct dentry; 1.119 + struct path; 1.120 + extern struct file *alloc_file(struct path *, fmode_t mode, 1.121 + const struct file_operations *fop); 1.122 ++extern struct file *get_empty_filp(void); 1.123 + 1.124 + static inline void fput_light(struct file *file, int fput_needed) 1.125 + { 1.126 +diff --git a/include/linux/fs.h b/include/linux/fs.h 1.127 +index e11d60c..2f32b35 100644 1.128 +--- a/include/linux/fs.h 1.129 ++++ b/include/linux/fs.h 1.130 +@@ -2618,6 +2618,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); 1.131 + extern int inode_newsize_ok(const struct inode *, loff_t offset); 1.132 + extern void setattr_copy(struct inode *inode, const struct iattr *attr); 1.133 + 1.134 ++extern int update_time(struct inode *, struct timespec *, int); 1.135 + extern int file_update_time(struct file *file); 1.136 + 1.137 + extern int generic_show_options(struct seq_file *m, struct dentry *root); 1.138 +diff --git a/include/linux/splice.h b/include/linux/splice.h 1.139 +index da2751d..2e0fca6 100644 1.140 +--- a/include/linux/splice.h 1.141 ++++ b/include/linux/splice.h 1.142 +@@ -83,4 +83,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); 1.143 + extern void spd_release_page(struct splice_pipe_desc *, unsigned int); 1.144 + 1.145 + extern const struct pipe_buf_operations page_cache_pipe_buf_ops; 1.146 ++ 1.147 ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, 1.148 ++ loff_t *ppos, size_t len, unsigned int flags); 1.149 ++extern long do_splice_to(struct file *in, loff_t *ppos, 1.150 ++ struct pipe_inode_info *pipe, size_t len, 1.151 ++ unsigned int flags); 1.152 + #endif