-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pass assume_storage_prezeroed option when formatting ext4 if possible #4948
Labels
component/rbd
Issues related to RBD
good first issue
Good for newcomers
keepalive
This label can be used to disable stale bot activiity in the repo
Comments
nixpanic
added
component/rbd
Issues related to RBD
good first issue
Good for newcomers
labels
Nov 8, 2024
cc @ceph/ceph-csi-contributors |
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Nov 27, 2024
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week if no further activity occurs. Thank you for your contributions. |
black-dragon74
added
the
keepalive
This label can be used to disable stale bot activiity in the repo
label
Dec 27, 2024
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Jan 6, 2025
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. The support for this flag is checked by trying to format a fake temporary image with mkfs.ext4 and checking its STDERR. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Jan 6, 2025
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. The support for this flag is checked by trying to format a fake temporary image with mkfs.ext4 and checking its STDERR. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Jan 6, 2025
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. The support for this flag is checked by trying to format a fake temporary image with mkfs.ext4 and checking its STDERR. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Jan 8, 2025
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. The support for this flag is checked by trying to format a fake temporary image with mkfs.ext4 and checking its STDERR. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
black-dragon74
added a commit
to black-dragon74/ceph-csi
that referenced
this issue
Jan 8, 2025
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily. The support for this flag is checked by trying to format a fake temporary image with mkfs.ext4 and checking its STDERR. Closes: ceph#4948 Signed-off-by: Niraj Yadav <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
component/rbd
Issues related to RBD
good first issue
Good for newcomers
keepalive
This label can be used to disable stale bot activiity in the repo
Describe the feature you'd like to have
Instead of passing
lazy_itable_init=1
andlazy_journal_init=1
tomkfs.ext4
, Ceph CSI should passassume_storage_prezeroed=1
which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily (it's a superset oflazy_itable_init=1
andlazy_journal_init=1
). As before withlazy_itable_init=1
andlazy_journal_init=1
, this should be limited to dynamically provisioned volumes -- a case where Ceph CSI can guarantee thatmkfs.ext4
invocation immediately follows the creation of the RBD image.assume_storage_prezeroed
option became available in e2fsprogs 1.47.0 last year, so it should probably be "discovered" similar toxfsSupportsReflink()
.What is the value to the end user? (why is it a priority?)
Freshly created RBD volumes would consume less space. Quoting
assume_storage_prezeroed
implementation patch:How will we know we have a good solution? (acceptance criteria)
Run before and after tests that would create and attach batches of e.g. 100G, 500G, 1T and 5T RBD volumes, noting space usage as reported by
ceph df
. The volumes would need to be attached for a while to allow for lazy inode table zeroing to complete in the before case.The text was updated successfully, but these errors were encountered: