lkml.org 
[lkml]   [2004]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Reading from file in module fails
> > I need to copy files (yes - I know that kernel shouldn't do this but
> > I REALLY need).
>
> This is ugly, but it should do the trick:
>
> int rv;
> char *argv[4] = {"/bin/cp", "/tmp/foo", "/tmp/bar", NULL};
> char *envp[3] = {"HOME=/", "PATH=/sbin:/bin:/usr/sbin:/usr/bin", NULL};
>
> rv = call_usermodehelper(argv[0], argv, envp, 1);
>
> if(rv < 0) {
> /* error handling */
> }
>
> Called from kernel, done in userspace. And if you want to access an SQL
> database from kernel tomorrow, it's just a matter of changing the
> usermode helper.
>
> (BTW, if you need to copy files from kernel, it's usually a sign of bad
> design)

Geez - that's REALLY ugly :-) But for testing I can use it.

It's not bad design - what I'm doing is writing snapshots for VFS as my diploma thesis. And I need to create copy of file before it's changed (copy-on-write). There is no other way how to do it in kernel-space (and user-space solutions like using LUFS are really slow)

Thx,
Libor


-
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/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.151 / U:0.440 seconds]
©2003-2014 Jasper Spaans. Advertise on this site