linux-next: manual merge of the vfs tree with the syscall tree

From: Stephen Rothwell
Date: Wed Mar 28 2018 - 20:59:20 EST


Hi Al,

Today's linux-next merge of the vfs tree got a conflict in:

fs/internal.h
fs/open.c

between various commits from the syscall tree and commit:

cab64df19466 ("fs: fold open_check_o_direct into do_dentry_open")

from the vfs tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

--
Cheers,
Stephen Rothwell

diff --cc fs/internal.h
index 980d005b21b4,5e797281d941..000000000000
--- a/fs/internal.h
+++ b/fs/internal.h
@@@ -119,13 -111,6 +119,12 @@@ extern struct file *do_filp_open(int df
extern struct file *do_file_open_root(struct dentry *, struct vfsmount *,
const char *, const struct open_flags *);

+long do_sys_ftruncate(unsigned int fd, loff_t length, int small);
+long do_faccessat(int dfd, const char __user *filename, int mode);
+int do_fchmodat(int dfd, const char __user *filename, umode_t mode);
+int do_fchownat(int dfd, const char __user *filename, uid_t user, gid_t group,
+ int flag);
+
- extern int open_check_o_direct(struct file *f);
extern int vfs_open(const struct path *, struct file *, const struct cred *);
extern struct file *filp_clone_open(struct file *);

diff --cc fs/open.c
index d0e955b558ad,f587f3dbfc7f..000000000000
--- a/fs/open.c
+++ b/fs/open.c
@@@ -719,21 -682,6 +719,11 @@@ out
return error;
}

+SYSCALL_DEFINE3(fchown, unsigned int, fd, uid_t, user, gid_t, group)
+{
+ return ksys_fchown(fd, user, group);
+}
+
- int open_check_o_direct(struct file *f)
- {
- /* NB: we're sure to have correct a_ops only after f_op->open */
- if (f->f_flags & O_DIRECT) {
- if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO)
- return -EINVAL;
- }
- return 0;
- }
-
static int do_dentry_open(struct file *f,
struct inode *inode,
int (*open)(struct inode *, struct file *),

Attachment: pgplWyYpiB7xZ.pgp
Description: OpenPGP digital signature