Thread (2 messages) 2 messages, 2 authors, 2011-08-16

Re: [RFC] Passing stream to userspace

From: Anand Jain <hidden>
Date: 2011-08-16 02:49:31
Also in: linux-btrfs

Jan,

  I personally like the way we interact with the kernel using the
  /sys or /proc that's a cool way, mainly because no C code is required.
  A generic interface like that (or btrfs-control with more commands
  supported) will enhance troubleshooting and debugging, application
  interface.
  or did I miss anything ?

Cheers, Anand


On 08/12/2011 11:30 PM, Jan Schmidt wrote:
Hi there,

I was promised you (viro, hch) have a decided opinion on this topic. The
original mail ("Getting a lot of fs-generated information to user
space") contains a lot of background and is way too long. Point is: I
want to get a bunch of data generated by the kernel (btrfs) to userland
(really).

Matthew Wilcox suggested to use an ioctl changing f_ops.read. Userland
would be like:
quoted
int fd = open("/mnt/btrfs");
ioctl(fd, BTRFS_IOC_STREAM);
while (...) {
	read(fd, buf, 4096);
	...
}
close(fd);
To avoid doing buffering myself, I suggested passing a fd to the kernel
where it is expected to dump the generated information, like:
quoted
int fd;
int pipefd[2];
struct io_args io_args;

fd = open("/mnt/btrfs");
pipe(pipefd);
io_agrs.dest = pipefd[0];

/* thread 1 */
ioctl(fd, BTRFS_IOC_STREAM,&io_args);
/* thread 2 */
while (...) {
	read(pipefd[1], buf, 4096);
	...
}
Any opinions on those or different suggestions? Thanks,
-Jan
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help