Hi! So, it makes sense to keep the compression on by default and with LZO many people are going there. But, I want to create a database on a compressed btrfs filesystem which is seek-heavy rather than throughput-heavy and I really want to turn the compression off just for that database (smaller I/O reads, more precise cache usage). Maintenance nightmare that Miguel mentioned ( http://thread.gmane.org/gmane.comp.file-systems.btrfs/1665/focus=1669 ) isn''t really a problem as I''m going to automatically set the flags from the program, just before opening the database. Looking at "fs/btrfs/ioctl.h" I don''t see any way to to this. Subvolume compression control isn''t working either from what I heard (cf. https://bbs.archlinux.org/viewtopic.php?id=126635 http://thread.gmane.org/gmane.comp.file-systems.btrfs/6237/ ). Am I right that fine-grained compression control is no longer supported by btrfs? If so, I would like to vote for it to be added. -- 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
01:17, Artem worte:> Hi! > > So, it makes sense to keep the compression on by default > and with LZO many people are going there. > > But, I want to create a database on a compressed btrfs filesystem > which is seek-heavy rather than throughput-heavy > and I really want to turn the compression off just for that database > (smaller I/O reads, more precise cache usage). > > Maintenance nightmare that Miguel mentioned > ( http://thread.gmane.org/gmane.comp.file-systems.btrfs/1665/focus=1669 ) > isn''t really a problem as I''m going to automatically set the flags > from the program, just before opening the database. > > Looking at "fs/btrfs/ioctl.h" I don''t see any way to to this. > Subvolume compression control isn''t working either from what I heard > (cf. https://bbs.archlinux.org/viewtopic.php?id=126635 > http://thread.gmane.org/gmane.comp.file-systems.btrfs/6237/ ). > > Am I right that fine-grained compression control is no longer supported by btrfs? > If so, I would like to vote for it to be added. >See this "Per file/directory controls for COW and compression": http://marc.info/?l=linux-btrfs&m=130078867208491&w=2 And the user tool patch (which got no reply): http://marc.info/?l=linux-btrfs&m=130311215721242&w=2 So you can create a directory, and set the no-compress flag for it, and then any file created in that dir will inherit the flag. -- 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
Li Zefan <lizf <at> cn.fujitsu.com> writes:> See this "Per file/directory controls for COW and compression": > > http://marc.info/?l=linux-btrfs&m=130078867208491&w=2 > > And the user tool patch (which got no reply): > > http://marc.info/?l=linux-btrfs&m=130311215721242&w=2 > > So you can create a directory, and set the no-compress flag for it, and > then any file created in that dir will inherit the flag.Thanks, Li, but how do I set the no-compress flag? The patched chattr you mention can only set the FS_COMPR_FL. The ''C'' argument is now used for FS_NOCOW_FL. Could we use another flag for copy-on-write control in chattr? -- 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
Li Zefan <lizf <at> cn.fujitsu.com> writes:> See this "Per file/directory controls for COW and compression": > > http://marc.info/?l=linux-btrfs&m=130078867208491&w=2Thanks again! I wrote a program to see if ioctl compression control works ( https://gist.github.com/1248085 ) and it does! : ) -- 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
On Wed, Sep 28, 2011 at 02:50:13PM +0000, Artem wrote:> Li Zefan <lizf <at> cn.fujitsu.com> writes: > > See this "Per file/directory controls for COW and compression": > > > > http://marc.info/?l=linux-btrfs&m=130078867208491&w=2 > > Thanks again! > I wrote a program to see if ioctl compression control works > ( https://gist.github.com/1248085 )you have to call IOC_GETFLAGS first, then flags |= FS_NOCOMP_FL; 27 int flags = compression ? FS_COMPR_FL : FS_NOCOMP_FL; 28 int ret = ioctl (fd, FS_IOC_SETFLAGS, &flags); else all other flags will be dropped. david -- 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