Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
10fafa39
Commit
10fafa39
authored
Nov 14, 2003
by
Steve French
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://cifs.bkbits.net/linux-2.5cifs
into stevef95.austin.ibm.com:/home/stevef/bk/linux-2.5cifs
parents
cdd29bc2
43b69e68
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
62 additions
and
31 deletions
+62
-31
Documentation/filesystems/ntfs.txt
Documentation/filesystems/ntfs.txt
+4
-0
arch/i386/kernel/acpi/boot.c
arch/i386/kernel/acpi/boot.c
+8
-1
arch/i386/kernel/mpparse.c
arch/i386/kernel/mpparse.c
+2
-2
arch/ia64/ia32/ia32_entry.S
arch/ia64/ia32/ia32_entry.S
+0
-2
arch/sparc/kernel/signal.c
arch/sparc/kernel/signal.c
+7
-2
arch/sparc64/kernel/signal.c
arch/sparc64/kernel/signal.c
+7
-2
arch/sparc64/kernel/signal32.c
arch/sparc64/kernel/signal32.c
+7
-2
drivers/scsi/megaraid.c
drivers/scsi/megaraid.c
+1
-0
drivers/scsi/megaraid.h
drivers/scsi/megaraid.h
+1
-0
fs/ntfs/ChangeLog
fs/ntfs/ChangeLog
+8
-0
fs/ntfs/Makefile
fs/ntfs/Makefile
+1
-1
fs/ntfs/attrib.c
fs/ntfs/attrib.c
+15
-18
fs/ntfs/attrib.h
fs/ntfs/attrib.h
+1
-1
No files found.
Documentation/filesystems/ntfs.txt
View file @
10fafa39
...
...
@@ -272,6 +272,10 @@ ChangeLog
Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
2.1.5:
- Minor bug fix in attribute list attribute handling that fixes the
I/O errors on "ls" of certain fragmented files found by at least two
people running Windows XP.
2.1.4:
- Minor update allowing compilation with all gcc versions (well, the
ones the kernel can be compiled with anyway).
...
...
arch/i386/kernel/acpi/boot.c
View file @
10fafa39
...
...
@@ -304,7 +304,14 @@ static int __init acpi_parse_hpet(unsigned long phys, unsigned long size)
{
struct
acpi_table_hpet
*
hpet_tbl
;
hpet_tbl
=
__va
(
phys
);
if
(
!
phys
||
!
size
)
return
-
EINVAL
;
hpet_tbl
=
(
struct
acpi_table_hpet
*
)
__acpi_map_table
(
phys
,
size
);
if
(
!
hpet_tbl
)
{
printk
(
KERN_WARNING
PREFIX
"Unable to map HPET
\n
"
);
return
-
ENODEV
;
}
if
(
hpet_tbl
->
addr
.
space_id
!=
ACPI_SPACE_MEM
)
{
printk
(
KERN_WARNING
PREFIX
"HPET timers must be located in "
...
...
arch/i386/kernel/mpparse.c
View file @
10fafa39
...
...
@@ -361,7 +361,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc)
unsigned
char
*
mpt
=
((
unsigned
char
*
)
mpc
)
+
count
;
if
(
memcmp
(
mpc
->
mpc_signature
,
MPC_SIGNATURE
,
4
))
{
p
anic
(
"SMP mptable: bad signature [%c%c%c%c]!
\n
"
,
p
rintk
(
"SMP mptable: bad signature [%c%c%c%c]!
\n
"
,
mpc
->
mpc_signature
[
0
],
mpc
->
mpc_signature
[
1
],
mpc
->
mpc_signature
[
2
],
...
...
@@ -369,7 +369,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc)
return
0
;
}
if
(
mpf_checksum
((
unsigned
char
*
)
mpc
,
mpc
->
mpc_length
))
{
p
anic
(
"SMP mptable: checksum error!
\n
"
);
p
rintk
(
"SMP mptable: checksum error!
\n
"
);
return
0
;
}
if
(
mpc
->
mpc_spec
!=
0x01
&&
mpc
->
mpc_spec
!=
0x04
)
{
...
...
arch/ia64/ia32/ia32_entry.S
View file @
10fafa39
...
...
@@ -90,7 +90,6 @@ END(sys32_sigsuspend)
GLOBAL_ENTRY
(
ia32_ret_from_clone
)
PT_REGS_UNWIND_INFO
(0)
#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT)
{
/
*
*
Some
versions
of
gas
generate
bad
unwind
info
if
the
first
instruction
of
a
*
procedure
doesn
't go into the first slot of a bundle. This is a workaround.
...
...
@@ -105,7 +104,6 @@ GLOBAL_ENTRY(ia32_ret_from_clone)
br.call.sptk.many
rp
=
ia64_invoke_schedule_tail
}
.
ret1
:
#endif
adds
r2
=
TI_FLAGS
+
IA64_TASK_SIZE
,
r13
;;
ld4
r2
=[
r2
]
...
...
arch/sparc/kernel/signal.c
View file @
10fafa39
...
...
@@ -1035,8 +1035,6 @@ static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs,
{
switch
(
regs
->
u_regs
[
UREG_I0
])
{
case
ERESTART_RESTARTBLOCK
:
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
/* fallthrough */
case
ERESTARTNOHAND
:
no_system_call_restart:
regs
->
u_regs
[
UREG_I0
]
=
EINTR
;
...
...
@@ -1086,6 +1084,13 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs * regs,
struct
k_sigaction
*
ka
;
ka
=
&
current
->
sighand
->
action
[
signr
-
1
];
/* Always make any pending restarted system
* calls return -EINTR.
*/
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
if
(
cookie
.
restart_syscall
)
syscall_restart
(
cookie
.
orig_i0
,
regs
,
&
ka
->
sa
);
handle_signal
(
signr
,
ka
,
&
info
,
oldset
,
regs
,
svr4_signal
);
...
...
arch/sparc64/kernel/signal.c
View file @
10fafa39
...
...
@@ -579,8 +579,6 @@ static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs,
{
switch
(
regs
->
u_regs
[
UREG_I0
])
{
case
ERESTART_RESTARTBLOCK
:
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
/* fallthrough */
case
ERESTARTNOHAND
:
no_system_call_restart:
regs
->
u_regs
[
UREG_I0
]
=
EINTR
;
...
...
@@ -628,6 +626,13 @@ static int do_signal(sigset_t *oldset, struct pt_regs * regs,
struct
k_sigaction
*
ka
;
ka
=
&
current
->
sighand
->
action
[
signr
-
1
];
/* Always make any pending restarted system
* calls return -EINTR.
*/
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
if
(
cookie
.
restart_syscall
)
syscall_restart
(
orig_i0
,
regs
,
&
ka
->
sa
);
handle_signal
(
signr
,
ka
,
&
info
,
oldset
,
regs
);
...
...
arch/sparc64/kernel/signal32.c
View file @
10fafa39
...
...
@@ -1221,8 +1221,6 @@ static inline void syscall_restart32(unsigned long orig_i0, struct pt_regs *regs
{
switch
(
regs
->
u_regs
[
UREG_I0
])
{
case
ERESTART_RESTARTBLOCK
:
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
/* fallthrough */
case
ERESTARTNOHAND
:
no_system_call_restart:
regs
->
u_regs
[
UREG_I0
]
=
EINTR
;
...
...
@@ -1259,6 +1257,13 @@ int do_signal32(sigset_t *oldset, struct pt_regs * regs,
struct
k_sigaction
*
ka
;
ka
=
&
current
->
sighand
->
action
[
signr
-
1
];
/* Always make any pending restarted system
* calls return -EINTR.
*/
current_thread_info
()
->
restart_block
.
fn
=
do_no_restart_syscall
;
if
(
cookie
.
restart_syscall
)
syscall_restart32
(
orig_i0
,
regs
,
&
ka
->
sa
);
handle_signal32
(
signr
,
ka
,
&
info
,
oldset
,
regs
,
svr4_signal
);
...
...
drivers/scsi/megaraid.c
View file @
10fafa39
...
...
@@ -295,6 +295,7 @@ mega_find_card(Scsi_Host_Template *host_template, u16 pci_vendor,
if
(
subsysvid
&&
(
subsysvid
!=
AMI_SUBSYS_VID
)
&&
(
subsysvid
!=
DELL_SUBSYS_VID
)
&&
(
subsysvid
!=
HP_SUBSYS_VID
)
&&
(
subsysvid
!=
INTEL_SUBSYS_VID
)
&&
(
subsysvid
!=
LSI_SUBSYS_VID
)
)
continue
;
...
...
drivers/scsi/megaraid.h
View file @
10fafa39
...
...
@@ -82,6 +82,7 @@
#define DELL_SUBSYS_VID 0x1028
#define HP_SUBSYS_VID 0x103C
#define LSI_SUBSYS_VID 0x1000
#define INTEL_SUBSYS_VID 0x8086
#define HBA_SIGNATURE 0x3344
#define HBA_SIGNATURE_471 0xCCCC
...
...
fs/ntfs/ChangeLog
View file @
10fafa39
...
...
@@ -20,6 +20,14 @@ ToDo:
sufficient for synchronisation here. We then just need to make sure
ntfs_readpage/writepage/truncate interoperate properly with us.
2.1.5 - Fix minor bug in attribute list attribute handling.
- Fix bug in attribute list handling. Actually it is not as much a bug
as too much protection in that we were not allowing attribute lists
which waste space on disk while Windows XP clearly allows it and in
fact creates such attribute lists so our driver was failing.
- Update NTFS documentation ready for 2.6 kernel release.
2.1.4 - Reduce compiler requirements.
- Remove all uses of unnamed structs and unions in the driver to make
...
...
fs/ntfs/Makefile
View file @
10fafa39
...
...
@@ -5,7 +5,7 @@ obj-$(CONFIG_NTFS_FS) += ntfs.o
ntfs-objs
:=
aops.o attrib.o compress.o debug.o dir.o file.o inode.o mft.o
\
mst.o namei.o super.o sysctl.o time.o unistr.o upcase.o
EXTRA_CFLAGS
=
-DNTFS_VERSION
=
\"
2.1.
4
\"
EXTRA_CFLAGS
=
-DNTFS_VERSION
=
\"
2.1.
5
\"
ifeq
($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS
+=
-DDEBUG
...
...
fs/ntfs/attrib.c
View file @
10fafa39
...
...
@@ -1215,7 +1215,7 @@ BOOL find_attr(const ATTR_TYPES type, const uchar_t *name, const u32 name_len,
* load_attribute_list - load an attribute list into memory
* @vol: ntfs volume from which to read
* @run_list: run list of the attribute list
* @al
:
destination buffer
* @al
_start:
destination buffer
* @size: size of the destination buffer in bytes
* @initialized_size: initialized size of the attribute list
*
...
...
@@ -1227,10 +1227,11 @@ BOOL find_attr(const ATTR_TYPES type, const uchar_t *name, const u32 name_len,
*
* Return 0 on success or -errno on error.
*/
int
load_attribute_list
(
ntfs_volume
*
vol
,
run_list
*
run_list
,
u8
*
al
,
int
load_attribute_list
(
ntfs_volume
*
vol
,
run_list
*
run_list
,
u8
*
al
_start
,
const
s64
size
,
const
s64
initialized_size
)
{
LCN
lcn
;
u8
*
al
=
al_start
;
u8
*
al_end
=
al
+
initialized_size
;
run_list_element
*
rl
;
struct
buffer_head
*
bh
;
...
...
@@ -1284,31 +1285,27 @@ int load_attribute_list(ntfs_volume *vol, run_list *run_list, u8 *al,
}
if
(
initialized_size
<
size
)
{
initialize:
memset
(
al
+
initialized_size
,
0
,
size
-
initialized_size
);
memset
(
al
_start
+
initialized_size
,
0
,
size
-
initialized_size
);
}
done:
up_read
(
&
run_list
->
lock
);
return
err
;
do_final:
if
(
al
<
al_end
)
{
/* Partial block. */
memcpy
(
al
,
bh
->
b_data
,
al_end
-
al
);
brelse
(
bh
);
/*
* Skip sanity checking if initialized_size < size as it is
* too much trouble.
* Partial block.
*
* Note: The attribute list can be smaller than its allocation
* by multiple clusters. This has been encountered by at least
* two people running Windows XP, thus we cannot do any
* truncation sanity checking here. (AIA)
*/
memcpy
(
al
,
bh
->
b_data
,
al_end
-
al
);
brelse
(
bh
);
if
(
initialized_size
<
size
)
goto
initialize
;
/* If the final lcn is partial all is fine. */
if
(((
s64
)(
block
-
(
lcn
<<
vol
->
cluster_size_bits
>>
block_size_bits
))
<<
block_size_bits
>>
vol
->
cluster_size_bits
)
==
rl
->
length
-
1
)
{
if
(
!
rl
[
1
].
length
||
(
rl
[
1
].
lcn
==
LCN_RL_NOT_MAPPED
&&
!
rl
[
2
].
length
))
goto
done
;
}
}
else
brelse
(
bh
);
/* Real overflow! */
ntfs_error
(
sb
,
"Attribute list buffer overflow. Read attribute list "
...
...
fs/ntfs/attrib.h
View file @
10fafa39
...
...
@@ -87,7 +87,7 @@ BOOL lookup_attr(const ATTR_TYPES type, const uchar_t *name, const u32 name_len,
const
IGNORE_CASE_BOOL
ic
,
const
VCN
lowest_vcn
,
const
u8
*
val
,
const
u32
val_len
,
attr_search_context
*
ctx
);
extern
int
load_attribute_list
(
ntfs_volume
*
vol
,
run_list
*
rl
,
u8
*
al
,
extern
int
load_attribute_list
(
ntfs_volume
*
vol
,
run_list
*
rl
,
u8
*
al
_start
,
const
s64
size
,
const
s64
initialized_size
);
static
inline
s64
attribute_value_length
(
const
ATTR_RECORD
*
a
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment