Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs: Provide __inode_get_bytes()

Provide helper __inode_get_bytes() which assumes i_lock is already
acquired. Quota code will need this to be able to use i_lock to protect
consistency of quota accounting information and inode usage.

Signed-off-by: Jan Kara <jack@suse.cz>

Jan Kara f4a8116a 3ab167d2

+5 -1
+1 -1
fs/stat.c
··· 710 710 loff_t ret; 711 711 712 712 spin_lock(&inode->i_lock); 713 - ret = (((loff_t)inode->i_blocks) << 9) + inode->i_bytes; 713 + ret = __inode_get_bytes(inode); 714 714 spin_unlock(&inode->i_lock); 715 715 return ret; 716 716 }
+4
include/linux/fs.h
··· 2998 2998 void inode_add_bytes(struct inode *inode, loff_t bytes); 2999 2999 void __inode_sub_bytes(struct inode *inode, loff_t bytes); 3000 3000 void inode_sub_bytes(struct inode *inode, loff_t bytes); 3001 + static inline loff_t __inode_get_bytes(struct inode *inode) 3002 + { 3003 + return (((loff_t)inode->i_blocks) << 9) + inode->i_bytes; 3004 + } 3001 3005 loff_t inode_get_bytes(struct inode *inode); 3002 3006 void inode_set_bytes(struct inode *inode, loff_t bytes); 3003 3007 const char *simple_get_link(struct dentry *, struct inode *,