On 05.09.2013 09:58, Sergey Korobitsin wrote:
Sergey Korobitsin ☫ → To [email protected] @ Thu, Sep 05, 2013 
11:47 +0600

Если копать именно в эту сторону, то на FS при монтировании
устанавливается т.н. dirty bit, который потом снимается при
отмонтировании. Его проверяет, например, fsck (когда говорит "FS not
cleanly unmounted, check forced" или что-то вроде того).
#ifdef __linux__ /* This only works on Linux 2.6+ systems */
        if ((stat(device, &st_buf) != 0) ||
            !S_ISBLK(st_buf.st_mode))
                return 0;
        fd = open(device, O_RDONLY|O_EXCL|O_CLOEXEC);
        if (fd < 0) {
                if (errno == EBUSY)
                        *mount_flags |= MF_BUSY;
        } else
                close(fd);
#endif

        return 0;
}

http://code.ohloh.net/file?fid=SbxDnrwRiSbGmeY9xllF8GNxnho&cid=pJri86gRlto&fp=301763&mpundefined=&projSelected=true&mp=1&ml=1&me=1&md=1#L338

Но это, опять же, не факт, что сработает в случае примонтированности из VM, 
надо проверять.

не могу найти чем это dirty bit прочитать из linux - не писать же свой собственный сишник и потом его компилить
ну да ладно с этой проверкой.

у меня и так уже их достаточно много получилось.

--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru

Ответить