When "ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs" introduced atime
support to ubifs, it also added lazytime support.  As far as I can tell
the lazytime support is terminally broken, as it causes
mark_inode_dirty_sync to be called from __writeback_single_inode, which
will then trigger the locking assert in ubifs_dirty_inode.  Just remove
the broken lazytime support for now, it can be added back later,
especially as some infrastructure changes should make that easier soon.
Fixes: 8c1c5f263833 ("ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
        struct ubifs_info *c = inode->i_sb->s_fs_info;
        struct ubifs_budget_req req = { .dirtied_ino = 1,
                        .dirtied_ino_d = ALIGN(ui->data_len, 8) };
-       int iflags = I_DIRTY_TIME;
        int err, release;
 
        if (!IS_ENABLED(CONFIG_UBIFS_ATIME_SUPPORT))
        if (flags & S_MTIME)
                inode->i_mtime = *time;
 
-       if (!(inode->i_sb->s_flags & SB_LAZYTIME))
-               iflags |= I_DIRTY_SYNC;
-
        release = ui->dirty;
-       __mark_inode_dirty(inode, iflags);
+       __mark_inode_dirty(inode, I_DIRTY_SYNC);
        mutex_unlock(&ui->ui_mutex);
        if (release)
                ubifs_release_budget(c, &req);