]> git.baikalelectronics.ru Git - kernel.git/commit
eCryptfs: Add getattr function
authorTyler Hicks <tyhicks@linux.vnet.ibm.com>
Wed, 4 Nov 2009 08:48:01 +0000 (02:48 -0600)
committerTyler Hicks <tyhicks@linux.vnet.ibm.com>
Wed, 20 Jan 2010 04:32:09 +0000 (22:32 -0600)
commitd85c6a30bbb4ef47544939e20104e02cf3a72722
tree67acfc58f5e952e4fd2720d2e5e77409db40b6b8
parent2129858c2dfead8abcf64390e5aa5296256ddfbd
eCryptfs: Add getattr function

The i_blocks field of an eCryptfs inode cannot be trusted, but
generic_fillattr() uses it to instantiate the blocks field of a stat()
syscall when a filesystem doesn't implement its own getattr().  Users
have noticed that the output of du is incorrect on newly created files.

This patch creates ecryptfs_getattr() which calls into the lower
filesystem's getattr() so that eCryptfs can use its kstat.blocks value
after calling generic_fillattr().  It is important to note that the
block count includes the eCryptfs metadata stored in the beginning of
the lower file plus any padding used to fill an extent before
encryption.

https://bugs.launchpad.net/ecryptfs/+bug/390833

Reported-by: Dominic Sacré <dominic.sacre@gmx.de>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
fs/ecryptfs/inode.c