xfs
[Top] [All Lists]

[Bug 222] New: file truncation after fsync() and following reset.

To: xfs-master@xxxxxxxxxxx
Subject: [Bug 222] New: file truncation after fsync() and following reset.
From: bugzilla-daemon@xxxxxxxxxxx
Date: Mon, 17 Feb 2003 03:51:31 -0800
Sender: linux-xfs-bounce@xxxxxxxxxxx
http://oss.sgi.com/bugzilla/show_bug.cgi?id=222

           Summary: file truncation after fsync() and following reset.
           Product: Linux XFS
           Version: 1.2.x
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: High
         Component: XFS kernel code
        AssignedTo: xfs-master@xxxxxxxxxxx
        ReportedBy: razuwaev@xxxxxxxx
                CC: razuwaev@xxxxxxxx


Description of Problem:
Under x86 linux 2.4.18 (kernel from www.kernel.org) with XFS 1.2 
(http://oss.sgi.com/projects/xfs/patchlist.html) found bug:
after fsync() and following reset file may be spontaneously truncated.

How Reproduce:
1. open some files for RW (1-5 files).
2. seek to the EOF
3. write whole block 4Kb.
4. seek to the middle of the file at offset n*4096 (n is any positive integer).
5. write whole block 4Kb.
6. #2-#5 repeates some times (usually 10-20 times).
7. fsync() for all files.
8. get size of the all files (for compare with next results).
8. From another process makes reboot -f -n (reboot w/o sync and w/o shutdown 
process). This step simulates RESET action.

Actual Results:
Sometimes after reset one or more files has size lesser then after fsync (may 
be lost 1-4 blocks). I.e. loses last added blocks.
Updates in the middle blocks of the file _never_ lose.

Expected Results:
All files must have the same sizes as before reset the system.

Additional Information:
XFS configured w/o real-time section and with log on the same device as data 
section.
Mount string (in /etc/mtab) is:/dev/hda6 /mnt/xfs xfs rw 0 0

I tried understand difference fsync after writes to the EOF and to the middle 
of the file. 
Seems fsync after write to the EOF causes the pagebuf_write_full_page().
fsync after write to the middle of the file causes ll_rw_block().



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


<Prev in Thread] Current Thread [Next in Thread>
  • [Bug 222] New: file truncation after fsync() and following reset., bugzilla-daemon <=