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 <dmonakhov@xxxxxxxxxx>: > 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 <dmonakhov@xxxxxxxxxx> > --- > 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 > > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html