diff options
author | David Howells <dhowells@redhat.com> | 2008-02-07 00:15:27 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-07 08:42:26 -0800 |
commit | b46980feed937868d3333514028bfbe9a651e4ca (patch) | |
tree | 97e610932986223932887af3c0ea00234856e540 /fs/bad_inode.c | |
parent | e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f (diff) | |
download | linux-3.10-b46980feed937868d3333514028bfbe9a651e4ca.tar.gz linux-3.10-b46980feed937868d3333514028bfbe9a651e4ca.tar.bz2 linux-3.10-b46980feed937868d3333514028bfbe9a651e4ca.zip |
iget: introduce a function to register iget failure
Introduce a function to register failure in an inode construction path. This
includes marking the inode under construction as bad, unlocking it and
releasing it.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/bad_inode.c')
-rw-r--r-- | fs/bad_inode.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/bad_inode.c b/fs/bad_inode.c index 521ff7caadb..f1c2ea8342f 100644 --- a/fs/bad_inode.c +++ b/fs/bad_inode.c @@ -359,3 +359,17 @@ int is_bad_inode(struct inode *inode) } EXPORT_SYMBOL(is_bad_inode); + +/** + * iget_failed - Mark an under-construction inode as dead and release it + * @inode: The inode to discard + * + * Mark an under-construction inode as dead and release it. + */ +void iget_failed(struct inode *inode) +{ + make_bad_inode(inode); + unlock_new_inode(inode); + iput(inode); +} +EXPORT_SYMBOL(iget_failed); |