Re: linux-next: manual merge of the vfs-scale tree with Linus' tree

From: Stephen Rothwell
Date: Thu Dec 30 2010 - 19:08:22 EST


[cc'ing Christoph properly this time. The author field in the commit in
Liunus' tree has an unqualified email address which I copy-and-pasted ...]

On Fri, 31 Dec 2010 10:54:32 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the vfs-scale tree got a conflict in
> Documentation/filesystems/Locking between commit
> b83be6f20a0e468f715b14225c9f897538dfe5ad ("update
> Documentation/filesystems/Locking") from Linus' tree and various commits
> from the vfs-scale tree.
>
> I fixed it up (as best I could - see below) and can carry the fix as
> necessary.
> --
> Cheers,
> Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
>
> diff --cc Documentation/filesystems/Locking
> index 7686e76,c1a7e72..0000000
> --- a/Documentation/filesystems/Locking
> +++ b/Documentation/filesystems/Locking
> @@@ -18,13 -22,15 +22,14 @@@ prototypes
> char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);
>
> locking rules:
> - dcache_lock rename_lock ->d_lock may block
> - d_revalidate: no no no yes
> - d_hash no no no yes
> - d_compare: no yes no no
> - d_delete: yes no yes no
> - d_release: no no no yes
> - d_iput: no no no yes
> - none have BKL
> + rename_lock ->d_lock may block rcu-walk
> + d_revalidate: no no yes no
> + d_revalidate_rcu:no no yes (ref-walk) maybe
> + d_hash no no no maybe
> + d_compare: yes no no maybe
> + d_delete: no yes no no
> + d_release: no no yes no
> + d_iput: no no yes no
> d_dname: no no no no
>
> --------------------------- inode_operations ---------------------------
> @@@ -41,11 -47,12 +46,13 @@@ ata *)
> int (*rename) (struct inode *, struct dentry *,
> struct inode *, struct dentry *);
> int (*readlink) (struct dentry *, char __user *,int);
> - int (*follow_link) (struct dentry *, struct nameidata *);
> + void * (*follow_link) (struct dentry *, struct nameidata *);
> + void (*put_link) (struct dentry *, struct nameidata *, void *);
> void (*truncate) (struct inode *);
> - int (*permission) (struct inode *, int, struct nameidata *);
> + int (*permission) (struct inode *, int);
> + int (*permission_rcu) (struct inode *, int, unsigned int);
> int (*check_acl)(struct inode *, int);
> + int (*check_acl_rcu)(struct inode *, int, unsigned int);
> int (*setattr) (struct dentry *, struct iattr *);
> int (*getattr) (struct vfsmount *, struct dentry *, struct kstat *);
> int (*setxattr) (struct dentry *, const char *,const void *,size_t,int);
> @@@ -74,7 -77,7 +81,8 @@@ put_link: n
> truncate: yes (see below)
> setattr: yes
> permission: no
> + permission_rcu: no (may not block if called in rcu-walk mode)
> +check_acl: no
> getattr: no
> setxattr: yes
> getxattr: no


--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature