On Fri, Dec 3, 2010 at 4:16 PM, liubo <liubo2...@cn.fujitsu.com> wrote: > When the filesystem is readonly, avoid transaction stuff by checking MS_RDONLY > at start transaction time. > > Signed-off-by: Liu Bo <liubo2...@cn.fujitsu.com> > --- > fs/btrfs/transaction.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c > index 1fffbc0..14a597d 100644 > --- a/fs/btrfs/transaction.c > +++ b/fs/btrfs/transaction.c > @@ -181,6 +181,9 @@ static struct btrfs_trans_handle > *start_transaction(struct btrfs_root *root, > struct btrfs_trans_handle *h; > struct btrfs_transaction *cur_trans; > int ret; > + > + if (root->fs_info->sb->s_flags & MS_RDONLY) > + return ERR_PTR(-EROFS); > again: > h = kmem_cache_alloc(btrfs_trans_handle_cachep, GFP_NOFS); > if (!h)
There are cases that we need to start transaction when MS_RDONLY flag is set. For example, remount FS into read-only mode and log replay. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html