ALT Linux hardware support
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: hardware@lists.altlinux.org
Subject: Re: [Hardware] SCSI RAID
Date: Fri, 1 Jun 2007 18:14:54 +0400
Message-ID: <20070601141454.GE3921@newmaster.mivlgu.local> (raw)
In-Reply-To: <20070601132934.GO12012@osdn.org.ua>

[-- Attachment #1: Type: text/plain, Size: 2502 bytes --]

On Fri, Jun 01, 2007 at 04:29:34PM +0300, Michael Shigorin wrote:
> > Поплакался и ладно...  Т.е. эта фича XFS неотключаема?
> 
> Боюсь, да.  Сам вот надеюсь, что всё-таки сделают рубильник.

В самых свежих ядрах приделали следующее:

    [XFS] Fix to prevent the notorious 'NULL files' problem after a crash.
    
    The problem that has been addressed is that of synchronising updates of
    the file size with writes that extend a file. Without the fix the update
    of a file's size, as a result of a write beyond eof, is independent of
    when the cached data is flushed to disk. Often the file size update would
    be written to the filesystem log before the data is flushed to disk. When
    a system crashes between these two events and the filesystem log is
    replayed on mount the file's size will be set but since the contents never
    made it to disk the file is full of holes. If some of the cached data was
    flushed to disk then it may just be a section of the file at the end that
    has holes.
    
    There are existing fixes to help alleviate this problem, particularly in
    the case where a file has been truncated, that force cached data to be
    flushed to disk when the file is closed. If the system crashes while the
    file(s) are still open then this flushing will never occur.
    
    The fix that we have implemented is to introduce a second file size,
    called the in-memory file size, that represents the current file size as
    viewed by the user. The existing file size, called the on-disk file size,
    is the one that get's written to the filesystem log and we only update it
    when it is safe to do so. When we write to a file beyond eof we only
    update the in- memory file size in the write operation. Later when the I/O
    operation, that flushes the cached data to disk completes, an I/O
    completion routine will update the on-disk file size. The on-disk file
    size will be updated to the maximum offset of the I/O or to the value of
    the in-memory file size if the I/O includes eof.

Т.е., вместо файлов, заполненных нулевыми байтами, в случае сбоя будут
появляться файлы урезанного размера, поскольку поле размера файла на
диске будет обновляться только после фактической записи данных на
диск.  (Хотя я не уверен, что нули не появятся в случае, если по
каким-то причинам блоки будут записываться на диск не в том порядке, в
котором они находятся в файле - впрочем, это маловероятно.)

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2007-06-01 14:14 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31  4:27 Gosha
2007-05-31  4:46 ` Serg Rychka
2007-05-31  5:52   ` Gosha
2007-05-31  4:58     ` Serg Rychka
2007-05-31  6:10       ` Maks Re
2007-05-31  6:23         ` Gosha
2007-05-31  7:13           ` Maks Re
2007-05-31  7:25             ` Gosha
2007-05-31  7:31               ` Serg Rychka
2007-05-31 15:56                 ` Gosha
2007-05-31  7:39               ` Maks Re
2007-05-31 15:35                 ` Gosha
2007-05-31  7:39               ` Maxim Tyurin
2007-05-31  8:05                 ` Maks Re
2007-05-31  8:31                   ` Maxim Tyurin
2007-05-31  9:05                     ` Maks Re
2007-05-31 10:26                       ` Maxim Tyurin
2007-05-31 15:49                         ` Gosha
2007-05-31 15:54                           ` Michael Shigorin
2007-05-31 15:59                             ` Gosha
2007-05-31 16:17                               ` Michael Shigorin
2007-05-31 16:23                                 ` Gosha
2007-05-31 16:30                                   ` Maxim Tyurin
2007-05-31 17:15                                     ` Gosha
2007-05-31 17:22                                       ` Michael Shigorin
2007-05-31 17:21                                   ` Michael Shigorin
2007-06-01 13:43                                 ` Gennadiy Redko
2007-06-01 13:54                                   ` Michael Shigorin
2007-06-01 17:16                                     ` Gosha
2007-06-01 18:30                                       ` Gennadiy Redko
2007-06-02  8:57                                         ` Gosha
2007-06-04  6:34                                           ` Gennadiy Redko
2007-06-04 11:57                                             ` Gosha
2007-06-04 12:06                                               ` Gennadiy Redko
2007-06-04 13:21                                             ` Michael Shigorin
2007-06-01 13:59                                   ` Maks Re
2007-05-31 17:30                           ` Sergey Vlasov
2007-05-31 18:14                             ` Gosha
2007-06-01 13:49                             ` Gennadiy Redko
2007-05-31  9:03                   ` Gennadiy Redko
2007-05-31 15:52                     ` Gosha
2007-05-31 20:14                       ` Yura Kalinichenko
2007-06-01  2:41                         ` Gosha
2007-06-01 11:57                           ` Michael Shigorin
2007-06-01 17:04                             ` Gosha
2007-06-01 18:33                               ` Michael Shigorin
2007-06-02  9:05                                 ` Gosha
2007-06-01 14:08                           ` Gennadiy Redko
2007-06-01 15:04                           ` Yura Kalinichenko
2007-06-01 16:55                             ` Gosha
2007-06-01 17:55                               ` Yura Kalinichenko
2007-06-02  9:11                                 ` Gosha
2007-06-02  9:17                                   ` Gosha
2007-06-02 16:31                                     ` Yura Kalinichenko
2007-06-02 17:24                                       ` Gosha
2007-06-02 12:12                                   ` Yura Kalinichenko
2007-06-02 14:23                                     ` Gosha
2007-06-02 17:30                                       ` Yura Kalinichenko
2007-06-02 18:21                                         ` Gosha
2007-05-31 10:04               ` Michael Shigorin
2007-05-31 10:28                 ` Maks Re
2007-05-31 11:56                 ` Maxim Tyurin
2007-05-31 17:24                   ` Michael Shigorin
2007-05-31 17:40                     ` Maxim Tyurin
2007-05-31 21:29                       ` Michael Shigorin
2007-05-31 15:44                 ` Gosha
2007-05-31 15:53                   ` Michael Shigorin
2007-05-31 16:44                     ` Gosha
2007-05-31 17:04                       ` Maxim Tyurin
2007-05-31 22:04                         ` Aleksey Korotkov
2007-06-01  2:52                           ` Gleb Kulikov
2007-06-01  8:16                             ` Sergey Vlasov
2007-06-01 11:58                               ` Michael Shigorin
2007-06-01 13:39                                 ` Sergey Vlasov
2007-06-01 14:04                                   ` Michael Shigorin
2007-06-01  7:10                         ` Alexander Yereschenko
2007-06-01 12:00                           ` Michael Shigorin
2007-06-01 13:07                             ` Alexander Yereschenko
2007-06-01 13:29                               ` Michael Shigorin
2007-06-01 14:14                                 ` Sergey Vlasov [this message]
2007-05-31 17:27                       ` Michael Shigorin
2007-05-31 18:06                         ` Gosha
2007-05-31 21:27                           ` Michael Shigorin
2007-05-31  7:29 ` Maxim Tyurin
2007-05-31 16:00   ` Gosha
2007-05-31  9:27 ` Gennadiy Redko
2007-05-31 16:03   ` Gosha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070601141454.GE3921@newmaster.mivlgu.local \
    --to=vsu@altlinux.ru \
    --cc=hardware@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux hardware support

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
		hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
	public-inbox-index hardware

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.hardware


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git