mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-01 04:46:15 +00:00
checkpatch issues reported by the checkpatch script included with the 2.6.29 kernel and that were not yet reported by the 2.6.28 checkpatch script (trailing statements should be on the next line / struct should normally be const). The patch below has been tested as follows: - Reran scripts/run-regression-tests -k 2.6.24.7 -k 2.6.25.20 -k 2.6.26.8 -k 2.6.27.21 -k 2.6.28.9 -k 2.6.29 and verified the output. - Rebuilt, installed and loaded scst, iscsi-scst and srpt as follows: make -s clean && make -s -C scst install && make -s -C iscsi-scst install && make -s -C srpt install && cd scstadmin && make -s && make -s install && modprobe scst_vdisk && modprobe iscsi-scst && dmesg Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com> with minor cleanups and corrections in put_page_callback-2.6.29.patch git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@717 d57e44dd-8a1f-0410-8b47-8ef2f437770f
62 lines
1.9 KiB
Diff
62 lines
1.9 KiB
Diff
diff -upkr linux-2.6.29/block/blk-ioc.c linux-2.6.29/block/blk-ioc.c
|
|
--- linux-2.6.29/block/blk-ioc.c 2008-12-25 02:26:37.000000000 +0300
|
|
+++ linux-2.6.29/block/blk-ioc.c 2009-03-23 14:28:48.000000000 +0300
|
|
@@ -65,6 +65,21 @@ static void cfq_exit(struct io_context *
|
|
rcu_read_unlock();
|
|
}
|
|
|
|
+void __exit_io_context(struct io_context *ioc)
|
|
+{
|
|
+ if (ioc == NULL)
|
|
+ return;
|
|
+
|
|
+ if (atomic_dec_and_test(&ioc->nr_tasks)) {
|
|
+ if (ioc->aic && ioc->aic->exit)
|
|
+ ioc->aic->exit(ioc->aic);
|
|
+ cfq_exit(ioc);
|
|
+
|
|
+ put_io_context(ioc);
|
|
+ }
|
|
+}
|
|
+EXPORT_SYMBOL(__exit_io_context);
|
|
+
|
|
/* Called by the exitting task */
|
|
void exit_io_context(void)
|
|
{
|
|
@@ -75,13 +90,7 @@ void exit_io_context(void)
|
|
current->io_context = NULL;
|
|
task_unlock(current);
|
|
|
|
- if (atomic_dec_and_test(&ioc->nr_tasks)) {
|
|
- if (ioc->aic && ioc->aic->exit)
|
|
- ioc->aic->exit(ioc->aic);
|
|
- cfq_exit(ioc);
|
|
-
|
|
- put_io_context(ioc);
|
|
- }
|
|
+ __exit_io_context(ioc);
|
|
}
|
|
|
|
struct io_context *alloc_io_context(gfp_t gfp_flags, int node)
|
|
@@ -105,6 +114,7 @@ struct io_context *alloc_io_context(gfp_
|
|
|
|
return ret;
|
|
}
|
|
+EXPORT_SYMBOL(alloc_io_context);
|
|
|
|
/*
|
|
* If the current task has no IO context then create one and initialise it.
|
|
diff -upkr linux-2.6.29/include/linux/iocontext.h linux-2.6.29/include/linux/iocontext.h
|
|
--- linux-2.6.29/include/linux/iocontext.h 2008-12-25 02:26:37.000000000 +0300
|
|
+++ linux-2.6.29/include/linux/iocontext.h 2009-03-23 14:05:01.000000000 +0300
|
|
@@ -103,7 +103,9 @@ static inline struct io_context *ioc_tas
|
|
int put_io_context(struct io_context *ioc);
|
|
void exit_io_context(void);
|
|
struct io_context *get_io_context(gfp_t gfp_flags, int node);
|
|
+#define SCST_IO_CONTEXT
|
|
struct io_context *alloc_io_context(gfp_t gfp_flags, int node);
|
|
+void __exit_io_context(struct io_context *ioc);
|
|
void copy_io_context(struct io_context **pdst, struct io_context **psrc);
|
|
#else
|
|
static inline void exit_io_context(void)
|