lkml.org 
[lkml]   [1999]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: fsync on large files
   Date: Mon, 15 Feb 1999 17:46:42 -0800 (PST)
From: Linus Torvalds <torvalds@transmeta.com>

Ugh.

I'd much rather just always add it to the "inode dirty list". List
maintenance is essentially zero overhead if you use the nice list macros
in <linux/list.h> (as opposed to the braindamaged BSD compatibility macros
in <linux/lists.h>), and it's fairly trivial to just keep each dirty block
on two dirty lists (one inode-specific, one global - you'd still use the
global one for normal write-outs).

This works for ext2, but it doesn't work with filesystems (most notably
FAT filesystems, and possibly some B-tree based filesystems) where
metadata might be shared by multiple files, so a block might have to be
on multiple inode dirty lists. I had thought about using a linked list
architecture and threading buffer_head structures onto inode dirty
linked lists, but I discarded that plan since it wouldn't work for all
filesystems.

- Ted



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.156 / U:1.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site