libnbd-release-notes-1.6(1) LIBNBD libnbd-release-notes-1.6(1)

libnbd-release-notes-1.6 - یادداشت‌های انتشار برای libnbd نسخهٔ 1.6

این متن، یادداشت‌های انتشار برای نسخهٔ پایدار 1.6 از libnbd است. این سند تغییرات عمده نسبت به نسخهٔ 1.4 را شرح می‌دهد.

نسخهٔ 1.6.0 از libnbd در تاریخ ۷ ژانویه ۲۰۲۱ منتشر شد.

هیچ مشکل امنیتی در این نسخه یافت نشد.

اگر با مشکل امنیتی مواجه شدید، لطفاً فایل SECURITY را در کد منبع بخوانید (به‌صورت برخط در اینجا: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای آگاهی از مشکلات امنیتی پیشین در libnbd، به libnbd-security(3) مراجعه کنید.

nbd_set_strict_mode(3)
nbd_get_strict_mode(3)
این API به شما امکان می‌دهد نحوهٔ رسیدگی libnbd به درخواست‌هایی از برنامه را کنترل کنید که گمان می‌رود رفتار تعریف‌نشده‌ای در سرور ایجاد کنند (مانند ارسال دستورهای ناشناخته، درخواست‌های با اندازهٔ صفر یا خارج از محدوده و غیره). به‌طور معمول libnbd بسیار سخت‌گیر است و از ارسال چنین درخواست‌هایی جلوگیری می‌کند، اما می‌توانید با استفاده از این API این محدودیت‌ها را کاهش داده و مدیریت یا رد آن‌ها را به سرور واگذار کنید. در صورت انجام این کار، ممکن است برخی از سرورها دچار فروپاشی (crash) شوند.
nbd_get_nr_meta_contexts(3)
nbd_get_meta_context(3)
nbd_clear_meta_contexts(3)
این APIها به شما اجازه می‌دهند زمینه‌های فرادادهٔ (metadata contexts) درخواست‌شده را بررسی کرده یا آن‌ها را پاک‌سازی کنید.
nbd_opt_list_meta_context(3)
nbd_aio_opt_list_meta_context(3)
درخواست از سرور برای فهرست کردن زمینه‌های فرادادهٔ موجود. شما تنها می‌توانید در حالت opt از این امکان استفاده کنید.

با تشکر از: Eric Blake برای تمامی APIهای جدید.

پرچم جدید "LIBNBD_SHUTDOWN_ABANDON_PENDING" در nbd_shutdown(3)، تمامی دستورهای در حال پردازشی را که هنوز به سرور ارسال نشده‌اند رها می‌کند (Eric Blake).

تمام APIهایی که دارای پارامترهای پرچم (ماسک بیتی) هستند، اکنون یک مقدار ثابت "LIBNBD_*_MASK" تعریف می‌کنند که به شما امکان می‌دهد در زمان کامپایل تشخیص دهید کدام بیت‌ها نشان‌دهندهٔ پرچم‌های معتبر هستند (Eric Blake).

عملکرد ابزار nbdcopy(1) به میزان چشمگیری بهبود یافته است. همچنین این ابزار از قابلیت‌های جدید متعددی پشتیبانی می‌کند.

گزینهٔ جدید --map در nbdinfo(1) که محدوده‌های تخصیص‌یافته و تنک (sparse) یک سرور NBD را نمایش می‌دهد. این گزینه همچنین می‌تواند اطلاعات دیگری نظیر بیت‌مپ‌های کثیف (dirty bitmaps) را نشان دهد.

ابزار nbdfuse(1) اکنون می‌تواند export مربوط به NBD را روی هر فایل معمولی سوار (mount) کند؛ نیازی به سوار کردن روی یک دایرکتوری وجود ندارد.

ابزار nbdsh(1) اکنون در صورتی که URI در گزینهٔ -u یا دستور در گزینهٔ -c نادرست باشد، پیام خطای مناسبی تولید می‌کند (Eric Blake).

گزینهٔ جدید --opt-mode در nbdsh(1) که پیش از اتصال، حالت opt را روی هندل (handle) درخواست می‌کند.

گزینهٔ --list در nbdinfo(1) اکنون زمینه‌های فرادادهٔ پشتیبانی‌شده توسط سرور را نمایش می‌دهد (Eric Blake).

خروجی nbdinfo(1) اکنون معمولاً به‌صورت اتمیک چاپ می‌شود؛ به این معنی که یا خروجی کامل و یا یک پیام خطا نمایش داده می‌شود، نه خروجی ناقص که به دنبال آن خطا بیاید.

ابزار nbdinfo(1) اکنون می‌تواند زمینهٔ فرادادهٔ "qemu:allocation-depth" را رمزگشایی کند (Eric Blake).

بهبودهای چندگانه در مدیریت پروتکل NBD (توسط Eric Blake).

رفع مشکل مدیریت مقادیر بولی در بایندینگ‌های Python (توسط Eric Blake).

رفع مشکل مدیریت پارامترهای پرچم در بایندینگ‌های OCaml (توسط Eric Blake).

اصلاحات نگارشی و شیوه‌نامهٔ کد Python (توسط Eric Blake).

رفع چندین مورد نشت حافظه (توسط Eric Blake).

بایندینگ‌های OCaml اکنون در صورت نصب بودن ocamldoc در زمان ساخت، شامل مستندات تولیدشده توسط ocamldoc می‌شوند.

کتابخانهٔ «vector» از nbdkit اکنون توسط libnbd استفاده می‌شود و بخش‌هایی را که قبلاً در آن‌ها از realloc(3) استفاده می‌کردیم، ساده‌تر می‌کند.

libnbd(3).

Eric Blake

Richard W.M. Jones

حق نشر Red Hat

این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی جامع‌تر گنو» (GNU Lesser General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخهٔ ۲ مجوز و چه (به انتخاب خودتان) هر نسخهٔ متأخرتری، بازتوزیع کرده یا تغییر دهید.

این کتابخانه به این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا تناسب با یک هدف خاص. برای جزئیات بیشتر به متن «مجوز عمومی جامع‌تر گنو» مراجعه کنید.

شما باید به همراه این کتابخانه یک نسخه از «مجوز عمومی جامع‌تر گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر برای بنیاد نرم‌افزارهای آزاد بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

2026-07-16 libnbd-1.24.3