From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: [patch 0/9] writeback data integrity and other fixes (take 3) Date: Thu, 30 Oct 2008 03:16:01 +0100 Message-ID: <20081030021601.GF18041@wotan.suse.de> References: <20081028222746.GB4985@disturbed> <20081029001653.GF15599@wotan.suse.de> <20081029031645.GE4985@disturbed> <20081029091203.GA32545@infradead.org> <20081029092143.GA5953@wotan.suse.de> <20081029094417.GA21824@infradead.org> <20081029103029.GC5953@wotan.suse.de> <20081029122234.GE846@shareable.org> <490865E3.8070102@gmail.com> <1225292196.6448.263.camel@think.oraclecorp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Ric Wheeler , Jamie Lokier , Christoph Hellwig , linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, xfs-VZNHf3L845pBDgjK7y7TUQ@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Chris Mason Return-path: Content-Disposition: inline In-Reply-To: <1225292196.6448.263.camel-cGoWVVl3WGUrkklhUoBCrlaTQe2KTcn/@public.gmane.org> Sender: linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-fsdevel.vger.kernel.org On Wed, Oct 29, 2008 at 10:56:36AM -0400, Chris Mason wrote: > On Wed, 2008-10-29 at 09:32 -0400, Ric Wheeler wrote: > > Jamie Lokier wrote: > > > >> Is there anything that particularly makes it a file operation > > >> as opposed to an inode operation? > > >> > > > > > > In principle, is fsync() required to flush all dirty data written > > > through any file descriptor ever, or just dirty data written through > > > the file descriptor used for fsync()? > > > > > > -- Jamie > > > -- > > > > > http://www.opengroup.org/onlinepubs/009695399/functions/fsync.html > > > > Is a pointer to what seems to be the official posix spec for this - it > > is definitely per file descriptor, not per file system, etc... > > > > Maybe I'm reading Jamie's question wrong, but I think he's saying: > > /* open exactly the same file twice */ > fd = open("file"); > fd2 = open("file"); > > write(fd, "stuff") > write(fd2, "more stuff") > fsync(fd); > > Does the fsync promise "more stuff" will be on disk? I think the answer > should be yes. I think so. And this is in the context of making ->fsync an inode operation and avoid the NFS NULL-file problem... I don't think there is any fd specific metadata that fsync has to deal with? Any other reasons it has to be a file operation? -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html