[PATCH v3] vfs_ceph: fix ntimes_fn callback

Ira Cooper ira at samba.org
Thu Mar 19 05:04:54 MDT 2015


You've heard from Ira.  Push.

-Ira

On Thu, Mar 19, 2015 at 3:48 AM, Michael Adam <obnox at samba.org> wrote:

> Perfect, thanks for your patience!
>
> I will push once I have heard back from Ira
> or gotten any other reviewed-by.
>
> Thanks - Michael
>
> On 2015-03-19 at 09:58 +0800, Yan, Zheng wrote:
> > add null timespec check for atime/mtime. Also add code that stores
> > create_time by EA.
> >
> > Signed-off-by: Yan, Zheng <zyan at redhat.com>
> > ---
> >  source3/modules/vfs_ceph.c | 22 ++++++++++++++++++++--
> >  1 file changed, 20 insertions(+), 2 deletions(-)
> >
> > diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
> > index 0967428..c62d95f 100644
> > --- a/source3/modules/vfs_ceph.c
> > +++ b/source3/modules/vfs_ceph.c
> > @@ -753,8 +753,26 @@ static int cephwrap_ntimes(struct vfs_handle_struct
> *handle,
> >  {
> >       struct utimbuf buf;
> >       int result;
> > -     buf.actime = ft->atime.tv_sec;
> > -     buf.modtime = ft->mtime.tv_sec;
> > +
> > +     if (null_timespec(ft->atime)) {
> > +             buf.actime = smb_fname->st.st_ex_atime.tv_sec;
> > +     } else {
> > +             buf.actime = ft->atime.tv_sec;
> > +     }
> > +     if (null_timespec(ft->mtime)) {
> > +             buf.modtime = smb_fname->st.st_ex_mtime.tv_sec;
> > +     } else {
> > +             buf.modtime = ft->mtime.tv_sec;
> > +     }
> > +     if (!null_timespec(ft->create_time)) {
> > +             set_create_timespec_ea(handle->conn, smb_fname,
> > +                                    ft->create_time);
> > +     }
> > +     if (buf.actime == smb_fname->st.st_ex_atime.tv_sec &&
> > +         buf.modtime == smb_fname->st.st_ex_mtime.tv_sec) {
> > +             return 0;
> > +     }
> > +
> >       result = ceph_utime(handle->data, smb_fname->base_name, &buf);
> >       DEBUG(10, ("[CEPH] ntimes(%p, %s, {%ld, %ld, %ld, %ld}) = %d\n",
> handle, smb_fname_str_dbg(smb_fname),
> >                               ft->mtime.tv_sec, ft->atime.tv_sec,
> ft->ctime.tv_sec,
> > --
> > 1.9.3
>


More information about the samba-technical mailing list