linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] fs:  add blkdev name format specifier v2
@ 2015-04-13 12:31 Dmitry Monakhov
  2015-04-13 12:31 ` [PATCH 1/7] fs: use gendisk->disk_name where possible Dmitry Monakhov
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Dmitry Monakhov @ 2015-04-13 12:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fsdevel, axboe, viro, dm-devel, Dmitry Monakhov

Currently in order to print block_device name one should  use blkdev() helper
which requires temproral buffer of size BDEVNAME_SIZE (32bytes). This is very
ineffective because result in stack usage bloating for deep IO call traces where
stack usage is close to maximum values.

It is reasonable to introduce dedicated format specifier for block_device name,
unfortunately "%pb", "%pB", "%pd" and "%pD" are already reserved for other data types
I've pick "%pg" ala geometry. If some one want to offer sane spacifier name
please let me know.

Changes from from v1
- bdevname() now works via "%pg" format specifier (in responce to Joe's comments)

TOC:
## Add format helpers and simple cleanup
lib: vsprintf add pg format specifier
fs: use gendisk disk_name where possible
## migrate subsystems to format helpers
block: use block_device name vsprintf helper
fs: use block_device name vsprintf helper
md: use block_device name vsprintf helper
block/partitions use block_device name vsprintf help v2
drivers: use block_device name vsprintf helper

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCH 0/7] fs:  add blkdev name format specifier v2
@ 2015-04-17  8:29 Dmitry Monakhov
  2015-04-17  8:29 ` [PATCH 4/7] fs: use block_device name vsprintf helper Dmitry Monakhov
  0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Monakhov @ 2015-04-17  8:29 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fsdevel, axboe, viro, dm-devel

Currently in order to print block_device name one should  use blkdev() helper
which requires temproral buffer of size BDEVNAME_SIZE (32bytes). This is very
ineffective because result in stack usage bloating for deep IO call traces where
stack usage is close to maximum values.

It is reasonable to introduce dedicated format specifier for block_device name,
unfortunately "%pb", "%pB", "%pd" and "%pD" are already reserved for other data types
I've pick "%pg" ala geometry. If some one want to offer sane spacifier name
please let me know.

Changes from from v2
- fix use after free in dm/raid10 (Spotted by Jan Kara)
Changes from from v1
- bdevname() now works via "%pg" format specifier (in responce to Joe's comments)

TOC:
## Add format helpers and simple cleanup
lib: vsprintf add pg format specifier
fs: use gendisk disk_name where possible
## migrate subsystems to format helpers
block: use block_device name vsprintf helper
fs: use block_device name vsprintf helper
md: use block_device name vsprintf helper v2
block/partitions use block_device name vsprintf help v2
drivers: use block_device name vsprintf helper

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [RFC] [PATCH 0/7] fs: add blkdev name format specifier
@ 2015-03-31 16:01 Dmitry Monakhov
  2015-03-31 16:01 ` [PATCH 4/7] fs: use block_device name vsprintf helper Dmitry Monakhov
  0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Monakhov @ 2015-03-31 16:01 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fsdevel, axboe, dm-devel, Dmitry Monakhov, viro

Currently in order to print block_device name one should  use blkdev() helper
which requires temproral buffer of size BDEVNAME_SIZE (32bytes). This is very
ineffective because result in stack usage bloating for deep IO call traces where
stack usage is close to maximum values.

It is reasonable to introduce dedicated format specifier for block_device name,
unfortunately "%pb", "%pB", "%pd" and "%pD" are already reserved for other data types
I've pick "%pg" ala geometry. If some one want to offer sane spacifier name
please let me know.

Since this is RFC version I've pick rough patch split policy (based on subsystem).
Please let me know if patchset should be split in different way.

TOC:
## Add format helpers and simple cleanup
lib: vsprintf add pg format specifier
fs: use gendisk disk_name where possible
## migrate subsystems to format helpers
block: use block_device name vsprintf helper
fs: use block_device name vsprintf helper
md: use block_device name vsprintf helper
block/partitions use block_device name vsprintf help
drivers: use block_device name vsprintf helper

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-04-17  8:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-13 12:31 [PATCH 0/7] fs: add blkdev name format specifier v2 Dmitry Monakhov
2015-04-13 12:31 ` [PATCH 1/7] fs: use gendisk->disk_name where possible Dmitry Monakhov
2015-04-14  9:13   ` Jan Kara
2015-04-13 12:31 ` [PATCH 2/7] lib/vsprintf: add %*pg format specifier Dmitry Monakhov
2015-04-14  9:15   ` Jan Kara
2015-04-13 12:31 ` [PATCH 3/7] block: use block_device name vsprintf helper Dmitry Monakhov
2015-04-14  9:16   ` Jan Kara
2015-04-13 12:31 ` [PATCH 4/7] fs: " Dmitry Monakhov
2015-04-14  9:22   ` Jan Kara
2015-04-13 12:31 ` [PATCH 5/7] md: " Dmitry Monakhov
2015-04-14  9:43   ` Jan Kara
2015-04-13 12:31 ` [PATCH 6/7] block/partitions: use block_device name vsprintf helper v2 Dmitry Monakhov
2015-04-14  9:23   ` Jan Kara
2015-04-13 12:31 ` [PATCH 7/7] drivers: use block_device name vsprintf helper Dmitry Monakhov
2015-04-14  9:24   ` Jan Kara
  -- strict thread matches above, loose matches on Subject: below --
2015-04-17  8:29 [PATCH 0/7] fs: add blkdev name format specifier v2 Dmitry Monakhov
2015-04-17  8:29 ` [PATCH 4/7] fs: use block_device name vsprintf helper Dmitry Monakhov
2015-03-31 16:01 [RFC] [PATCH 0/7] fs: add blkdev name format specifier Dmitry Monakhov
2015-03-31 16:01 ` [PATCH 4/7] fs: use block_device name vsprintf helper Dmitry Monakhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).