On Thu, Apr 19, 2012 at 9:05 AM, David Howells dhowells@redhat.com wrote:
Implement a pair of new system calls to provide extended and further extensible
stat functions. <snip>
Should the default for a network fs be to do an unconditional (heavyweight) stat with a flag to suppress going to the server to update the locally held attributes and flushing pending writebacks?
Even though we can use leases (oplocks) to avoid the roundrtrip, it is probably too expensive to default to forcing a cache flush, especially when a common case is to get the file creation time or inode number information (stable vs volatile).
Would it be better to make the stable vs volatile inode number an attribute of the volume or something returned by the proposed xstat?
Should things like the Windows Archive, Hidden and System bits be handled through IOC flags, perhaps expanded to 64-bits?
Today I export these through an psuedo-xattr in cifs.ko, I am curious how NTFS and FAT export these on linux.
========== TO BE DONE ==========
Autofs, ntfs, btrfs, ...
Given the overlap in optional attributes between the network protocol and local NTFS (and ReFS and to a lesser extent FAT) I would expect cifs.ko and the ntfs implementations info to map pretty closely.
I should perhaps use u8/u32/u64 rather than uint8/32/64_t.
Handle remote filesystems being offline and indicate this with XSTAT_INFO_OFFLINE.
You already have support for an indicator for offline files (HSM), would XSTAT_INFO_OFFLINE be intended for the case where the network session to the server is disconnected (and in which you case the application does not want to reconnect)?