| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Removing sufficiently large files would create aliases for a large
number of segments. This in turn results in a large number of journal
entries and an overflow of s_je_array.
Cheap fix is to add a BUG_ON, turning memory corruption into something
annoying, but less dangerous. Real fix is to count the number of
affected segments and prevent the problem completely.
Signed-off-by: Joern Engel <joern@logfs.org>
|
|
|
|
|
|
| |
Found by Al Viro.
Signed-off-by: Joern Engel <joern@logfs.org>
|
|
|
|
|
|
|
| |
rootdir was already allocated, so we must iput it again.
Found by Al Viro.
Signed-off-by: Joern Engel <joern@logfs.org>
|
|
|
|
|
|
|
|
| |
If the first superblock is wrong and the second gets written, there
will still be a mismatch on next mount. Write both to make sure they
match.
Signed-off-by: Joern Engel <joern@logfs.org>
|
|
|
|
|
|
| |
logfs_recover_sb() needs it open.
Signed-off-by: Joern Engel <joern@logfs.org>
|
| |
|
|
|
|
|
| |
This prevents unnecessary journal writes. More importantly it prevents
an oops due to a journal write on failed mount.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Erases for block devices were always just emulated by writing 0xff.
Some time back the write was removed and only the page cache was
changed to 0xff. Superficialy a good idea with two problems:
1. Touching the page cache isn't necessary either.
2. However, writing out 0xff _is_ necessary for the journal. As the
journal is scanned linearly, an old non-overwritten commit entry
can be used on next mount and cause havoc.
This should fix both aspects.
|
|
This is a new flash file system. See
Documentation/filesystems/logfs.txt
Signed-off-by: Joern Engel <joern@logfs.org>
|