diff for duplicates of <200901051952.58029.bzolnier@gmail.com> diff --git a/a/1.txt b/N1/1.txt index 1a256d3..9331acb 100644 Binary files a/a/1.txt and b/N1/1.txt differ diff --git a/a/content_digest b/N1/content_digest index 56e0969..015585f 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -7,82 +7,9 @@ " Alan Cox <alan@lxorguk.ukuu.org.uk>\0" "\00:1\0" "b\0" - "From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>\n" - "Subject: [PATCH] block: export SSD/non-rotational queue flag through sysfs\n" - "\n" - "For some devices (i.e. CFA ATA) we can't reliably detect whether\n" - "the device is of rotational or non-rotational type so we need to\n" - "leave the final decision about this setting to the user-space.\n" - "\n" - "Suggested-by: Alan Cox <alan@lxorguk.ukuu.org.uk>\n" - "Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>\n" - "---\n" - " block/blk-sysfs.c | 30 +++++++++++++++++++++++++++++-\n" - " 1 file changed, 29 insertions(+), 1 deletion(-)\n" - "\n" - "Index: b/block/blk-sysfs.c\n" - "===================================================================\n" - "--- a/block/blk-sysfs.c\n" - "+++ b/block/blk-sysfs.c\n" - "@@ -130,6 +130,27 @@ static ssize_t queue_max_hw_sectors_show\n" - " \treturn queue_var_show(max_hw_sectors_kb, (page));\n" - " }\n" - " \n" - "+static ssize_t queue_nonrot_show(struct request_queue *q, char *page)\n" - "+{\n" - "+\treturn queue_var_show(blk_queue_nonrot(q), page);\n" - "+}\n" - "+\n" - "+static ssize_t queue_nonrot_store(struct request_queue *q, const char *page,\n" - "+\t\t\t\t size_t count)\n" - "+{\n" - "+\tunsigned long nm;\n" - "+\tssize_t ret = queue_var_store(&nm, page, count);\n" - "+\n" - "+\tspin_lock_irq(q->queue_lock);\n" - "+\tif (nm)\n" - "+\t\tqueue_flag_set(QUEUE_FLAG_NONROT, q);\n" - "+\telse\n" - "+\t\tqueue_flag_clear(QUEUE_FLAG_NONROT, q);\n" - "+\tspin_unlock_irq(q->queue_lock);\n" - "+\n" - "+\treturn ret;\n" - "+}\n" - "+\n" - " static ssize_t queue_nomerges_show(struct request_queue *q, char *page)\n" - " {\n" - " \treturn queue_var_show(blk_queue_nomerges(q), page);\n" - "@@ -146,8 +167,8 @@ static ssize_t queue_nomerges_store(stru\n" - " \t\tqueue_flag_set(QUEUE_FLAG_NOMERGES, q);\n" - " \telse\n" - " \t\tqueue_flag_clear(QUEUE_FLAG_NOMERGES, q);\n" - "-\n" - " \tspin_unlock_irq(q->queue_lock);\n" - "+\n" - " \treturn ret;\n" - " }\n" - " \n" - "@@ -210,6 +231,12 @@ static struct queue_sysfs_entry queue_hw\n" - " \t.show = queue_hw_sector_size_show,\n" - " };\n" - " \n" - "+static struct queue_sysfs_entry queue_nonrot_entry = {\n" - "+\t.attr = {.name = \"nonrot\", .mode = S_IRUGO | S_IWUSR },\n" - "+\t.show = queue_nonrot_show,\n" - "+\t.store = queue_nonrot_store,\n" - "+};\n" - "+\n" - " static struct queue_sysfs_entry queue_nomerges_entry = {\n" - " \t.attr = {.name = \"nomerges\", .mode = S_IRUGO | S_IWUSR },\n" - " \t.show = queue_nomerges_show,\n" - "@@ -229,6 +256,7 @@ static struct attribute *default_attrs[]\n" - " \t&queue_max_sectors_entry.attr,\n" - " \t&queue_iosched_entry.attr,\n" - " \t&queue_hw_sector_size_entry.attr,\n" - "+\t&queue_nonrot_entry.attr,\n" - " \t&queue_nomerges_entry.attr,\n" - " \t&queue_rq_affinity_entry.attr,\n" - " \tNULL,\n" - "\0" + "From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>Subject: [PATCH] block: export SSD/non-rotational queue flag through sysfs\n" + "For some devices (i.e. CFA ATA) we can't reliably detect whetherthe device is of rotational or non-rotational type so we need toleave the final decision about this setting to the user-space.\n" + "Suggested-by: Alan Cox <alan@lxorguk.ukuu.org.uk>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>--- block/blk-sysfs.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-)\n" + "Index: b/block/blk-sysfs.c===================================================================--- a/block/blk-sysfs.c+++ b/block/blk-sysfs.c@@ -130,6 +130,27 @@ static ssize_t queue_max_hw_sectors_show \treturn queue_var_show(max_hw_sectors_kb, (page)); } +static ssize_t queue_nonrot_show(struct request_queue *q, char *page)+{+\treturn queue_var_show(blk_queue_nonrot(q), page);+}++static ssize_t queue_nonrot_store(struct request_queue *q, const char *page,+\t\t\t\t size_t count)+{+\tunsigned long nm;+\tssize_t ret = queue_var_store(&nm, page, count);++\tspin_lock_irq(q->queue_lock);+\tif (nm)+\t\tqueue_flag_set(QUEUE_FLAG_NONROT, q);+\telse+\t\tqueue_flag_clear(QUEUE_FLAG_NONROT, q);+\tspin_unlock_irq(q->queue_lock);++\treturn ret;+}+ static ssize_t queue_nomerges_show(struct request_queue *q, char *page) { \treturn queue_var_show(blk_queue_nomerges(q), page);@@ -146,8 +167,8 @@ static ssize_t queue_nomerges_store(stru \t\tqueue_flag_set(QUEUE_FLAG_NOMERGES, q); \telse \t\tqueue_flag_clear(QUEUE_FLAG_NOMERGES, q);- \tspin_unlock_irq(q->queue_lock);+ \treturn ret; } @@ -210,6 +231,12 @@ static struct queue_sysfs_entry queue_hw \t.show = queue_hw_sector_size_show, }; +static struct queue_sysfs_entry queue_nonrot_entry = {+\t.attr = {.name = \"nonrot\", .mode = S_IRUGO | S_IWUSR },+\t.show = queue_nonrot_show,+\t.store = queue_nonrot_store,+};+ static struct queue_sysfs_entry queue_nomerges_entry = { \t.attr = {.name = \"nomerges\", .mode = S_IRUGO | S_IWUSR }, \t.show = queue_nomerges_show,@@ -229,6 +256,7 @@ static struct attribute *default_attrs[] \t&queue_max_sectors_entry.attr, \t&queue_iosched_entry.attr, \t&queue_hw_sector_size_entry.attr,+\t&queue_nonrot_entry.attr, \t&queue_nomerges_entry.attr, \t&queue_rq_affinity_entry.attr, \tNULL,\0\303\277\303\264\303\250\302\272{.n\303\207+\302\211\302\267\302\237\302\256\302\211\302\255\302\206+%\302\212\303\213\303\277\302\261\303\251\303\235\302\266\027\302\245\302\212w\303\277\302\272{.n\303\207+\302\211\302\267\302\245\302\212{\302\261\303\276G\302\253\302\235\303\251\303\277\302\212{ay\302\272\035\303\212\302\207\303\232\302\231\303\253,j\a\302\255\302\242f\302\243\302\242\302\267h\302\232\302\217\303\257\302\201\303\252\303\277\302\221\303\252\303\247z_\303\250\302\256\003(\302\255\303\251\302\232\302\216\302\212\303\235\302\242j\"\302\235\303\272\032\302\266\033m\302\247\303\277\303\277\302\276\a\302\253\303\276G\302\253\302\235\303\251\303\277\302\242\302\270?\302\231\302\250\303\250\302\255\303\232&\302\243\303\270\302\247~\302\217\303\241\302\266iO\302\225\303\246\302\254z\302\267\302\232v\303\230^\024\004\032\302\266\033m\302\247\303\277\303\277\303\203\f\303\277\302\266\303\254\303\277\302\242\302\270?\302\226I\302\245" -1ff265a7daa3ff5380a0533f30f9d6dbff879a340503f6b1e04503cd270428ab +37cf4078471e088b67713a2c8a67d18d8446adc8142c8104fe3cfc84498bb123
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.