Снимок LVM btrfs объема изменяет смонтированное устройство

Это действительно лучше всего сделано путем записи сценария и загрузки его в любимый веб-сервер (IIS, Apache, безотносительно), и затем продвижения POST в этот файл.

PHP:

Классик ASP:

<%
    For Each Item In Request.Form
        For x=1 To Request.Form(item).Count
            Response.Write Item & ": " & Request.Form(Item)(x) & "
" Next Next %>

Кредит, где подлежащий выплате кредит, код ASP, очевидно снятый отсюда

200 ответ автоматически сгенерирован веб-сервером, так как мы производим действительный код.

Если Вам нужно больше "выгоды весь" ответ (т.е. Вы хотите, чтобы веб-сервер запустил этот скрипт независимо от любого URL, который Вы ОТПРАВЛЯЕТЕ на), это может быть, покончили переписать правило.

4
задан 28 March 2014 в 22:59
2 ответа

Я не особо разбирался в этом, но btrfs как файловая система работает с группами дисков, а не с отдельными устройствами.

Я подозреваю, что btrfs не может отличить смонтированный снимок от реальной смонтированной файловой системы, когда происходит монтирование. Фактически, он может видеть UUID базового подобома, считать, что он является зеркалом исходного тома, и записывать в оба тома одновременно.

Я был бы удивлен, если бы это когда-либо было исправлено, поскольку для большинства целей и цели Снимки состояния btrfs заменяют снимки LVM.

0
ответ дан 3 December 2019 в 03:58

It seems that udev is causing this behavior.

Performing the lvcreate (or losetup) causes udev "change" actions on the "block" system:

# udevadm monitor
...
UDEV  [62084.032411] change   /devices/virtual/block/dm-7 (block)
UDEV  [62084.469374] change   /devices/virtual/block/dm-6 (block)
UDEV  [62084.582549] change   /devices/virtual/block/dm-6 (block)
UDEV  [62084.606191] change   /devices/virtual/block/dm-5 (block)
...

which triggers (in my case) the rules from

/lib/udev/rules.d/64-btrfs.rules

and calls the builtin udev command:

IMPORT{builtin}="btrfs ready $devnode"

which passes through src/udev/udev-builtin-btrfs.c:52

err = ioctl(fd, BTRFS_IOC_DEVICES_READY, &args);

To land in kernel at: http://lxr.free-electrons.com/source/fs/btrfs/volumes.c#L848 causing a dmesg like:

...
[62030.117248] btrfs: device label label devid 1 transid 13 /dev/dm-6
[62030.141242] btrfs: device label label devid 1 transid 13 /dev/dm-5
...

It is unclear exactly what is causing the "remount" or why it is needed. But the remarks that the duplicate UUID is responsible seem not far fetched.

I'm not even sure that this kind of remount (changing the device of existing mount-point) is wanted or useful behavior...

If you would want to change the behavior you could modify or remove the btrfs-udev rules with loss of functionality: no more auto-mounts after hot-plugging btrfs usb disks.

2
ответ дан 3 December 2019 в 03:58

Теги

Похожие вопросы