"No space left on device" is handled by the fs code, when it decides
where to put a block. No need to actually write the block to disk.
Possibly some fs's permanent data are updated and thus scheduled
for write -- again a job for the buffer cache, which has to honour
itself ordering constraints (what to write first, etc.)
tomas@tuxteam.de (HE12025-12-30):h free space
"No space left on device" is handled by the fs code, when it decides
where to put a block. No need to actually write the block to disk.
Possibly some fs's permanent data are updated and thus scheduled
for write -- again a job for the buffer cache, which has to honour
itself ordering constraints (what to write first, etc.)
You are thinking about it too shallowly.
?No space left on device? is not just a matter of how muc
there is, it depends highly on the specifics of the filesystem, and
possibly on fine details about the created file. Therefore, the metadata
of the filessytem must be updated for the first file before deciding if
the second file can be written.
And then, the metadata is updated again for the second file, on top of
the changes for the first file. That makes it impossible to just discard
the changes done in the cache before they are written to the device.
What could happen is that the metadata changes are written but the data blocks are marked not dirty before being written.
Regards,
--
Nicolas George
| Sysop: | Jacob Catayoc |
|---|---|
| Location: | Pasay City, Metro Manila, Philippines |
| Users: | 5 |
| Nodes: | 4 (0 / 4) |
| Uptime: | 19:03:34 |
| Calls: | 117 |
| Calls today: | 117 |
| Files: | 367 |
| D/L today: |
540 files (253M bytes) |
| Messages: | 70,845 |
| Posted today: | 26 |