If you receive a callback to your "watch_notify2_test_errcb" function,
you would need to unwatch and rewatch the object.

On Tue, Sep 6, 2016 at 8:56 AM, Nick Fisk <[email protected]> wrote:
> Thanks Jason,
>
> I've noticed that some of the objects are no longer being watched even though 
> my process is still running (as seen by listwatchers), I'm guessing they have 
> dropped off somehow and that the watch is not automatically re-established? I 
> have seen there is a rados_watch_check function, do I need to call this 
> periodically to check that the watch is still active?
>
> Thanks,
> Nick
>
>> -----Original Message-----
>> From: Jason Dillaman [mailto:[email protected]]
>> Sent: 24 August 2016 15:54
>> To: Nick Fisk <[email protected]>
>> Cc: ceph-users <[email protected]>
>> Subject: Re: [ceph-users] RBD Watch Notify for snapshots
>>
>> I guess I missed the fact that you were using the "rbd_id" object -- 
>> notifications are sent against image header "rbd_header.<image
>> id>". A notification is only sent prior to creating a snapshot when the 
>> exclusive-lock feature is used and an active client owns the lock.
>> Otherwise, you'll just receive an "image updated" notification.
>>
>> You won't be able to build your own RBD header notifications, so your 
>> "rbd_id" notification is probably a good compromise that won't
>> affect the operation of anything.
>>
>> On Wed, Aug 24, 2016 at 10:46 AM, Nick Fisk <[email protected]> wrote:
>> >> -----Original Message-----
>> >> From: Jason Dillaman [mailto:[email protected]]
>> >> Sent: 23 August 2016 13:23
>> >> To: Nick Fisk <[email protected]>
>> >> Cc: ceph-users <[email protected]>
>> >> Subject: Re: [ceph-users] RBD Watch Notify for snapshots
>> >>
>> >> Looks good.  Since you are re-using the RBD header object to send the
>> >> watch notification, a running librbd client will most likely print
>> >> out an error message along the lines of "failed to decode the 
>> >> notification" since you are sending "fsfreeze" / "fsunfreeze" as the
>> payload, but it would be harmless.
>> >
>> > Thanks Jason. I will take the comments from you and Ilya and make some 
>> > improvements. Are there any particular payloads I should
>> look to standardise on? I originally was planning to try and trigger this 
>> when the RBD snapshot was taken, but I didn't seem to see any
>> notifies when watching the rbd_id.<rbd> object. Am I not watching the 
>> correct object?
>> >
>> >>
>> >> On Mon, Aug 22, 2016 at 9:13 AM, Nick Fisk <[email protected]> wrote:
>> >> > Hi Jason,
>> >> >
>> >> > Here is my initial attempt at using the Watch/Notify support to be
>> >> > able to remotely fsfreeze a filesystem on a RBD. Please note this
>> >> > was all very new to me and so there will probably be a lot of
>> >> > things
>> >> that haven't been done in the best way.
>> >> >
>> >> > https://github.com/fiskn/rbd_freeze
>> >> >
>> >> > I'm not sure if calling out to bash scripts is the best way of
>> >> > doing the fsfreezing, but it was the easiest way I could think to
>> >> > accomplish the task. And it also allowed me to fairly easily run
>> >> > extra checks
>> >> like seeing if any files have been updated recently.
>> >> >
>> >> > Let me know what you think.
>> >> >
>> >> > Nick
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: ceph-users [mailto:[email protected]] On
>> >> >> Behalf Of Nick Fisk
>> >> >> Sent: 08 July 2016 09:58
>> >> >> To: [email protected]
>> >> >> Cc: 'ceph-users' <[email protected]>
>> >> >> Subject: Re: [ceph-users] RBD Watch Notify for snapshots
>> >> >>
>> >> >> Thanks Jason,
>> >> >>
>> >> >> I think I'm going to start with a bash script which SSH's into the
>> >> >> machine to check if the process has finished writing and then
>> >> > calls the
>> >> >> fsfreeze as I've got time constraints to getting this working. But
>> >> >> I will definitely revisit this and see if there is something I
>> >> > can create
>> >> >> which will do as you have described, as it would be a much neater 
>> >> >> solution.
>> >> >>
>> >> >> Nick
>> >> >>
>> >> >> > -----Original Message-----
>> >> >> > From: ceph-users [mailto:[email protected]] On
>> >> >> > Behalf Of Jason Dillaman
>> >> >> > Sent: 08 July 2016 04:02
>> >> >> > To: [email protected]
>> >> >> > Cc: ceph-users <[email protected]>
>> >> >> > Subject: Re: [ceph-users] RBD Watch Notify for snapshots
>> >> >> >
>> >> >> > librbd pseudo-automatically handles this by flushing the cache
>> >> >> > to the snapshot when a new snapshot is created, but I don't
>> >> >> > think krbd does the same. If it doesn't, it would probably be a
>> >> >> > nice
>> >> > addition to
>> >> >> the block driver to support the general case.
>> >> >> >
>> >> >> > Baring that (or if you want to involve something like fsfreeze),
>> >> >> > I think the answer depends on how much you are willing to write
>> >> >> > some custom C/C++ code (I don't think the rados python library
>> >> >> > exposes watch/notify APIs). A daemon could register a watch on a
>> >> >> > custom per-host/image/etc object which would sync the disk when
>> >> >> > a
>> >> >> notification is received. Prior to creating a snapshot, you would
>> >> >> need to send a notification to this object to alert the daemon
>> >> > to
>> >> >> sync/fsfreeze/etc.
>> >> >> >
>> >> >> > On Thu, Jul 7, 2016 at 12:33 PM, Nick Fisk <mailto:[email protected]> 
>> >> >> > wrote:
>> >> >> > Hi All,
>> >> >> >
>> >> >> > I have a RBD mounted to a machine via the kernel client and I
>> >> >> > wish to be able to take a snapshot and mount it to another machine 
>> >> >> > where it can be backed up.
>> >> >> >
>> >> >> > The big issue is that I need to make sure that the process
>> >> >> > writing on the source machine is finished and the FS is sync'd 
>> >> >> > before taking the snapshot.
>> >> >> >
>> >> >> > My question. Is there something I can do with Watch/Notify to
>> >> >> > trigger this checking/sync process on the source machine before the 
>> >> >> > snapshot is actually taken?
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Nick
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > ceph-users mailing list
>> >> >> > mailto:[email protected]
>> >> >> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Jason
>> >> >>
>> >> >> _______________________________________________
>> >> >> ceph-users mailing list
>> >> >> [email protected]
>> >> >> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Jason
>> >
>>
>>
>>
>> --
>> Jason
>



-- 
Jason
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to