diff options
Diffstat (limited to 'fs/isofs/rock.c')
-rw-r--r-- | fs/isofs/rock.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c index efefbcce4ce9..977dd7009c07 100644 --- a/fs/isofs/rock.c +++ b/fs/isofs/rock.c | |||
@@ -13,12 +13,14 @@ | |||
13 | #include "isofs.h" | 13 | #include "isofs.h" |
14 | #include "rock.h" | 14 | #include "rock.h" |
15 | 15 | ||
16 | /* These functions are designed to read the system areas of a directory record | 16 | /* |
17 | * These functions are designed to read the system areas of a directory record | ||
17 | * and extract relevant information. There are different functions provided | 18 | * and extract relevant information. There are different functions provided |
18 | * depending upon what information we need at the time. One function fills | 19 | * depending upon what information we need at the time. One function fills |
19 | * out an inode structure, a second one extracts a filename, a third one | 20 | * out an inode structure, a second one extracts a filename, a third one |
20 | * returns a symbolic link name, and a fourth one returns the extent number | 21 | * returns a symbolic link name, and a fourth one returns the extent number |
21 | * for the file. */ | 22 | * for the file. |
23 | */ | ||
22 | 24 | ||
23 | #define SIG(A,B) ((A) | ((B) << 8)) /* isonum_721() */ | 25 | #define SIG(A,B) ((A) | ((B) << 8)) /* isonum_721() */ |
24 | 26 | ||
@@ -34,7 +36,7 @@ struct rock_state { | |||
34 | 36 | ||
35 | /* | 37 | /* |
36 | * This is a way of ensuring that we have something in the system | 38 | * This is a way of ensuring that we have something in the system |
37 | * use fields that is compatible with Rock Ridge. Return zero on success. | 39 | * use fields that is compatible with Rock Ridge. Return zero on success. |
38 | */ | 40 | */ |
39 | 41 | ||
40 | static int check_sp(struct rock_ridge *rr, struct inode *inode) | 42 | static int check_sp(struct rock_ridge *rr, struct inode *inode) |
@@ -111,7 +113,9 @@ out: | |||
111 | return ret; | 113 | return ret; |
112 | } | 114 | } |
113 | 115 | ||
114 | /* return length of name field; 0: not found, -1: to be ignored */ | 116 | /* |
117 | * return length of name field; 0: not found, -1: to be ignored | ||
118 | */ | ||
115 | int get_rock_ridge_filename(struct iso_directory_record *de, | 119 | int get_rock_ridge_filename(struct iso_directory_record *de, |
116 | char *retname, struct inode *inode) | 120 | char *retname, struct inode *inode) |
117 | { | 121 | { |
@@ -535,8 +539,11 @@ static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit) | |||
535 | int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode) | 539 | int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode) |
536 | { | 540 | { |
537 | int result = parse_rock_ridge_inode_internal(de, inode, 0); | 541 | int result = parse_rock_ridge_inode_internal(de, inode, 0); |
538 | /* if rockridge flag was reset and we didn't look for attributes | 542 | |
539 | * behind eventual XA attributes, have a look there */ | 543 | /* |
544 | * if rockridge flag was reset and we didn't look for attributes | ||
545 | * behind eventual XA attributes, have a look there | ||
546 | */ | ||
540 | if ((ISOFS_SB(inode->i_sb)->s_rock_offset == -1) | 547 | if ((ISOFS_SB(inode->i_sb)->s_rock_offset == -1) |
541 | && (ISOFS_SB(inode->i_sb)->s_rock == 2)) { | 548 | && (ISOFS_SB(inode->i_sb)->s_rock == 2)) { |
542 | result = parse_rock_ridge_inode_internal(de, inode, 14); | 549 | result = parse_rock_ridge_inode_internal(de, inode, 14); |
@@ -544,9 +551,10 @@ int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode) | |||
544 | return result; | 551 | return result; |
545 | } | 552 | } |
546 | 553 | ||
547 | /* readpage() for symlinks: reads symlink contents into the page and either | 554 | /* |
548 | makes it uptodate and returns 0 or returns error (-EIO) */ | 555 | * readpage() for symlinks: reads symlink contents into the page and either |
549 | 556 | * makes it uptodate and returns 0 or returns error (-EIO) | |
557 | */ | ||
550 | static int rock_ridge_symlink_readpage(struct file *file, struct page *page) | 558 | static int rock_ridge_symlink_readpage(struct file *file, struct page *page) |
551 | { | 559 | { |
552 | struct inode *inode = page->mapping->host; | 560 | struct inode *inode = page->mapping->host; |
@@ -584,8 +592,10 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page) | |||
584 | if (offset + *pnt > bufsize) | 592 | if (offset + *pnt > bufsize) |
585 | goto out_bad_span; | 593 | goto out_bad_span; |
586 | 594 | ||
587 | /* Now test for possible Rock Ridge extensions which will override | 595 | /* |
588 | some of these numbers in the inode structure. */ | 596 | * Now test for possible Rock Ridge extensions which will override |
597 | * some of these numbers in the inode structure. | ||
598 | */ | ||
589 | 599 | ||
590 | setup_rock_ridge(raw_de, inode, &rs); | 600 | setup_rock_ridge(raw_de, inode, &rs); |
591 | 601 | ||