Merge tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Jan 2012 17:23:59 +0000 (09:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Jan 2012 17:23:59 +0000 (09:23 -0800)
commitd3712b9dfcf44ca145cf87e7f4096fa2d923471a
treed72aaaa845fb81c669093363a0a1cc6d9e96baf2
parentc5d2bc11030568966f04a2af35bacf33d3e37af7
parentf2933e86ad93a8d1287079d59e67afd6f4166a9d
Merge tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream

There are few important bug fixes for LogFS

* tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream:
  Logfs: Allow NULL block_isbad() methods
  logfs: Grow inode in delete path
  logfs: Free areas before calling generic_shutdown_super()
  logfs: remove useless BUG_ON
  MAINTAINERS: Add Prasad Joshi in LogFS maintiners
  logfs: Propagate page parameter to __logfs_write_inode
  logfs: set superblock shutdown flag after generic sb shutdown
  logfs: take write mutex lock during fsync and sync
  logfs: Prevent memory corruption
  logfs: update page reference count for pined pages

Fix up conflict in fs/logfs/dev_mtd.c due to semantic change in what
"mtd->block_isbad" means in commit f2933e86ad93: "Logfs: Allow NULL
block_isbad() methods" clashing with the abstraction changes in the
commits 7086c19d0742: "mtd: introduce mtd_block_isbad interface" and
d58b27ed58a3: "logfs: do not use 'mtd->block_isbad' directly".

This resolution takes the semantics from commit f2933e86ad93, and just
makes mtd_block_isbad() return zero (false) if the 'block_isbad'
function is NULL.  But that also means that now "mtd_can_have_bb()"
always returns 0.

Now, "mtd_block_markbad()" will obviously return an error if the
low-level driver doesn't support bad blocks, so this is somewhat
non-symmetric, but it actually makes sense if a NULL "block_isbad"
function is considered to mean "I assume that all my blocks are always
good".
MAINTAINERS
fs/logfs/dir.c
fs/logfs/inode.c
fs/logfs/logfs.h
include/linux/mtd/mtd.h