Repository: kubernetes-sigs/azuredisk-csi-driver
Pull request #1309 (2022-04-29 03:20:43)

fix: filesystem is not resized when restoring from snapshot with a bigger size
<!--  Thanks for sending a pull request!  Here are some tips for you:

1. If this is your first time, please read our contributor guidelines: https://git.k8s.io/community/contributors/guide#your-first-contribution and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request. For reference on required PR/issue labels, read here:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-release/release.md#issue-kind-label
3. Ensure you have added or ran the appropriate tests for your PR: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/testing.md
4. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
5. Follow the instructions for writing a release note: https://git.k8s.io/community/contributors/guide/release-notes.md
6. If the PR is unfinished, see how to mark it: https://git.k8s.io/community/contributors/guide/pull-requests.md#marking-unfinished-pull-requests
-->

**What type of PR is this?**
/kind bug

**What this PR does / why we need it**:
fix: filesystem is not resized when restoring from snapshot with a bigger size

Upstream [issue](https://github.com/kubernetes/kubernetes/issues/94929) introduces improvements to volume resizing. The change added new resize code and moved to [kubernetes/mount-utils](https://github.com/kubernetes/mount-utils). 

This change should be reflected in all CSI drivers. Azure disk is already using the resize code but resizing a volume restored from snapshot currently does not work.

**Which issue(s) this PR fixes**:
<!-- 
*Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
_If PR is about `failing-tests or flakes`, please post the related issues/tests in a comment and do not use `Fixes`_*
-->
Fixes #

**Requirements**:
- [ ] uses [conventional commit messages](https://www.conventionalcommits.org/)
  <!-- Common commit types:
        build: Build 🏭
        chore: Maintenance 🔧
        ci: Continuous Integration 💜
        docs: Documentation 📘
        feat: Features 🌈
        fix: Bug Fixes 🐞
        perf: Performance Improvements 🚀
        refactor: Code Refactoring 💎
        revert: Revert Change ◀️
        style: Code Style 🎶
        security: Security Fix 🛡️
        test: Testing 💚 -->
- [ ] includes documentation
- [ ] adds unit tests
- [ ] tested upgrade from previous version

**Special notes for your reviewer**:


**Release note**:
```
fix: filesystem is not resized when restoring from snapshot with a bigger size
```


k8s-ci-robot: @andyzhangx: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`
pull-azuredisk-csi-driver-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-single-az/1519879326953115648) | true | `/test pull-azuredisk-csi-driver-e2e-single-az`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`
pull-azuredisk-csi-driver-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-single-az/1519879326953115648) | true | `/test pull-azuredisk-csi-driver-e2e-single-az`
pull-azuredisk-csi-driver-e2e-capz | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz/1519879329239011328) | true | `/test pull-azuredisk-csi-driver-e2e-capz`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-unit | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1519879326823092224) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`
pull-azuredisk-csi-driver-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-single-az/1519879326953115648) | true | `/test pull-azuredisk-csi-driver-e2e-single-az`
pull-azuredisk-csi-driver-e2e-capz | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz/1519879329239011328) | true | `/test pull-azuredisk-csi-driver-e2e-capz`
pull-azuredisk-csi-driver-e2e-capz-windows-2019 | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz-windows-2019/1519879328404344832) | true | `/test pull-azuredisk-csi-driver-e2e-capz-windows-2019`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-verify | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1519879326747594752) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`
pull-azuredisk-csi-driver-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-single-az/1519879326953115648) | true | `/test pull-azuredisk-csi-driver-e2e-single-az`
pull-azuredisk-csi-driver-e2e-capz | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz/1519879329239011328) | true | `/test pull-azuredisk-csi-driver-e2e-capz`
pull-azuredisk-csi-driver-e2e-capz-windows-2019 | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz-windows-2019/1519879328404344832) | true | `/test pull-azuredisk-csi-driver-e2e-capz-windows-2019`
pull-azuredisk-csi-driver-unit | e07b6f0d9fc8fc5aa1d0c9a6056182f3e9322a30 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1520003575785197568) | true | `/test pull-azuredisk-csi-driver-unit`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-windows-build | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-windows-build/1519879327129276416) | true | `/test pull-azuredisk-csi-driver-windows-build`
pull-azuredisk-csi-driver-e2e-migration | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration/1519879327049584640) | true | `/test pull-azuredisk-csi-driver-e2e-migration`
pull-azuredisk-csi-driver-external-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-external-e2e-single-az/1519879327204773888) | true | `/test pull-azuredisk-csi-driver-external-e2e-single-az`
pull-azuredisk-csi-driver-e2e-migration-windows | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-migration-windows/1519879327091527680) | true | `/test pull-azuredisk-csi-driver-e2e-migration-windows`
pull-azuredisk-csi-driver-e2e-windows-containerd | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-windows-containerd/1519879327565484032) | true | `/test pull-azuredisk-csi-driver-e2e-windows-containerd`
pull-azuredisk-csi-driver-e2e-multi-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-multi-az/1519879327007641600) | true | `/test pull-azuredisk-csi-driver-e2e-multi-az`
pull-azuredisk-csi-driver-e2e-single-az | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-single-az/1519879326953115648) | true | `/test pull-azuredisk-csi-driver-e2e-single-az`
pull-azuredisk-csi-driver-e2e-capz | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz/1519879329239011328) | true | `/test pull-azuredisk-csi-driver-e2e-capz`
pull-azuredisk-csi-driver-e2e-capz-windows-2019 | cd4b22d8db0bf657092fec966c881c91f8f10cd3 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz-windows-2019/1519879328404344832) | true | `/test pull-azuredisk-csi-driver-e2e-capz-windows-2019`
pull-azuredisk-csi-driver-unit | e07b6f0d9fc8fc5aa1d0c9a6056182f3e9322a30 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1520003575785197568) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | e07b6f0d9fc8fc5aa1d0c9a6056182f3e9322a30 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1520003575726477312) | true | `/test pull-azuredisk-csi-driver-verify`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-unit | e07b6f0d9fc8fc5aa1d0c9a6056182f3e9322a30 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1520003575785197568) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-verify | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1520036743183601664) | true | `/test pull-azuredisk-csi-driver-verify`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
marosset: /pull pull-azuredisk-csi-driver-e2e-capz-windows-2022
marosset: /test ?


marosset: /test pull-azuredisk-csi-driver-e2e-capz-windows-2022
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-verify | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1520036743183601664) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-unit | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1520036743217156096) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-e2e-capz-windows-2022 | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz-windows-2022/1520108185929650176) | true | `/test pull-azuredisk-csi-driver-e2e-capz-windows-2022`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
marosset: /test pull-azuredisk-csi-driver-e2e-capz-windows-2022
k8s-ci-robot: @andyzhangx: The following tests **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
pull-azuredisk-csi-driver-verify | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-verify/1520036743183601664) | true | `/test pull-azuredisk-csi-driver-verify`
pull-azuredisk-csi-driver-unit | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-unit/1520036743217156096) | true | `/test pull-azuredisk-csi-driver-unit`
pull-azuredisk-csi-driver-e2e-capz-windows-2022 | 99c80b08baad2da344dd0688506a59e0767c2568 | [link](https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_azuredisk-csi-driver/1309/pull-azuredisk-csi-driver-e2e-capz-windows-2022/1520138060136714240) | true | `/test pull-azuredisk-csi-driver-e2e-capz-windows-2022`

[Full PR test history](https://prow.k8s.io/pr-history?org=kubernetes-sigs&repo=azuredisk-csi-driver&pr=1309). [Your PR dashboard](https://prow.k8s.io/pr?query=is%3Apr%20state%3Aopen%20author%3Aandyzhangx). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues?q=is:issue+is:open) when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
k8s-ci-robot: @andyzhangx: PR needs rebase.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>

Patch:
diff --git a/pkg/azuredisk/azure_common_darwin.go b/pkg/azuredisk/azure_common_darwin.go
index ed956b65b..afb309e1b 100644
--- a/pkg/azuredisk/azure_common_darwin.go
+++ b/pkg/azuredisk/azure_common_darwin.go
@@ -21,12 +21,17 @@ package azuredisk
 
 import (
 	"fmt"
+	"path/filepath"
+	"strconv"
+	"strings"
 
-	"k8s.io/mount-utils"
-
+	"k8s.io/klog/v2"
+	mount "k8s.io/mount-utils"
 	"sigs.k8s.io/azuredisk-csi-driver/pkg/azureutils"
 )
 
+const sysClassBlockPath = "/sys/class/block/"
+
 // Note: This file is added only to ensure that the UTs can be run from MacOS.
 func scsiHostRescan(io azureutils.IOHandler, m *mount.SafeFormatAndMount) {
 }
@@ -46,3 +51,68 @@ func preparePublishPath(path string, m *mount.SafeFormatAndMount) error {
 func CleanupMountPoint(path string, m *mount.SafeFormatAndMount, extensiveCheck bool) error {
 	return nil
 }
+
+func getDevicePathWithMountPath(mountPath string, m *mount.SafeFormatAndMount) (string, error) {
+	args := []string{"-o", "source", "--noheadings", "--mountpoint", mountPath}
+	output, err := m.Exec.Command("findmnt", args...).Output()
+	if err != nil {
+		return "", fmt.Errorf("could not determine device path(%s), error: %v", mountPath, err)
+	}
+
+	devicePath := strings.TrimSpace(string(output))
+	if len(devicePath) == 0 {
+		return "", fmt.Errorf("could not get valid device for mount path: %q", mountPath)
+	}
+
+	return devicePath, nil
+}
+
+func getBlockSizeBytes(devicePath string, m *mount.SafeFormatAndMount) (int64, error) {
+	output, err := m.Exec.Command("blockdev", "--getsize64", devicePath).Output()
+	if err != nil {
+		return -1, fmt.Errorf("error when getting size of block volume at path %s: output: %s, err: %v", devicePath, string(output), err)
+	}
+	strOut := strings.TrimSpace(string(output))
+	gotSizeBytes, err := strconv.ParseInt(strOut, 10, 64)
+	if err != nil {
+		return -1, fmt.Errorf("failed to parse size %s into int a size", strOut)
+	}
+	return gotSizeBytes, nil
+}
+
+func resizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) error {
+	_, err := mount.NewResizeFs(m.Exec).Resize(devicePath, volumePath)
+	return err
+}
+
+// needResizeVolume check whether device needs resize
+func needResizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) (bool, error) {
+	return false, nil
+}
+
+// rescanVolume rescan device for detecting device size expansion
+// devicePath e.g. `/dev/sdc`
+func rescanVolume(io azureutils.IOHandler, devicePath string) error {
+	klog.V(6).Infof("rescanVolume - begin to rescan %s", devicePath)
+	deviceName := filepath.Base(devicePath)
+	rescanPath := filepath.Join(sysClassBlockPath, deviceName, "device/rescan")
+	return io.WriteFile(rescanPath, []byte("1"), 0666)
+}
+
+// rescanAllVolumes rescan all sd* devices under /sys/class/block/sd* starting from sdc
+func rescanAllVolumes(io azureutils.IOHandler) error {
+	dirs, err := io.ReadDir(sysClassBlockPath)
+	if err != nil {
+		return err
+	}
+	for _, device := range dirs {
+		deviceName := device.Name()
+		if strings.HasPrefix(deviceName, "sd") && deviceName >= "sdc" {
+			path := filepath.Join(sysClassBlockPath, deviceName)
+			if err := rescanVolume(io, path); err != nil {
+				klog.Warningf("rescanVolume - rescan %s failed with %v", path, err)
+			}
+		}
+	}
+	return nil
+}
diff --git a/pkg/azuredisk/azure_common_linux.go b/pkg/azuredisk/azure_common_linux.go
index f6b41caaf..b1d5b9f8d 100644
--- a/pkg/azuredisk/azure_common_linux.go
+++ b/pkg/azuredisk/azure_common_linux.go
@@ -23,13 +23,15 @@ import (
 	"fmt"
 	"path/filepath"
 	"strconv"
-	libstrings "strings"
+	"strings"
 
 	"k8s.io/klog/v2"
-	"k8s.io/mount-utils"
+	mount "k8s.io/mount-utils"
 	"sigs.k8s.io/azuredisk-csi-driver/pkg/azureutils"
 )
 
+const sysClassBlockPath = "/sys/class/block/"
+
 // exclude those used by azure as resource and OS root in /dev/disk/azure, /dev/disk/azure/scsi0
 // "/dev/disk/azure/scsi0" dir is populated in Standard_DC4s/DC2s on Ubuntu 18.04
 func listAzureDiskPath(io azureutils.IOHandler) []string {
@@ -41,7 +43,7 @@ func listAzureDiskPath(io azureutils.IOHandler) []string {
 				name := f.Name()
 				diskPath := filepath.Join(azureDiskPath, name)
 				if link, linkErr := io.Readlink(diskPath); linkErr == nil {
-					sd := link[(libstrings.LastIndex(link, "/") + 1):]
+					sd := link[(strings.LastIndex(link, "/") + 1):]
 					azureDiskList = append(azureDiskList, sd)
 				}
 			}
@@ -64,7 +66,7 @@ func getDiskLinkByDevName(io azureutils.IOHandler, devLinkPath, devName string)
 				klog.Warningf("azureDisk - read link (%s) error: %v", diskPath, linkErr)
 				continue
 			}
-			if libstrings.HasSuffix(link, devName) {
+			if strings.HasSuffix(link, devName) {
 				return diskPath, nil
 			}
 		}
@@ -105,7 +107,7 @@ func findDiskByLunWithConstraint(lun int, io azureutils.IOHandler, azureDisks []
 		for _, f := range dirs {
 			name := f.Name()
 			// look for path like /sys/bus/scsi/devices/3:0:0:1
-			arr := libstrings.Split(name, ":")
+			arr := strings.Split(name, ":")
 			if len(arr) < 4 {
 				continue
 			}
@@ -139,8 +141,8 @@ func findDiskByLunWithConstraint(lun int, io azureutils.IOHandler, azureDisks []
 					klog.Errorf("failed to read device vendor, err: %v", err)
 					continue
 				}
-				vendor := libstrings.TrimSpace(string(vendorBytes))
-				if libstrings.ToUpper(vendor) != "MSFT" {
+				vendor := strings.TrimSpace(string(vendorBytes))
+				if strings.ToUpper(vendor) != "MSFT" {
 					klog.V(4).Infof("vendor doesn't match VHD, got %s", vendor)
 					continue
 				}
@@ -151,8 +153,8 @@ func findDiskByLunWithConstraint(lun int, io azureutils.IOHandler, azureDisks []
 					klog.Errorf("failed to read device model, err: %v", err)
 					continue
 				}
-				model := libstrings.TrimSpace(string(modelBytes))
-				if libstrings.ToUpper(model) != "VIRTUAL DISK" {
+				model := strings.TrimSpace(string(modelBytes))
+				if strings.ToUpper(model) != "VIRTUAL DISK" {
 					klog.V(4).Infof("model doesn't match VHD, got %s", model)
 					continue
 				}
@@ -195,3 +197,68 @@ func preparePublishPath(path string, m *mount.SafeFormatAndMount) error {
 func CleanupMountPoint(path string, m *mount.SafeFormatAndMount, extensiveCheck bool) error {
 	return mount.CleanupMountPoint(path, m, extensiveCheck)
 }
+
+func getDevicePathWithMountPath(mountPath string, m *mount.SafeFormatAndMount) (string, error) {
+	args := []string{"-o", "source", "--noheadings", "--mountpoint", mountPath}
+	output, err := m.Exec.Command("findmnt", args...).Output()
+	if err != nil {
+		return "", fmt.Errorf("could not determine device path(%s), error: %v", mountPath, err)
+	}
+
+	devicePath := strings.TrimSpace(string(output))
+	if len(devicePath) == 0 {
+		return "", fmt.Errorf("could not get valid device for mount path: %q", mountPath)
+	}
+
+	return devicePath, nil
+}
+
+func getBlockSizeBytes(devicePath string, m *mount.SafeFormatAndMount) (int64, error) {
+	output, err := m.Exec.Command("blockdev", "--getsize64", devicePath).Output()
+	if err != nil {
+		return -1, fmt.Errorf("error when getting size of block volume at path %s: output: %s, err: %v", devicePath, string(output), err)
+	}
+	strOut := strings.TrimSpace(string(output))
+	gotSizeBytes, err := strconv.ParseInt(strOut, 10, 64)
+	if err != nil {
+		return -1, fmt.Errorf("failed to parse size %s into int a size", strOut)
+	}
+	return gotSizeBytes, nil
+}
+
+func resizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) error {
+	_, err := mount.NewResizeFs(m.Exec).Resize(devicePath, volumePath)
+	return err
+}
+
+// needResizeVolume check whether device needs resize
+func needResizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) (bool, error) {
+	return mount.NewResizeFs(m.Exec).NeedResize(devicePath, volumePath)
+}
+
+// rescanVolume rescan device for detecting device size expansion
+// devicePath e.g. `/dev/sdc`
+func rescanVolume(io azureutils.IOHandler, devicePath string) error {
+	klog.V(6).Infof("rescanVolume - begin to rescan %s", devicePath)
+	deviceName := filepath.Base(devicePath)
+	rescanPath := filepath.Join(sysClassBlockPath, deviceName, "device/rescan")
+	return io.WriteFile(rescanPath, []byte("1"), 0666)
+}
+
+// rescanAllVolumes rescan all sd* devices under /sys/class/block/sd* starting from sdc
+func rescanAllVolumes(io azureutils.IOHandler) error {
+	dirs, err := io.ReadDir(sysClassBlockPath)
+	if err != nil {
+		return err
+	}
+	for _, device := range dirs {
+		deviceName := device.Name()
+		if strings.HasPrefix(deviceName, "sd") && deviceName >= "sdc" {
+			path := filepath.Join(sysClassBlockPath, deviceName)
+			if err := rescanVolume(io, path); err != nil {
+				klog.Warningf("rescanVolume - rescan %s failed with %v", path, err)
+			}
+		}
+	}
+	return nil
+}
diff --git a/pkg/azuredisk/azure_common_unix_test.go b/pkg/azuredisk/azure_common_linux_test.go
similarity index 100%
rename from pkg/azuredisk/azure_common_unix_test.go
rename to pkg/azuredisk/azure_common_linux_test.go
diff --git a/pkg/azuredisk/azure_common_unix.go b/pkg/azuredisk/azure_common_unix.go
deleted file mode 100644
index 13d3e95a6..000000000
--- a/pkg/azuredisk/azure_common_unix.go
+++ /dev/null
@@ -1,93 +0,0 @@
-//go:build darwin || linux
-// +build darwin linux
-
-/*
-Copyright 2017 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package azuredisk
-
-import (
-	"fmt"
-	"path/filepath"
-	"strconv"
-	"strings"
-
-	"k8s.io/klog/v2"
-	mount "k8s.io/mount-utils"
-	"sigs.k8s.io/azuredisk-csi-driver/pkg/azureutils"
-)
-
-const sysClassBlockPath = "/sys/class/block/"
-
-func getDevicePathWithMountPath(mountPath string, m *mount.SafeFormatAndMount) (string, error) {
-	args := []string{"-o", "source", "--noheadings", "--mountpoint", mountPath}
-	output, err := m.Exec.Command("findmnt", args...).Output()
-	if err != nil {
-		return "", fmt.Errorf("could not determine device path(%s), error: %v", mountPath, err)
-	}
-
-	devicePath := strings.TrimSpace(string(output))
-	if len(devicePath) == 0 {
-		return "", fmt.Errorf("could not get valid device for mount path: %q", mountPath)
-	}
-
-	return devicePath, nil
-}
-
-func getBlockSizeBytes(devicePath string, m *mount.SafeFormatAndMount) (int64, error) {
-	output, err := m.Exec.Command("blockdev", "--getsize64", devicePath).Output()
-	if err != nil {
-		return -1, fmt.Errorf("error when getting size of block volume at path %s: output: %s, err: %v", devicePath, string(output), err)
-	}
-	strOut := strings.TrimSpace(string(output))
-	gotSizeBytes, err := strconv.ParseInt(strOut, 10, 64)
-	if err != nil {
-		return -1, fmt.Errorf("failed to parse size %s into int a size", strOut)
-	}
-	return gotSizeBytes, nil
-}
-
-func resizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) error {
-	_, err := mount.NewResizeFs(m.Exec).Resize(devicePath, volumePath)
-	return err
-}
-
-// rescanVolume rescan device for detecting device size expansion
-// devicePath e.g. `/dev/sdc`
-func rescanVolume(io azureutils.IOHandler, devicePath string) error {
-	klog.V(6).Infof("rescanVolume - begin to rescan %s", devicePath)
-	deviceName := filepath.Base(devicePath)
-	rescanPath := filepath.Join(sysClassBlockPath, deviceName, "device/rescan")
-	return io.WriteFile(rescanPath, []byte("1"), 0666)
-}
-
-// rescanAllVolumes rescan all sd* devices under /sys/class/block/sd* starting from sdc
-func rescanAllVolumes(io azureutils.IOHandler) error {
-	dirs, err := io.ReadDir(sysClassBlockPath)
-	if err != nil {
-		return err
-	}
-	for _, device := range dirs {
-		deviceName := device.Name()
-		if strings.HasPrefix(deviceName, "sd") && deviceName >= "sdc" {
-			path := filepath.Join(sysClassBlockPath, deviceName)
-			if err := rescanVolume(io, path); err != nil {
-				klog.Warningf("rescanVolume - rescan %s failed with %v", path, err)
-			}
-		}
-	}
-	return nil
-}
diff --git a/pkg/azuredisk/azure_common_windows.go b/pkg/azuredisk/azure_common_windows.go
index dbea9513f..574366ccc 100644
--- a/pkg/azuredisk/azure_common_windows.go
+++ b/pkg/azuredisk/azure_common_windows.go
@@ -144,6 +144,11 @@ func resizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) er
 	return nil
 }
 
+// needResizeVolume check whether device needs resize
+func needResizeVolume(devicePath, volumePath string, m *mount.SafeFormatAndMount) (bool, error) {
+	return false, nil
+}
+
 // rescanVolume rescan device for detecting device size expansion
 func rescanVolume(io azureutils.IOHandler, devicePath string) error {
 	return nil
diff --git a/pkg/azuredisk/nodeserver.go b/pkg/azuredisk/nodeserver.go
index 7feb3499c..cfd315aca 100644
--- a/pkg/azuredisk/nodeserver.go
+++ b/pkg/azuredisk/nodeserver.go
@@ -156,18 +156,26 @@ func (d *Driver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRe
 
 	// FormatAndMount will format only if needed
 	klog.V(2).Infof("NodeStageVolume: formatting %s and mounting at %s with mount options(%s)", source, target, options)
-	err = d.formatAndMount(source, target, fstype, options)
-	if err != nil {
-		msg := fmt.Sprintf("could not format %q(lun: %q), and mount it at %q", source, lun, target)
-		return nil, status.Error(codes.Internal, msg)
+	if err := d.formatAndMount(source, target, fstype, options); err != nil {
+		return nil, status.Errorf(codes.Internal, "could not format %s(lun: %s), and mount it at %s", source, lun, target)
 	}
 	klog.V(2).Infof("NodeStageVolume: format %s and mounting at %s successfully.", source, target)
 
-	// if resize is required, resize filesystem
+	var needResize bool
 	if required, ok := req.GetVolumeContext()[consts.ResizeRequired]; ok && strings.EqualFold(required, consts.TrueValue) {
+		needResize = true
+	}
+	if !needResize {
+		if needResize, err = needResizeVolume(source, target, d.mounter); err != nil {
+			klog.Errorf("NodeStageVolume: could not determine if volume %s needs to be resized: %v", diskURI, err)
+		}
+	}
+
+	// if resize is required, resize filesystem
+	if needResize {
 		klog.V(2).Infof("NodeStageVolume: fs resize initiating on target(%s) volumeid(%s)", target, diskURI)
 		if err := resizeVolume(source, target, d.mounter); err != nil {
-			return nil, status.Errorf(codes.Internal, "NodeStageVolume: could not resize volume %q (%q):  %v", source, target, err)
+			return nil, status.Errorf(codes.Internal, "NodeStageVolume: could not resize volume %s (%s):  %v", source, target, err)
 		}
 		klog.V(2).Infof("NodeStageVolume: fs resize successful on target(%s) volumeid(%s).", target, diskURI)
 	}
diff --git a/pkg/azuredisk/nodeserver_v2.go b/pkg/azuredisk/nodeserver_v2.go
index 90a607fce..64fb5baf3 100644
--- a/pkg/azuredisk/nodeserver_v2.go
+++ b/pkg/azuredisk/nodeserver_v2.go
@@ -144,18 +144,26 @@ func (d *DriverV2) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolume
 
 	// FormatAndMount will format only if needed
 	klog.V(2).Infof("NodeStageVolume: formatting %s and mounting at %s with mount options(%s)", source, target, options)
-	err = d.formatAndMount(source, target, fstype, options)
-	if err != nil {
-		msg := fmt.Sprintf("could not format %q(lun: %q), and mount it at %q", source, lun, target)
-		return nil, status.Error(codes.Internal, msg)
+	if err := d.formatAndMount(source, target, fstype, options); err != nil {
+		return nil, status.Errorf(codes.Internal, "could not format %s(lun: %s), and mount it at %s", source, lun, target)
 	}
 	klog.V(2).Infof("NodeStageVolume: format %s and mounting at %s successfully.", source, target)
 
-	// if resize is required, resize filesystem
+	var needResize bool
 	if required, ok := req.GetVolumeContext()[consts.ResizeRequired]; ok && strings.EqualFold(required, consts.TrueValue) {
+		needResize = true
+	}
+	if !needResize {
+		if needResize, err = needResizeVolume(source, target, d.mounter); err != nil {
+			klog.Errorf("NodeStageVolume: could not determine if volume %s needs to be resized: %v", diskURI, err)
+		}
+	}
+
+	// if resize is required, resize filesystem
+	if needResize {
 		klog.V(2).Infof("NodeStageVolume: fs resize initiating on target(%s) volumeid(%s)", target, diskURI)
 		if err := resizeVolume(source, target, d.mounter); err != nil {
-			return nil, status.Errorf(codes.Internal, "NodeStageVolume: could not resize volume %q (%q):  %v", source, target, err)
+			return nil, status.Errorf(codes.Internal, "NodeStageVolume: could not resize volume %s (%s):  %v", source, target, err)
 		}
 		klog.V(2).Infof("NodeStageVolume: fs resize successful on target(%s) volumeid(%s).", target, diskURI)
 	}


Test patch:
diff --git a/pkg/azuredisk/nodeserver_test.go b/pkg/azuredisk/nodeserver_test.go
index f49c94e17..665f4de79 100644
--- a/pkg/azuredisk/nodeserver_test.go
+++ b/pkg/azuredisk/nodeserver_test.go
@@ -409,6 +409,9 @@ func TestNodeStageVolume(t *testing.T) {
 	fsckAction := func() ([]byte, []byte, error) {
 		return []byte{}, []byte{}, nil
 	}
+	blockSizeAction := func() ([]byte, []byte, error) {
+		return []byte(fmt.Sprintf("%d", stdCapacityRange.RequiredBytes)), []byte{}, nil
+	}
 	resize2fsAction := func() ([]byte, []byte, error) {
 		return []byte{}, []byte{}, nil
 	}
@@ -469,7 +472,6 @@ func TestNodeStageVolume(t *testing.T) {
 				PublishContext: invalidLUN,
 				VolumeContext:  volumeContext,
 			},
-
 			expectedErr: status.Error(codes.Internal, "failed to find disk on lun /dev/01. cannot parse deviceInfo: /dev/01"),
 		},
 		{
@@ -477,7 +479,7 @@ func TestNodeStageVolume(t *testing.T) {
 			skipOnDarwin:  true,
 			skipOnWindows: true,
 			setupFunc: func(t *testing.T, d FakeDriver) {
-				d.setNextCommandOutputScripts(blkidAction, fsckAction)
+				d.setNextCommandOutputScripts(blkidAction, fsckAction, blockSizeAction, blkidAction, blockSizeAction, blkidAction)
 			},
 			req: csi.NodeStageVolumeRequest{VolumeId: "vol_1", StagingTargetPath: sourceTest,
 				VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap,
@@ -485,7 +487,6 @@ func TestNodeStageVolume(t *testing.T) {
 				PublishContext: publishContext,
 				VolumeContext:  volumeContext,
 			},
-
 			expectedErr: nil,
 		},
 		{
@@ -501,7 +502,6 @@ func TestNodeStageVolume(t *testing.T) {
 				PublishContext: publishContext,
 				VolumeContext:  volumeContextWithResize,
 			},
-
 			expectedErr: nil,
 		},
 		{
@@ -519,7 +519,7 @@ func TestNodeStageVolume(t *testing.T) {
 					Return(nil).
 					After(diskSupportsPerfOptimizationCall)
 
-				d.setNextCommandOutputScripts(blkidAction, fsckAction)
+				d.setNextCommandOutputScripts(blkidAction, fsckAction, blockSizeAction, blockSizeAction)
 			},
 			req: csi.NodeStageVolumeRequest{VolumeId: "vol_1", StagingTargetPath: sourceTest,
 				VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap,