Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

blacklist backup process tree #59

Closed
lastguru1 opened this Issue · 5 comments

2 participants

@lastguru1

Hi,

I am planning to use flashcache for a filesystem, on which there is a regular cron job for making backups. For simplicity sake, let's say I am using writearound tactic and the backup job just reads... dealing with writes is another topic and I am not interested in it right now (let's say, writes are remote, for example). Do I presume correctly, that there would be no need for setting DIRECT_IO in this case and blacklist PID would work as intended?

Now the real kicker is that I am using cPanel backup procedure, that executes other processes to do the actual work (including running gtar command). How do I effectively blacklist a process tree to stop all these processes from rewriting the cache, effectively nullifying the flashcache effect (the backup procedure reads a larger amount of data than could fit onto SSD)?

I understand that theoretically I could make a wrapper for gtar and other disk-intensive processes, that would register the particular process in blacklist, and then exec the real binary (and also make a cron job to cleanup)... but that would be a horribly dirty hack. I do hope that there is a better way...

Thanks for your time,
Dmitry

@mohans
Collaborator
@lastguru1

the main problem with this approach is that the backup script is within an openvz container, so I need to make some kind of pipe or other similar way to deliver backup process pids to the host... this is very very dirty :( would it be a significant performance penalty for flashcache to check parent pid?

@mohans
Collaborator
@lastguru1

so if i want to have a process group id checked there (which is probably safer that just parent id in case backup job spawns plenty of processes) i would add something like this:

dontcache = flashcache_find_pid_locked(dmc, get_task_pid(current, PIDTYPE_PGID), FLASHCACHE_BLACKLIST);

somewhere in flashcache_uncacheable() ?

what are the chances that you would include this in the official version if i will give you a working patch?

@mohans
Collaborator
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.