'\" t .\" Title: vfs_preopen .\" Author: [بخش "نویسندگان (AUTHOR)" را ببینید] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/16/2026 .\" Manual: ابزارهای مدیریت سیستم (System Administration tools) .\" Source: Samba 4.24.6 .\" Language: Persian .\" .TH "VFS_PREOPEN" "8" "08/16/2026" "Samba 4\&.24\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" vfs_preopen \- پنهان‌سازی تاخیرهای خواندن برای برنامه‌هایی که فایل‌های شماره‌گذاری‌شده را می‌خوانند .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\ 'u vfs objects = preopen .SH "توضیحات (DESCRIPTION)" .PP این ماژول VFS بخشی از مجموعه \fBsamba\fR(7) است\&. .PP این ماژول به برنامه‌هایی کمک می‌کند که قصد دارند فایل‌های شماره‌گذاری‌شده را به ترتیب و با الزامات تاخیر بسیار سخت‌گیرانه بخوانند\&. یک حوزه که در آن این اتفاق می‌افتد، برنامه‌های پخش زنده ویدیویی هستند که می‌خواهند برای هر فریم یک فایل بخوانند\&. .PP هنگامی که از این ماژول استفاده می‌کنید، تعدادی فرآیند کمکی راه‌اندازی می‌شوند که فایل‌ها را به صورت پیش‌بینانه باز کرده و تعدادی بایت را می‌خوانند تا حافظه موقت (cache) فایل‌سیستم آماده شود؛ بنابراین بعداً هنگامی که درخواست واقعی برنامه فرا می‌رسد، به هیچ‌گونه دسترسی به دیسک نیازی نخواهد بود\&. .PP این ماژول قابل انباشت (stackable) است\&. .SH "گزینه‌ها (OPTIONS)" .PP preopen:posix\-basic\-regex = BOOL (پیش‌فرض: no) .RS 4 گزینه preopen:posix\-basic\-regex = yes معنای گزینه preopen:names را تغییر می‌دهد\&. جزئیات بیشتر در آنجا شرح داده شده است\&. .RE .PP preopen:names = /pattern1/pattern2/ .RS 4 گزینه preopen:names الگوی (یا الگوهای) نام فایلی را مشخص می‌کند که باید فرآیندهای کمکی preopen را به انجام کارشان تحریک کند\&. ما فرض می‌کنیم که فایل‌ها به صورت افزایشی شماره‌گذاری شده‌اند\&. بنابراین اگر نام‌های فایل‌های شما به شکل FRAME00000\&.frm و FRAME00001\&.frm و به همین ترتیب شماره‌گذاری شده‌اند، شما آن‌ها را به عنوان preopen:names=/FRAME*\&.frm/ فهرست می‌کنید\&. الگوریتم پیش‌فرض از اولین ارقام (حداقل ۳ رقم) که می‌یابد برای محاسبه نام فریم‌های بعدی استفاده می‌کند\&. .sp گزینه preopen:posix\-basic\-regex = yes معنای گزینه preopen:names را تغییر می‌دهد\&. این بدان معناست که رشته‌های «عبارت باقاعده پایه پازیکس (POSIX Basic Regular Expression)» به عنوان الگو استفاده می‌شوند\&. نکته کلیدی این است که هر الگو دقیقاً به یک «زیرعبارت» که با \*(Aq\e(\*(Aq شروع شده و با \*(Aq\e)\*(Aq پایان می‌یابد نیاز دارد تا موقعیت ارقامی را که بیانگر شماره‌های افزایشی فریم‌ها هستند مشخص کند\&. با فرض نام‌های فایلی مانند Movie7599Frame0v1234\&.txt و Movie7599Frame1v1234\&.txt و Movie7599Frame2v1234\&.txt تا Movie7599Frame9v1234\&.txt، می‌توانید از preopen:names = /\&.*Frame\e([0\-9]\e)\&.*\e\&.txt/ برای تطبیق فقط یک رقم استفاده کنید؛ این ممکن است یک مثال در دنیای واقعی نباشد، اما انعطاف‌پذیری ممکن در اینجا را نشان می‌دهد\&. .RE .PP preopen:num_bytes = BYTES .RS 4 تعداد بایت‌هایی را که فرآیندهای کمکی باید به صورت پیش‌بینانه بخوانند مشخص می‌کند، مقدار پیش‌فرض 1 است\&. .RE .PP preopen:helpers = NUM\-PROCS .RS 4 تعداد فرآیندهای کمکی منشعب‌شده (forked)، مقدار پیش‌فرض 1 است\&. .RE .PP preopen:queuelen = NUM\-FILES .RS 4 تعداد فایل‌هایی که باید به صورت پیش‌بینانه باز شوند\&. پیش‌فرض 10 فایل بعدی است\&. .RE .PP preopen:nomatch_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی یا بازرسی استفاده از منطق preopen، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات مربوط به نام فایل‌های غیرمنطبق با هر الگویی از \*(Aqpreopen:names\*(Aq ثبت می‌شوند، استفاده کنید\&. .sp پیش‌فرض سطح لاگ 5 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:match_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی یا بازرسی استفاده از منطق preopen، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات مربوط به نام فایل‌های منطبق با یک الگو از \*(Aqpreopen:names\*(Aq ثبت می‌شوند، استفاده کنید\&. .sp همچنین \*(Aqpreopen:founddigits_log_level\*(Aq و \*(Aqpreopen:push_log_level\*(Aq را ببینید\&. .sp پیش‌فرض سطح لاگ 5 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:nodigits_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی یا بازرسی مشکلات مربوط به پیکربندی preopen، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات مربوط به نام فایل‌های منطبق با الگویی از \*(Aqpreopen:names\*(Aq، اما فاقد ارقام مورد انتظار ثبت می‌شوند، استفاده کنید\&. این معمولاً چیزی است که مدیر سیستم می‌خواهد به آن توجه کند و پیکربندی را تنظیم کند تا دقیق‌تر مشخص شود ارقام در کجای نام فایل پیدا شوند\&. .sp پیش‌فرض سطح لاگ 1 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:founddigits_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی یا بازرسی استفاده از منطق preopen، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات مربوط به نام فایل‌های منطبق با الگویی از \*(Aqpreopen:names\*(Aq و هم‌زمان دارای ارقام معتبر مورد انتظار ثبت می‌شوند، استفاده کنید\&. این بدان معناست که اطلاعات کافی به منظور قرار دادن در صف پیش‌بازگشایی (preopens) موجود است\&. .sp پیش‌فرض سطح لاگ 3 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:reset_log_level = LOGLEVEL .RS 4 اگر یک نام فایل منطبق متعلق به الگوی متفاوتی از \*(Aqpreopen:names\*(Aq باشد، متعلق به دایرکتوری والد متفاوتی باشد یا تفاوت قابل توجهی با آخرین نام فایلی که پیش‌تر پیدا شده بود داشته باشد، ماژول نیاز دارد وضعیت صف داخلی خود را بازنشانی کند\&. این یعنی دیگر پیش‌بازگشایی‌های بیشتری به فرآیندهای کمکی متعلق به وضعیت صف قبلی ارسال نخواهد شد\&. به منظور عیب‌یابی یا بازرسی چنین بازنشانی‌هایی در صف، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات در آن ثبت می‌شوند استفاده کنید\&. .sp پیش‌فرض سطح لاگ 5 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:push_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی یا بازرسی استفاده از منطق preopen، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات مربوط به نام فایل‌هایی که واقعاً به فرآیندهای کمکی preopen ارسال شده‌اند ثبت می‌شوند، استفاده کنید\&. این یعنی آن‌ها به زودی واقعاً پیش‌بازگشایی خواهند شد\&. .sp پیش‌فرض سطح لاگ 3 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .PP preopen:queue_log_level = LOGLEVEL .RS 4 به منظور عیب‌یابی جزئیات مربوط به پردازش صف داخلی، می‌توانید از این گزینه برای مشخص کردن سطح لاگی که جزئیات در آن ثبت می‌شوند استفاده کنید\&. .sp پیش‌فرض سطح لاگ 10 است\&. همچنین بخش \*(Aq\m[blue]\fBlog level\fR\m[]\*(Aq در \fBsmb.conf\fR(5) را برای نحوه برخورد ویژه با کلاس اشکال‌زدایی \*(Aqpreopen\*(Aq ببینید\&. .RE .SH "نسخه (VERSION)" .PP این صفحه راهنما بخشی از نسخه 4\&.24\&.6 از مجموعه نرم‌افزاری Samba است\&. .SH "نویسندگان (AUTHOR)" .PP نرم‌افزار اصلی Samba و ابزارهای مرتبط توسط Andrew Tridgell ساخته شده‌اند\&. اکنون Samba توسط Samba Team به عنوان پروژه‌ای متن‌باز مشابه نحوه توسعه هسته لینوکس توسعه می‌یابد\&. .PP ماژول PREOPEN VFS با مشارکت‌های Volker Lendecke و توسعه‌دهندگان IBM ایجاد شده است\&.