On Thu, February 14, 2008 8:32 am, Peter Staubach wrote:As I said, the "NFS has seen this i_version" flag needs to be on stable storage, e.g. the lsb of the i_version. This will ensure that any change after NFSD saw the i_version will cause the i_version to be updated. So I think it can provide correct semantics. Precise details: NFSD: when reading i_version take lock tmp = i_version i_version |= 1 drop lock return tmp & ~1; VFS when making any change: take lock if (i_version & 1) { i_version++; changed=1 } drop lock if changed, sync inode Correct NFS semantics require that the i_version be written to disk before (or when) the change is committed. That means lots more inodes in the journal. If you are already doing data=journal, it the hit probably isn't too high.(?) You are right: measuring the cost is important. However as we are designing a generic filesystem interface, we need to understand the cost on multiple filesystems in a variety of configuration .... or give the filesystem complete information and let it decide the optimal implementation. Giving the filesystem full information means having an inode_operation "nfsd_reads_version" which returns the number to be used as change_id. NeilBrown - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Brice Goglin | Re: Linux 2.6.21-rc2 |
| Christian Volkmann | 2.6.23-rc6: usb 1-1: device not accepting address 2, error -62 |
git: | |
| Jon Smirl | Re: VCS comparison table |
| Nicolas Pitre | Re: git to libgit2 code relicensing |
| Giuseppe Bilotta | [PATCHv3 0/4] gitweb: remote heads feature |
| Mark Burton | Git commit won't add an untracked file given on the command line |
| Nick Guenther | Re: Real men don't attack straw men |
| Tanvir | Re: Adobe Flash on OpenBSD |
| Marius ROMAN | 1440x900 resolution problem |
| Gilles Chehade | Re: wpi (4) and 4.4 |
| Johann Baudy | Re: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING |
| Volker Armin Hemmann | build error with 2.6.27.6+reiser4+ehci-hub patch. ERROR: "mii_ethtool_gset" [drive... |
| Patrick Ohly | [RFC PATCH 00/13] hardware time stamping + igb example implementation |
| Laszlo Attila Toth | [PATCHv7 3/5] Interface group: core (netlink) part |
