| Function report | 
| Source Code: fs\fs_context.c | Create Date:2022-07-28 20:13:06 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:logfc - Log a message to a filesystem context*@fc: The filesystem context to log to.*@fmt: The format of the buffer.
Proto:void logfc(struct fs_context *fc, const char *fmt, ...)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct fs_context * | fc | |
| const char * | fmt | 
| 390 | store_failure[] = "OOM: Can't store error string" | 
| 400 | Go to unformatted_string | 
| 404 | Go to unformatted_string | 
| 407 | q = Simplified asprintf. | 
| 408 | copied_string : | 
| 409 | If Not q Then Go to store_failure | 
| 411 | freeable = 1 | 
| 412 | Go to store_string | 
| 414 | unformatted_string : | 
| 415 | If p >= __start_rodata && p < __end_rodata Then Go to const_string | 
| 418 | If log && within_module_core((unsignedlong)p, Owner module for strings that don't then need freeing ) Then Go to const_string | 
| 421 | Go to copied_string | 
| 423 | store_failure : | 
| 424 | p = store_failure | 
| 425 | const_string : | 
| 427 | freeable = 0 | 
| 428 | store_string : | 
| 429 | If Not log Then | 
| 443 | Else | 
| 447 | index = Insertion index in buffer[] & logsize - 1 | 
| 448 | BUILD_BUG_ON - break compile if a condition is true( size of Insertion index in buffer[] != sizeof(u8) || size of Removal index in buffer[] != sizeof(u8)) | 
| 450 | If Insertion index in buffer[] - Removal index in buffer[] == logsize Then | 
| 452 | If Mask of kfree'able items in buffer[] & 1 << index Then kfree(buffer[index]) | 
| 454 | Removal index in buffer[] ++ | 
| 458 | Mask of kfree'able items in buffer[] &= ~(1 << index) | 
| 460 | Insertion index in buffer[] ++ | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |