Hello. I'm really sorry. My default smtp server was dead, so i've used
alternative.
This result in unexpected problems with mail delivery :(
Please ignore my spam. Again sorry.
2009/12/12 Dmitry Monakhov <[email protected]>:
> Quota code requires unlocked version of this function. Off course
> we can just copy-paste the code, but copy-pasting is always an evil.
>
> Signed-off-by: Dmitry Monakhov <[email protected]>
> ---
> fs/stat.c | 10 ++++++++--
> include/linux/fs.h | 1 +
> 2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/fs/stat.c b/fs/stat.c
> index 075694e..c4ecd52 100644
> --- a/fs/stat.c
> +++ b/fs/stat.c
> @@ -401,9 +401,9 @@ SYSCALL_DEFINE4(fstatat64, int, dfd, char __user *, filename,
> }
> #endif /* __ARCH_WANT_STAT64 */
>
> -void inode_add_bytes(struct inode *inode, loff_t bytes)
> +/* Caller is here responsible for sufficient locking (ie. inode->i_lock) */
> +void __inode_add_bytes(struct inode *inode, loff_t bytes)
> {
> - spin_lock(&inode->i_lock);
> inode->i_blocks += bytes >> 9;
> bytes &= 511;
> inode->i_bytes += bytes;
> @@ -411,6 +411,12 @@ void inode_add_bytes(struct inode *inode, loff_t bytes)
> inode->i_blocks++;
> inode->i_bytes -= 512;
> }
> +}
> +
> +void inode_add_bytes(struct inode *inode, loff_t bytes)
> +{
> + spin_lock(&inode->i_lock);
> + __inode_add_bytes(inode, bytes);
> spin_unlock(&inode->i_lock);
> }
>
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 2620a8c..98ea200 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -2314,6 +2314,7 @@ extern const struct inode_operations page_symlink_inode_operations;
> extern int generic_readlink(struct dentry *, char __user *, int);
> extern void generic_fillattr(struct inode *, struct kstat *);
> extern int vfs_getattr(struct vfsmount *, struct dentry *, struct kstat *);
> +void __inode_add_bytes(struct inode *inode, loff_t bytes);
> void inode_add_bytes(struct inode *inode, loff_t bytes);
> void inode_sub_bytes(struct inode *inode, loff_t bytes);
> loff_t inode_get_bytes(struct inode *inode);
> --
> 1.6.0.4
>
>