1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-18 19:17:08 +03:00

356 Commits

Author SHA1 Message Date
Alexander Bokovoy
75cc086614 Rework of VFS is_offline() function to only return boolean offline/online result for a file.
This makes sense as upper levels are only taking returned result of 0
(no error) into consideration when deciding whether to mark file
offline/online as returned from is_offline.

That means that we simply can move the decision down to VFS module and
clean up upper levels so that they always see only file status. If there
is an error when trying to identify file status, then VFS module could
decide what to return (offline or online) by itself -- after all, it
ought to have system-specific knowledge anyway.
2008-01-17 14:57:35 +03:00
Alexander Bokovoy
e1f5a8f107 Fix more VFS API mixup with offline files
I'm sorry for this mess. :-(
2008-01-17 07:34:33 +03:00
Jeremy Allison
bcc94aed6f Fix the mess that ab just made of the new VFS code.
NEEDS MORE TESTING !
Jeremy.
2008-01-16 17:22:31 -08:00
Volker Lendecke
dcb7fb2c0d Fix an uninitialized variable warning 2008-01-16 20:31:02 +01:00
Volker Lendecke
625241c477 Fix some C++ warnings 2008-01-16 20:29:41 +01:00
Alexander Bokovoy
d7752449f3 Add offline storage support with Tivoli Storage Manager Space Manager
Signed-off-by: Alexander Bokovoy <ab@samba.org>
2008-01-16 12:26:35 +03:00
Alexander Bokovoy
10c2ae1efd Merge a variant of Shadow Copy module for exposing snapshots to windows clients as shadow copies from Samba 3.0 CTDB
This is a 2nd implemetation of a shadow copy module for exposing
snapshots to windows clients as shadow copies. This version has the
following features:

     1) you don't need to populate your shares with symlinks to the
     snapshots. This can be very important when you have thousands of
     shares, or use [homes]

     2) the inode number of the files is altered so it is different
     from the original. This allows the 'restore' button to work
     without a sharing violation


Signed-off-by: Alexander Bokovoy <ab@samba.org>
2008-01-16 12:21:38 +03:00
Alexander Bokovoy
c26e355533 Support GPFS prealloc interface
Signed-off-by: Alexander Bokovoy <ab@samba.org>
2008-01-16 12:19:51 +03:00
Alexander Bokovoy
1daad835cb Merge latest fixes to vfs_gpfs and NFS4 ACLs from Samba 3.0 CTDB branch (from http://samba.org/~tridge/3_0-ctdb)
Signed-off-by: Alexander Bokovoy <ab@samba.org>
2008-01-16 12:18:57 +03:00
Alexander Bokovoy
875208724e Add support for offline files support, remote storage, and Async I/O force operations to VFS
Offline files support and remote storage are for allowing communication with
backup and archiving tools that mark files moved to a tape library as offline.
We translate this info into corresponding CIFS offline file attribute and
mark an exported volume as remote storage.

Async I/O force is to allow selective redirection of I/O operations to asynchronous
processing in case it is viable at VFS module discretion. It is needed for
proper handling of offline files as performing regular I/O on offline file will
block smbd.


Signed-off-by: Alexander Bokovoy <ab@samba.org>
2008-01-16 12:17:03 +03:00
Volker Lendecke
642424b377 ea_tdb->xattr_tdb also inside the module itself 2008-01-15 17:30:29 +01:00
Volker Lendecke
151b42a150 rename vfs_ea_tdb to vfs_xattr_tdb 2008-01-15 17:30:29 +01:00
Volker Lendecke
2036b4c5ad Implement vfs_ea_tdb
This is an option for file systems that do not implement xattrs: in
lockdir/eas.tdb an array of xatts per inode is stored.

It can not solve the problem that xattrs might reappear if a posix-level
process deletes a file and happens to re-create it under the same name. On file
systems with birthtime we might have a chance to detect this, but not with
standard posix. A future version might put relief on file systems that do have
xattrs but where these are severely limited in size/speed/whatever: We can put
a simple marker as a native xattr, but the xattrs proper are stored in the tdb.

Volker
2008-01-15 11:01:18 +01:00
Michael Adam
3958abffaf Combine fsp and tofd to tofsp in SMB_VFS_RECVFILE().
Michael
2008-01-11 01:27:05 +01:00
Michael Adam
63acaf1b97 Remove now redundant parameter fd from prime_cache().
Michael
2008-01-11 01:27:05 +01:00
Michael Adam
a52cfb7d77 Combine fsp and fromfd to fromfsp in SMB_VFS_SENDFILE().
Michael
2008-01-11 01:27:05 +01:00
Michael Adam
88102b5b7c Fix the build of the cacheprime VFS module after API changes.
Sorry, that had escaped my attention.

Michael
2008-01-10 23:40:13 +01:00
Michael Adam
c8ae7d095a Remove redundant parameter fd from SMB_VFS_WRITE().
Michael
2008-01-10 15:49:35 +01:00
Michael Adam
a8fc2ddad8 Remove redundant parameter fd from SMB_VFS_READ().
Michael
2008-01-10 15:33:51 +01:00
Michael Adam
3c997ae000 Remove redundant parameter fd from SMB_VFS_AIO_CANCEL().
Michael
2008-01-08 12:20:55 +01:00
Michael Adam
0bd2643463 Remove redundant parameter fd from SMB_VFS_FSETXATTR().
Michael
2008-01-08 11:47:33 +01:00
Michael Adam
bfc3b5a27f Remove redundant parameter fd from SMB_VFS_FREMOVEXATTR().
Michael
2008-01-08 11:29:09 +01:00
Michael Adam
167649b3b8 Remove redundant parameter fd from SMB_VFS_FLISTXATTR().
Michael
2008-01-08 10:51:40 +01:00
Michael Adam
2cb739a82d Remove redundant parameter fd from SMB_VFS_FGETXATTR().
Michael
2008-01-08 10:00:47 +01:00
Michael Adam
38f34b1d74 Remove forgotton fd from solarisacl_sys_acl_get_fd().
Michael
2008-01-08 01:56:56 +01:00
Michael Adam
9296e93588 Remove redundant parameter fd from SMB_VFS_SYS_ACL_SET_FD().
Michael
2008-01-08 01:54:19 +01:00
Michael Adam
7b201c177b Remove redundant parameter fd from SMB_VFS_FCHMOD_ACL().
Michael
2008-01-08 01:14:24 +01:00
Michael Adam
42663e8736 Remove redundant parameter fd from SMB_VFS_SYS_ACL_GET_FD().
Michael
2008-01-07 23:54:07 +01:00
Michael Adam
ee5a20becd Remove redundant parameter fd from SMB_VFS_GETLOCK().
Michael
2008-01-07 22:18:50 +01:00
Michael Adam
8880eb82f1 Remove redundant parameter fd from SMB_VFS_LINUX_SETLEASE().
Michael
2008-01-07 21:47:56 +01:00
Michael Adam
195c519377 Remove redundant parameter fd from SMB_VFS_KERNEL_FLOCK().
Michael
2008-01-07 17:14:20 +01:00
Michael Adam
4f3ab2c406 Remove redundant parameter fd from SMB_VFS_LOCK().
Michael
2008-01-07 16:38:23 +01:00
Michael Adam
20691272a1 Fix the build: Fix caller of strict_allocate_ftruncate().
Michael
2008-01-07 16:12:03 +01:00
Michael Adam
2ad66050a0 Remove redundant parameter fd from SMB_VFS_FTRUNCATE().
Michael
2008-01-07 15:59:02 +01:00
Michael Adam
fbb193db3e Remove redundant parameter fd from SMB_VFS_FCHOWN().
Michael
2008-01-07 15:59:02 +01:00
Michael Adam
a54d5604da Remove redundant parameter fd from SMB_VFS_FCHMOD().
Michael
2008-01-07 15:59:02 +01:00
Michael Adam
0b86c420be Remove redundant parameter fd from SMB_VFS_FSTAT().
Michael
2008-01-07 15:59:01 +01:00
Michael Adam
8f83c9a7b2 Remove redundant parameter fd from SMB_VFS_FSYNC().
Michael
2008-01-07 15:59:01 +01:00
Michael Adam
df929796f2 Remove redundant parameter fd from SMB_VFS_LSEEK().
Michael
2008-01-07 15:59:01 +01:00
Michael Adam
8c4901a19a Remove redundant parameter fd from SMB_VFS_PWRITE().
Michael
2008-01-07 15:59:01 +01:00
Michael Adam
73e28806ce Remove unneeded parameter fd from SMB_VFS_PREAD().
Michael
2008-01-07 00:14:19 +01:00
Michael Adam
4f2d139a18 Remove superfluous parameter fd from SMB_VFS_FSET_NT_ACL().
Michael
2008-01-06 23:08:00 +01:00
Michael Adam
c0c7c1223d Remove superfluous fd parameter from SMB_VFS_FGET_NT_ACL().
Michael
2008-01-06 23:07:59 +01:00
Volker Lendecke
bc3bd7a8e7 Remove tiny code duplication
ndr_size_security_descriptor does the same as sec_desc_size
2007-12-29 23:13:26 +01:00
Volker Lendecke
30fa3477c8 typos 2007-12-27 00:22:07 +01:00
James Peach
5de89dd6e0 Remove unused variable 'didmsg'. 2007-12-19 22:39:40 -08:00
Michael Adam
b5f600fab5 Change the prototype of the vfs function get_nt_acl().
Up to now, get_nt_acl() took a files_struct pointer (fsp) and
a file name. All the underlying functions should need and now
do need (after the previous preparatory work), is a connection_struct
and a file name. The connection_struct is already there in the
vfs_handle passed to the vfs functions. So the files_struct
argument can be eliminated.

This eliminates the need of calling open_file_stat in a couple
of places to produce the fsp needed.

Michael
2007-12-19 23:08:01 +01:00
Michael Adam
15caf58c81 Prepare the afs acl module for the api change in get_nt_acl().
This makes both of afsacl_[f]get_nt_acl() more specific,
eliminating the need for afs_get_nt_acl(). Instead, split
afs_to_nt_acl.

Michael
2007-12-19 23:08:00 +01:00
Michael Adam
36e2a814ba Prepare the aix2 acl module for the api change in get_nt_acl().
This makes both of aixjfs2_[f]get_nt_acl() more specific,
eliminating the need for aixjfs2_get_nt_acl_common().

Michael
2007-12-19 23:08:00 +01:00
Michael Adam
40a1438e17 Change aixjfs2_get_nfs4_acl() to take file name instead of fsp.
In preparation of the api change in api change in get_nt_acl().

Michael
2007-12-19 23:08:00 +01:00