IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Btrfs Updates in Linux 3.7 Kernel

    Terry发表于 2012-12-12 04:00:15
    love 0

    The Linux 3.7 Kernel has been released on 10 December.

    The version number has advanced so fast since 3.0 which was never seen in the 2.4.x and 2.6.x era, is it playing catch-up with Chrome? LOL

    Summary

    This Linux release includes support for the ARM 64 bit architecture, ARM support to boot into different systems using the same kernel, signed kernel modules, Btrfs support for disabling copy-on-write on a per-file basis using chattr and faster fsync(), a new “perf trace” tool modeled after strace, support for the TCP Fast Open feature in the server side, experimental SMBv2 protocol support, stable NFS 4.1 and parallel NFS support, a new tunneling protocol that allows to transfer Layer 2 ethernet packets over UDP, and support for the Intel “supervisor mode access prevention” security feature. Many small features and new drivers and fixes are also available.

    Btrfs updates

    • fsync() speedups: The fsync() syscall writes the modified data of a file to the hard disk. The performance of fsync() is important for software like dpkg/rpm, Firefox, qemu, etc. Btrfs fsync() performance has been quite bad, but in this release fsync can be several times faster. Code: (commit 1, 2)
    • Remove the hard link limits inside a single directory: Btrfs didn’t allow to create more than about 20 hardlinks in the same directory. A disk format change has been added to add a new kind of “inode references” that lifts the hard link limit in a directory up to 65K (commit)
    • Hole punching: “Hole punching” is the ability to deallocate a range of space in a file (using the fallocate() syscall with the FALLOC_FL_PUNCH_HOLE mode). Btrfs now supports this feature. Code: (commit)
    • chattr per-file NOCOW support: Btrfs can disable copy-on-write for file data using the nodatacow mount option. In this version it also has added support for disabling copy-on-write for file data in a per-file basis using the chattr +C file (needs a recent e2fsprogs). Copy-on-write does not fit all workloads, and some applications want to disable it to get better fragmentation and performance behaviour. Code: (commit)
      Note 1: in order to disable copy-on-write you need to use chattr in a empty file, it won’t work in a file that already has data (in that case, you can create a temporary file, disable COW, copy the data, and rename the file).
      Note 2: disabling copy-on-write will also disable checksum support for that file.
      Note 3: it is possible to use chattr +C on a directory, and the new files created after issuing the command will get disabled COW support.

    The above is an extract of Linux Kernel Newbies – Linux 3.7

    TCP Fast Open (Server Side) is something that you may be interested in. Recommended LWN Article: TCP Fast Open: expediting web services

    Related posts:

    1. Btrfs Best Practices
    2. Oracle Linux and Unbreakable Enterprise Kernel
    3. Linux 遭遇 Too many open files



沪ICP备19023445号-2号
友情链接