Re: EXT3: problem with copy_from_user inside a transaction

From: Chris Mason
Date: Sat Sep 04 2004 - 03:42:33 EST


On Fri, 2004-09-03 at 09:57, Andrey Savochkin wrote:

> > This would mean that all the work is done during the commit_write
> > stage. The trick is that we would have to handle -ENOSPC since we might
> > not know we've run out of room until after the data has been copied from
> > userland.
>
> What is the problem -ENOSPC?
> Do you think about the problem of the page existing before this write, it's
> content overwritten, but the filesystem being unable to commit that write
> because it needs more space?

Exactly. In this case, we've effectively corrupted the page cache.
We've copied data in that isn't (and never will be) reflected on disk.
It isn't a horribly difficult case, we just need to overwrite the data
with zeros, making sure to only overwrite the data corresponding to the
-ENOSPC error.

-chris


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/