On Wed, Mar 30, 2011 at 12:33 PM, Joel Becker <jlbec@xxxxxxxxxxxx> wrote: > On Wed, Mar 30, 2011 at 08:05:38AM +0200, Amir Goldstein wrote: >> Just wanted to clarify there are 2 differences I notice between mmap >> write to a hole >> and mmap write to COWed file with ENOSPC: >> >> 1. A "good" application can avoid mmap write to a hole. >> >> 2. when initiating a hole, the mkwrite callback is in used (in ext4) to >> reserve disk space for delayed allocation when a page becomes writable. >> with COW a page may already be writable when the flush encounters COW >> with ENOSPC. that flush can even happen after the application has exited, >> so the data will be dropped on the floor silently (like in ext3). > > ocfs2 doesn't have delayed allocation yet, so we try and fail > the allocation in write_begin() right under mkwrite(). > And what if the page is already writable? Do you go over all inode pages and make them RO after fastcopy? For volume level snapshot this isn't a sensible option. Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html