summaryrefslogtreecommitdiff
path: root/include/crypto
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2009-08-07 17:38:25 (GMT)
committerChristoph Hellwig <hch@brick.lst.de>2009-08-07 17:38:25 (GMT)
commit54e346215e4fe2ca8c94c54e546cc61902060510 (patch)
tree9b4ed9b0ab78117ba1a41db7073708031622cf10 /include/crypto
parent90bc1a658a53f8832ee799685703977a450e5af9 (diff)
downloadlinux-54e346215e4fe2ca8c94c54e546cc61902060510.tar.xz
vfs: fix inode_init_always calling convention
Currently inode_init_always calls into ->destroy_inode if the additional initialization fails. That's not only counter-intuitive because inode_init_always did not allocate the inode structure, but in case of XFS it's actively harmful as ->destroy_inode might delete the inode from a radix-tree that has never been added. This in turn might end up deleting the inode for the same inum that has been instanciated by another process and cause lots of cause subtile problems. Also in the case of re-initializing a reclaimable inode in XFS it would free an inode we still want to keep alive. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Diffstat (limited to 'include/crypto')
0 files changed, 0 insertions, 0 deletions