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 commitf2933e86ad
: "Logfs: Allow NULL block_isbad() methods" clashing with the abstraction changes in the commits7086c19d07
: "mtd: introduce mtd_block_isbad interface" andd58b27ed58
: "logfs: do not use 'mtd->block_isbad' directly". This resolution takes the semantics from commitf2933e86ad
, 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".
This commit is contained in:
@@ -286,7 +286,7 @@ static int logfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
if (logfs_inode(inode)->li_flags & LOGFS_IF_STILLBORN)
|
||||
return 0;
|
||||
|
||||
ret = __logfs_write_inode(inode, flags);
|
||||
ret = __logfs_write_inode(inode, NULL, flags);
|
||||
LOGFS_BUG_ON(ret, inode->i_sb);
|
||||
return ret;
|
||||
}
|
||||
@@ -363,7 +363,9 @@ static void logfs_init_once(void *_li)
|
||||
|
||||
static int logfs_sync_fs(struct super_block *sb, int wait)
|
||||
{
|
||||
logfs_get_wblocks(sb, NULL, WF_LOCK);
|
||||
logfs_write_anchor(sb);
|
||||
logfs_put_wblocks(sb, NULL, WF_LOCK);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user