diff options
Diffstat (limited to 'fs/attr.c')
| -rw-r--r-- | fs/attr.c | 33 | 
1 files changed, 4 insertions, 29 deletions
| diff --git a/fs/attr.c b/fs/attr.c index c3c76fe78346..b1796fb9e524 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -10,7 +10,7 @@  #include <linux/mm.h>  #include <linux/string.h>  #include <linux/smp_lock.h> -#include <linux/dnotify.h> +#include <linux/fsnotify.h>  #include <linux/fcntl.h>  #include <linux/quotaops.h>  #include <linux/security.h> @@ -107,31 +107,8 @@ int inode_setattr(struct inode * inode, struct iattr * attr)  out:  	return error;  } -  EXPORT_SYMBOL(inode_setattr); -int setattr_mask(unsigned int ia_valid) -{ -	unsigned long dn_mask = 0; - -	if (ia_valid & ATTR_UID) -		dn_mask |= DN_ATTRIB; -	if (ia_valid & ATTR_GID) -		dn_mask |= DN_ATTRIB; -	if (ia_valid & ATTR_SIZE) -		dn_mask |= DN_MODIFY; -	/* both times implies a utime(s) call */ -	if ((ia_valid & (ATTR_ATIME|ATTR_MTIME)) == (ATTR_ATIME|ATTR_MTIME)) -		dn_mask |= DN_ATTRIB; -	else if (ia_valid & ATTR_ATIME) -		dn_mask |= DN_ACCESS; -	else if (ia_valid & ATTR_MTIME) -		dn_mask |= DN_MODIFY; -	if (ia_valid & ATTR_MODE) -		dn_mask |= DN_ATTRIB; -	return dn_mask; -} -  int notify_change(struct dentry * dentry, struct iattr * attr)  {  	struct inode *inode = dentry->d_inode; @@ -197,11 +174,9 @@ int notify_change(struct dentry * dentry, struct iattr * attr)  	if (ia_valid & ATTR_SIZE)  		up_write(&dentry->d_inode->i_alloc_sem); -	if (!error) { -		unsigned long dn_mask = setattr_mask(ia_valid); -		if (dn_mask) -			dnotify_parent(dentry, dn_mask); -	} +	if (!error) +		fsnotify_change(dentry, ia_valid); +  	return error;  } | 
