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 *),