X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fbad_inode.c;h=5f1538c03b1bbeb068c089146cc28fc502bb0d83;hb=9ea319b61613085f501a79cf8d405cb221d084f3;hp=521ff7caadbd687ada5ed347edc696d70168392f;hpb=4c75f7416f51b0c6855952467a5db04f9c598f09;p=linux-2.6 diff --git a/fs/bad_inode.c b/fs/bad_inode.c index 521ff7caad..5f1538c03b 100644 --- a/fs/bad_inode.c +++ b/fs/bad_inode.c @@ -243,8 +243,7 @@ static int bad_inode_readlink(struct dentry *dentry, char __user *buffer, return -EIO; } -static int bad_inode_permission(struct inode *inode, int mask, - struct nameidata *nd) +static int bad_inode_permission(struct inode *inode, int mask) { return -EIO; } @@ -359,3 +358,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);