aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2
diff options
context:
space:
mode:
authorLi Dongyang <lidongyang@novell.com>2010-04-22 16:11:25 +0800
committerMark Fasheh <mfasheh@suse.com>2010-04-23 11:05:00 -0700
commitab41fdc8fdd9f0942430941c1e2b516fd481371d (patch)
treeb362d6295b6b69909eefef0a1b1483e59be1fcec /fs/ocfs2
parentocfs2: add OCFS2_INODE_SKIP_ORPHAN_DIR flag and honor it in the inode wipe code (diff)
downloadlinux-dev-ab41fdc8fdd9f0942430941c1e2b516fd481371d.tar.xz
linux-dev-ab41fdc8fdd9f0942430941c1e2b516fd481371d.zip
ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_symlink error path
Mark the inode with flag OCFS2_INODE_SKIP_ORPHAN_DIR when we get an error after allocating one, so that we can kill the inode. Signed-off-by: Li Dongyang <lidongyang@novell.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2')
-rw-r--r--fs/ocfs2/namei.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index ae315c9c768f..b66e48855825 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -1811,6 +1811,7 @@ bail:
if (xattr_ac)
ocfs2_free_alloc_context(xattr_ac);
if ((status < 0) && inode) {
+ OCFS2_I(inode)->ip_flags |= OCFS2_INODE_SKIP_ORPHAN_DIR;
clear_nlink(inode);
iput(inode);
}