Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [fuse-devel] utimensat fails to update ctime | Date | Tue, 22 Dec 2009 19:43:16 +0900 |
| |
Jean-Pierre André <jean-pierre.andre@wanadoo.fr> writes:
> Hi all,
Hi,
> OGAWA Hirofumi wrote: >> Eric Blake<ebb9@byu.net> writes: >> >> >> It is likely the issue of libfuse or ntfs-3g. I don't know about ntfs-3g >> people at all. So, for now, just Cc: to fuse people. >> > > Which ntfs-3g version are you using ?
I don't know which version is used by actual user. But, well, I've got source by "apt-get source", and the version was 1:2009.4.4-1.
Now, I've got ntfs-3g-2009.11.14AC.2.tgz from specified url.
>>> utimensat(0, NULL, {UTIME_OMIT, UTIME_NOW}, 0) = 0 > > Currently ntfs-3g does not set sub-second precision. > > There is also a slight problem in the fuse interface : > the time buffer is never passed as NULL, consequently > in some circumstances ntfs-3g cannot decide correctly > over permissions. A permissive action is taken in this > situation. > >> > From this, "ia_valid" will have "ATTR_CTIME | ATTR_MTIME". And the >> request would pass to userland via fuse of kernel part, then it will be >> handled by libfuse. >> >> > From quick grep of libfuse and ntfs-3g (would not be latest), ntfs-3g is >> using "struct fuse_operations", not "struct fuse_lowlevel_ops". >> > > With the latest ntfs-3g, currently as a release candidate, > you can (optionally) use the low level fuse interface > http://pagesperso-orange.fr/b.andre/advanced-ntfs-3g.html > use the "lowntfs-3g" driver instead of "ntfs-3g"
Well, the problem seems in fuse_lib_setattr() and ntfs_fuse_setattr() (lowlevel op too).
The both functions is requiring "ATIME | MTIME". Doesn't it mean the ntfs-3g can't set only MTIME like above utimensat()?
In fuse_lib_setattr(),
if (!err && (valid & (FUSE_SET_ATTR_ATIME | FUSE_SET_ATTR_MTIME)) == (FUSE_SET_ATTR_ATIME | FUSE_SET_ATTR_MTIME)) {
In ntfs_fuse_setattr(), case FUSE_SET_ATTR_ATIME + FUSE_SET_ATTR_MTIME : res = ntfs_fuse_utime(&security, ino, attr, &stbuf);
Or I'm missing something?
Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |