From: Arve Hjønnevåg Date: Thu, 7 May 2009 00:37:10 +0000 (-0700) Subject: yaffs: Fix yaffs_file_write to not return -ENOSPC when there is nothing to write X-Git-Tag: firefly_0821_release~11694 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=567940aa0a576440a6f64b8bb2517c378f6b6886;p=firefly-linux-kernel-4.4.55.git yaffs: Fix yaffs_file_write to not return -ENOSPC when there is nothing to write yaffs_write_end may get called with copied == 0 if the requested write was interrupted by a signal, but user-space will not restart the write if -ENOSPC is returned. Signed-off-by: Arve Hjønnevåg --- diff --git a/fs/yaffs2/yaffs_fs.c b/fs/yaffs2/yaffs_fs.c index 30ae7c7e259a..2288eeee2d77 100644 --- a/fs/yaffs2/yaffs_fs.c +++ b/fs/yaffs2/yaffs_fs.c @@ -1075,7 +1075,7 @@ static ssize_t yaffs_file_write(struct file *f, const char *buf, size_t n, } yaffs_GrossUnlock(dev); - return nWritten == 0 ? -ENOSPC : nWritten; + return (!nWritten && n) ? -ENOSPC : nWritten; } /* Space holding and freeing is done to ensure we have space available for write_begin/end */