Re: How to feel the real time feature of XFS from userspace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 9, 2013 at 3:59 PM, Jeff Liu <jeff.liu@xxxxxxxxxx> wrote:

Hi Jeff Liu,

Thanks for your reply ;-)

> Mount your realtime device at first:
> mount -o rtdev=/dev/sda3 /dev/sda4 /mount_point
>
> Then you need to mark the attribute bit set with XFS_XFLAG_REALTIME via xfsctl(3)
> after file creation before writing any data to the file, hence your demo code
> would looks like:
>
> struct fsxattr  attr;
>
> attr.fsx_xflags |= XFS_XFLAG_REALTIME;
> xfs_ret = xfsctl(target_file_path, fd, XFS_IOC_FSSETXATTR, &attr);
> ...

Yeah, it's right. I have mounted as you said and changed my codes as follows.

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <xfs/xfs.h>
#include <xfs/xfs_fs.h>

#define F_PATH "./rtxfs.txt"
#define EXTSIZE (0x00001000U)

int main(int argc, char **argv) {
int fd;
int ret = 0;
struct fsxattr fsxattr;

fd = open(F_PATH, O_RDWR|O_CREAT, 0666);
if (fd < 0) {
fprintf(stderr, "open error!\n");
return -1;
}
fsxattr.fsx_xflags = XFS_XFLAG_REALTIME;
fsxattr.fsx_extsize = EXTSIZE;
if (xfsctl(F_PATH, fd, XFS_IOC_FSSETXATTR, &fsxattr)) {
fprintf(stderr, "Set XFS attributes error!\n");
ret = -1;
goto out;
}
out:
close(fd);
return ret;
}

>
> I would suggest you take a look at the source of xfs_rctp(8) at xfsprogs to get
> more info.

xfs_rtcp really helps me a lot.

>
> BTW, I remember Dave once mentioned that the realtime feature on Linux is not widely
> tested and not recommended for production use.
>

However, I am wondering, now, I have created a XFS real-time file
named "rtfs.txt" and how I
could do some real-time stuffs on this file, which is different from
other common files.



-- 
Thanks
Weiwei  Jia (Harry Wei)

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux