diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-03-21 10:57:51 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-03-22 21:12:14 +0100 |
commit | b9067cd80fbc5b3ae061e5bde6efd19bbf02f9e2 (patch) | |
tree | fdaaed7ef09b95c42def87363f084a4f46b7369f /fs | |
parent | f6a2c2b2de817078ac5a7e58c10e746165e7825d (diff) | |
parent | fe83f5eae432ccc8e90082d6ed506d5233547473 (diff) | |
download | lwn-b9067cd80fbc5b3ae061e5bde6efd19bbf02f9e2.tar.gz lwn-b9067cd80fbc5b3ae061e5bde6efd19bbf02f9e2.zip |
Merge branch 'kvm/kvm-sls-fix'
Sync with the last minute SLS fix to extend it for IBT.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/connect.c | 3 | ||||
-rw-r--r-- | fs/ocfs2/super.c | 22 |
2 files changed, 13 insertions, 12 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 053cb449eb16..d3020abfe404 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -3924,7 +3924,8 @@ cifs_setup_session(const unsigned int xid, struct cifs_ses *ses, /* only send once per connect */ spin_lock(&cifs_tcp_ses_lock); - if (server->tcpStatus != CifsNeedSessSetup) { + if ((server->tcpStatus != CifsNeedSessSetup) && + (ses->status == CifsGood)) { spin_unlock(&cifs_tcp_ses_lock); return 0; } diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 2772dec9dcea..8bde30fa5387 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -1105,17 +1105,6 @@ static int ocfs2_fill_super(struct super_block *sb, void *data, int silent) goto read_super_error; } - root = d_make_root(inode); - if (!root) { - status = -ENOMEM; - mlog_errno(status); - goto read_super_error; - } - - sb->s_root = root; - - ocfs2_complete_mount_recovery(osb); - osb->osb_dev_kset = kset_create_and_add(sb->s_id, NULL, &ocfs2_kset->kobj); if (!osb->osb_dev_kset) { @@ -1133,6 +1122,17 @@ static int ocfs2_fill_super(struct super_block *sb, void *data, int silent) goto read_super_error; } + root = d_make_root(inode); + if (!root) { + status = -ENOMEM; + mlog_errno(status); + goto read_super_error; + } + + sb->s_root = root; + + ocfs2_complete_mount_recovery(osb); + if (ocfs2_mount_local(osb)) snprintf(nodestr, sizeof(nodestr), "local"); else |