Am Samstag, 9. November 2013, 15:59:37 schrieb Jeff Liu: > On 11/09/2013 01:23 PM, harryxiyou wrote: > > Hi all, > > > > I have format block device with XFS as follows. > > > > root@node2:~# mkfs.xfs -f -r rtdev=/dev/sda3 /dev/sda4 > > > > meta-data=/dev/sda4 isize=256 agcount=4, agsize=56122440 > > blks> > > = sectsz=512 attr=2, projid32bit=0 > > > > data = bsize=4096 blocks=224489757, imaxpct=25 > > > > = sunit=0 swidth=0 blks > > > > naming =version 2 bsize=4096 ascii-ci=0 > > > > log =internal log bsize=4096 blocks=109614, version=2 > > > > = sectsz=512 sunit=0 blks, lazy-count=1 > > > > realtime =/dev/sda3 extsz=4096 blocks=14865657, > > rtextents=14865657 > > > > > > And I also write user-space codes as follows. > > > > root@node2:~/test# cat xfs.c > > #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> > > > > int main(int argc, char **argv) { > > int fd; > > int xfs_ret = 0; > > > > fd = open("./1", O_RDWR); > > if (fd < 0) { > > fprintf(stderr, "open error!\n"); > > return -1; > > } > > xfs_ret = xfsctl("./1", fd, XFS_IOC_FSGETXATTR, NULL); > > > > return 0; > > } > > > > > > Now, I am wondering how to feel the real time feature of XFS from > > userspace? Could anyone please give me some suggestions? Thanks in > > advance. > > 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); > ... > > I would suggest you take a look at the source of xfs_rctp(8) at xfsprogs to > get more info. > > BTW, I remember Dave once mentioned that the realtime feature on Linux is > not widely tested and not recommended for production use. Well, this sounds scary, except from xfs_rtcp(8): CAVEATS Currently, realtime partitions are not supported under the Linux version of XFS, and use of a real‐ time partition WILL CAUSE CORRUPTION on the data partition. As such, this command is made available for curious DEVELOPERS ONLY at this point in time. Especially the corruption part of it. Whats the current state? Would be interested to know it due to the Linux Performance Analysis & Tuning courses I hold. Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs