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