~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/filesystems/hpfs.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/filesystems/hpfs.rst (Version linux-6.11.5) and /Documentation/filesystems/hpfs.rst (Version ccs-tools-1.8.9)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 ====================                              
  4 Read/Write HPFS 2.09                              
  5 ====================                              
  6                                                   
  7 1998-2004, Mikulas Patocka                        
  8                                                   
  9 :email: mikulas@artax.karlin.mff.cuni.cz          
 10 :homepage: https://artax.karlin.mff.cuni.cz/~m    
 11                                                   
 12 Credits                                           
 13 =======                                           
 14 Chris Smith, 1993, original read-only HPFS, so    
 15         is taken from it                          
 16                                                   
 17 Jacques Gelinas, MSDos mmap, Inspired by fs/nf    
 18                                                   
 19 Werner Almesberger, 1992, 1993, MSDos option p    
 20                                                   
 21 Mount options                                     
 22                                                   
 23 uid=xxx,gid=xxx,umask=xxx (default uid=gid=0 u    
 24         Set owner/group/mode for files that do    
 25         attributes. Mode is inverted umask - f    
 26         all permission, group read permission     
 27         that for files mode is anded with 0666    
 28         rights, you must use extended attribut    
 29 case=lower,asis (default asis)                    
 30         File name lowercasing in readdir.         
 31 conv=binary,text,auto (default binary)            
 32         CR/LF -> LF conversion, if auto, decis    
 33         - there is a list of text extensions (    
 34         text file than to damage binary file).    
 35         change it in the source. Original read    
 36         heuristic algorithm that I removed. I     
 37         computer decide whether file is text o    
 38         binaries contain small text message at    
 39         misidentified and damaged under some c    
 40 check=none,normal,strict (default normal)         
 41         Check level. Selecting none will cause    
 42         danger. I tried to write it so that it    
 43         corrupted filesystems. check=strict me    
 44         used for debugging (for example it che    
 45         bitmaps when accessing it).               
 46 errors=continue,remount-ro,panic (default remo    
 47         Behaviour when filesystem errors found    
 48 chkdsk=no,errors,always (default errors)          
 49         When to mark filesystem dirty so that     
 50 eas=no,ro,rw (default rw)                         
 51         What to do with extended attributes. '    
 52         values specified in uid/gid/mode optio    
 53         attributes but do not create them. 'rw    
 54         when you use chmod/chown/chgrp/mknod/l    
 55 timeshift=(-)nnn (default 0)                      
 56         Shifts the time by nnn seconds. For ex    
 57         one hour more, than under os/2, use ti    
 58                                                   
 59                                                   
 60 File names                                        
 61 ==========                                        
 62                                                   
 63 As in OS/2, filenames are case insensitive. Ho    
 64 are case sensitive, so for example when you cr    
 65 'cat FOO', 'cat Foo', 'cat foo' or 'cat F*' bu    
 66 also won't be able to compile linux kernel (an    
 67 because kernel creates different files with na    
 68 bootsect.s. When searching for file thats name    
 69 are used - see below.                             
 70 OS/2 ignores dots and spaces at the end of fil    
 71 well. If you create 'a. ...', the file 'a' wil    
 72 access it under names 'a.', 'a..', 'a .  . . '    
 73                                                   
 74                                                   
 75 Extended attributes                               
 76 ===================                               
 77                                                   
 78 On HPFS partitions, OS/2 can associate to each    
 79 extended attributes. Extended attributes are p    
 80 an ascii string identifying that attribute and    
 81 variable length. OS/2 stores window and icon p    
 82 why not use it for unix-specific info like fil    
 83 driver can do it. If you chown/chgrp/chmod on     
 84 attributes with keys "UID", "GID" or "MODE" an    
 85 that extended attributes those value differs f    
 86 options are created. Once created, the extende    
 87 they're just changed. It means that when your     
 88 something like 'chown luser file; chown root f    
 89 extended attribute UID=0. And when you umount     
 90 uid=luser_uid, the file will be still owned by    
 91 extended attribute "MODE" will not be set, thi    
 92 read-only flag. When you mknod a block or char    
 93 special 4-byte extended attribute "DEV" will b    
 94 number. Currently this driver cannot resize ex    
 95 that if somebody (I don't know who?) has set "    
 96 attributes with different sizes, they won't be    
 97 values doesn't work.                              
 98                                                   
 99                                                   
100 Symlinks                                          
101 ========                                          
102                                                   
103 You can do symlinks on HPFS partition, symlink    
104 attribute named "SYMLINK" with symlink value.     
105 chgrp symlinks but I don't know what is it goo    
106 in chmoding file where symlink points. These s    
107 incompatible with OS/2. OS/2 PmShell symlinks     
108 stored in very crazy way. They tried to do it     
109 moved ... sometimes it works. But the link is     
110 extended attributes and partly in OS2SYS.INI.     
111 to analyze or change OS2SYS.INI.                  
112                                                   
113                                                   
114 Codepages                                         
115 =========                                         
116                                                   
117 HPFS can contain several uppercasing tables fo    
118 file has a pointer to codepage its name is in.    
119 America where people don't care much about cod    
120 support is quite buggy. I have Czech OS/2 work    
121 Once I booted English OS/2 working in cp 850 a    
122 partition. It marked file name codepage as 850    
123 Czech OS/2, the file was completely inaccessib    
124 OS/2 uppercases the search pattern with its sy    
125 name it's comparing to with its code page (850    
126 really what IBM developers wanted? But problem    
127 Czech OS/2 another file in that directory, tha    
128 probably uses different uppercasing method whe    
129 (note, that files in HPFS directory must be so    
130 a file. Finally when I opened this directory i    
131 funny thing was that, when rebooted, PmShell t    
132 again :-). chkdsk happily ignores these errors    
133 modification saved me.  Never mix different la    
134 system although HPFS was designed to allow tha    
135 OK, I could implement complex codepage support    
136 would cause more problems than benefit with su    
137 So this driver simply uses first codepage it f    
138 lowercasing no matter what's file codepage ind    
139 this codepage - if you don't try to do what I     
140                                                   
141                                                   
142 Known bugs                                        
143 ==========                                        
144                                                   
145 HPFS386 on OS/2 server is not supported. HPFS3    
146 should work. If you have OS/2 server, use only    
147 to handle some HPFS386 structures like access     
148 list, I don't know how to delete them when fil    
149 overwrite them with extended attributes. Send     
150 and I'll make it. However, this driver should     
151 structures, remount read-only and not destroy     
152                                                   
153 When there's not enough space for extended att    
154 and no error is returned.                         
155                                                   
156 OS/2 can't access files if the path is longer     
157 driver allows you to do it. chkdsk ignores suc    
158                                                   
159 Sometimes you won't be able to delete some fil    
160 (returning error ENOSPC). That's because file     
161 (one directory, if it's large, has dirents in     
162 with another node when deleted. And that new f    
163 the old one so the new name doesn't fit in dir    
164 would result in directory tree splitting, that    
165 to delete other files that are leaf (probabili    
166 about 1/50) or to truncate file first to make     
167 You encounter this problem only if you have ma    
168 preallocated directory band is full i.e.::        
169                                                   
170         number_of_directories / size_of_filesy    
171                                                   
172 You can't delete open directories.                
173                                                   
174 You can't rename over directories (what is it     
175                                                   
176 Renaming files so that only case changes doesn    
177 but vfs doesn't. Something like 'mv file FILE'    
178                                                   
179 All atimes and directory mtimes are not update    
180 reasons. If you extremely wish to update them,    
181 it will be slow).                                 
182                                                   
183 When the system is out of memory and swap, it     
184 (lost files, unbalanced directories). (I guess    
185                                                   
186 When compiled, you get warning: function decla    
187 anybody know what does it mean?                   
188                                                   
189                                                   
190 What does "unbalanced tree" message mean?         
191 =========================================         
192                                                   
193 Old versions of this driver created sometimes     
194 chkdsk doesn't scream if the tree is unbalance    
195 unbalanced trees too :-) but both HPFS and HPF    
196 crashes when the tree is not balanced. This dr    
197 correctly and writes warning if it finds them.    
198 probably because of directories created with o    
199 Workaround is to move all files from that dire    
200 again. Do it in Linux, not OS/2! If you see th    
201 whole created by this driver, it is BUG - let     
202                                                   
203                                                   
204 Bugs in OS/2                                      
205 ============                                      
206                                                   
207 When you have two (or more) lost directories p    
208 locks up when repairing filesystem.               
209                                                   
210 Sometimes (I think it's random) when you creat    
211 OS/2, OS/2 marks it as 'long'. chkdsk then rem    
212 error corrected".                                 
213                                                   
214 File names like "a .b" are marked as 'long' by    
215 marks them as short (and writes "minor fs erro    
216 HPFS386.                                          
217                                                   
218 Codepage bugs described above                     
219 =============================                     
220                                                   
221 If you don't install fixpacks, there are many,    
222                                                   
223                                                   
224 History                                           
225 =======                                           
226                                                   
227 ====== =======================================    
228 0.90   First public release                       
229 0.91   Fixed bug that caused shooting to memor    
230        open inode (rarely happened)               
231 0.92   Fixed a little memory leak in freeing d    
232 0.93   Fixed bug that locked up the machine wh    
233        with first 15 characters same              
234        Fixed write_file to zero file when writ    
235 0.94   Fixed a little memory leak when trying     
236 0.95   Fixed a bug that i_hpfs_parent_dir was     
237 1.90   First version for 2.1.1xx kernels          
238 1.91   Fixed a bug that chk_sectors failed whe    
239        Fixed a race-condition when write_inode    
240        Fixed a bug that could possibly happen     
241        using 0xff in filenames.                   
242                                                   
243        Rewritten locking to avoid race-conditi    
244                                                   
245        Mount option 'eas' now works               
246                                                   
247        Fsync no longer returns error              
248                                                   
249        Files beginning with '.' are marked hid    
250                                                   
251        Remount support added                      
252                                                   
253        Alloc is not so slow when filesystem be    
254                                                   
255        Atimes are no more updated because it s    
256                                                   
257        Code cleanup (removed all commented deb    
258 1.92   Corrected a bug when sync was called ju    
259 1.93   Modified, so that it works with kernels    
260        works with previous versions               
261                                                   
262        Fixed a possible problem with disks > 6    
263        test it)                                   
264                                                   
265        Fixed a file overflow at 2G                
266                                                   
267        Added new option 'timeshift'               
268                                                   
269        Changed behaviour on HPFS386: It is now    
270        read-only mode                             
271                                                   
272        Fixed a bug that slowed down alloc and     
273        (this bug was not destructive)             
274 1.94   Added workaround for one bug in Linux      
275                                                   
276        Fixed one buffer leak                      
277                                                   
278        Fixed some incompatibilities with large    
279        not 100% ok, I have no info on it and O    
280                                                   
281        Rewritten allocation                       
282                                                   
283        Fixed a bug with i_blocks (du sometimes    
284                                                   
285        Directories have no longer archive attr    
286        it)                                        
287                                                   
288        Fixed a bug that it set badly one flag     
289        destructive)                               
290 1.95   Fixed one buffer leak, that could happe    
291                                                   
292        Fixed one bug in allocation in 1.94        
293 1.96   Added workaround for one bug in OS/2 (H    
294        error sometimes when opening directorie    
295                                                   
296        Fixed a possible bitmap race               
297                                                   
298        Fixed possible problem on large disks      
299                                                   
300        You can now delete open files              
301                                                   
302        Fixed a nondestructive race in rename      
303 1.97   Support for HPFS v3 (on large partition    
304                                                   
305        ZFixed a bug that it didn't allow creat    
306        (it should be 2G)                          
307 1.97.1 Changed names of global symbols            
308                                                   
309        Fixed a bug when chmoding or chowning r    
310 1.98   Fixed a deadlock when using old_readdir    
311        Better directory handling; workaround f    
312 1.99   Corrected a possible problem when there    
313        file                                       
314                                                   
315        Now it tries to truncate the file if th    
316        deleting                                   
317                                                   
318        Removed a lot of redundant code            
319 2.00   Fixed a bug in rename (it was there sin    
320        Better anti-fragmentation strategy         
321 2.01   Fixed problem with directory listing ov    
322                                                   
323        Directory lseek now checks for proper p    
324                                                   
325        Fixed race-condition in buffer code - i    
326        when reading device (cat /dev/hda) whil    
327        could be damaged                           
328 2.02   Workaround for bug in breada in Linux.     
329        end of partition                           
330 2.03   Char, block devices and pipes are corre    
331                                                   
332        Fixed non-crashing race in unlink (Alex    
333                                                   
334        Now it works with Japanese version of O    
335 2.04   Fixed error when ftruncate used to exte    
336 2.05   Fixed crash when got mount parameters w    
337                                                   
338        Fixed crash when allocation of anode fa    
339                                                   
340        Fixed some crashes when block io or ino    
341 2.06   Fixed some crash on corrupted disk stru    
342                                                   
343        Better allocation strategy                 
344                                                   
345        Reschedule points added so that it does    
346                                                   
347        It should work in read-only mode on War    
348 2.07   More fixes for Warp Server. Now it real    
349 2.08   Creating new files is not so slow on la    
350                                                   
351        An attempt to sync deleted file does no    
352 2.09   Fixed error on extremely fragmented fil    
353 ====== =======================================    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php