Mikhail Ryleev wrote: > It also fixes a problem with partially written data that actually should > return the amount of data written. May be OK, most callers will simply treat as an error, but various other commit_write implementations don't do this. What code expects a partial count return? > 2. device is out of space while creating new object. In this case > current code returns ENOMEM error code which is also misleading. > Unfortunatly, I do not see a simple fix here, the structure of code is > such that it is hard to diffirenciate out-of-memory vs. out-of-space > situation here but I think ENOSPC would be better here because it is > more likely to happen. > >... > @@ -785,7 +784,7 @@ > } > yaffs_GrossUnlock(dev); > > - return nWritten != n ? -ENOSPC : nWritten; > + return ( nWritten == n || nWritten > 0 ) ? nWritten : -ENOSPC; Can't match the code change to the description above, how was ENOMEM returned before? Is a check for nWritten < 0 (-ENOMEM) appropriate? Or else ( nWritten == n || nWritten > 0 ) can simply be nWritten > 0 . -- Todd