From: Charles Manning Date: Tue, 16 Nov 2010 03:49:34 +0000 (+1300) Subject: yaffs direct: Fix yaffs_symlink error reporting for EEXIST X-Git-Tag: linux-mainline-patchset-4~81 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=4fef887b5cd2eb69ec776f7d13690d45be45082d yaffs direct: Fix yaffs_symlink error reporting for EEXIST Do a check if an object already exists. Signed-off-by: Charles Manning --- diff --git a/direct/yaffsfs.c b/direct/yaffsfs.c index 753bf4f..8a0d66c 100644 --- a/direct/yaffsfs.c +++ b/direct/yaffsfs.c @@ -2491,10 +2491,10 @@ int yaffs_symlink(const YCHAR *oldpath, const YCHAR *newpath) obj = yaffs_create_symlink(parent,name,mode,0,0,oldpath); if(obj) retVal = 0; - else{ - yaffsfs_SetError(-ENOSPC); /* just assume no space for now */ - retVal = -1; - } + else if (yaffsfs_FindObject(NULL,newpath,0,0, NULL)) + yaffsfs_SetError(-EEXIST); + else + yaffsfs_SetError(-ENOSPC); } yaffsfs_Unlock();