On Tue, Oct 03, 2006 at 03:45:49PM -0500, Steve French wrote: > Dave Kleikamp wrote: > >>Someone had reported a problem with a writepages call coming in on with > >>no open files (so presumably the file was closed, with dirty pages not > >>written). > >> > > > >This is normal behavior for most file systems. I thought cifs protected > >this by flushing dirty data in cifs_close. I don't think any data > >should be dirtied after cifs_close is called (on the last open file > >handle). > > > I found it ... > > cifs exports flush, filp_close calls flush (before calling close) > > cifs_flush calls filemap_fdatawrite > > May be a case in which filemap_fdatawrite returns before the write(s) is > sent to the vfs and write races with close (although cifs will defer a > file close if a write is pending on that handle)? Steve, Here's a comment I found in the NFSv4 code.... might be relevent. >From /usr/src/linux/fs/nfs/nfs4proc.c /* * It is possible for data to be read/written from a mem-mapped file * after the sys_close call (which hits the vfs layer as a flush). * This means that we can't safely call nfsv4 close on a file until * the inode is cleared. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html