summaryrefslogtreecommitdiff
path: root/source3/modules/onefs_open.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10s3: Remove unix_convert handling from createfile implementationsTim Prouty1-30/+4
2009-05-28s3 onefs: update the onefs module to be compliant with stat_exTim Prouty1-19/+19
2009-05-21s3 onefs: Fix invalid argument from the unix_convert smb_filename struct patchTim Prouty1-1/+1
2009-05-20s3: Change unix_convert (and its callers) to use struct smb_filenameTim Prouty1-2/+13
This is the first of a series of patches that change path based operations to operate on a struct smb_filename instead of a char *. This same concept already exists in source4. My goals for this series of patches are to eventually: 1) Solve the stream vs. posix filename that contains a colon ambiguity that currently exists. 2) Make unix_convert the only function that parses the stream name. 3) Clean up the unix_convert API. 4) Change all path based vfs operation to take a struct smb_filename. 5) Make is_ntfs_stream_name() a constant operation that can simply check the state of struct smb_filename rather than re-parse the filename. 6) Eliminate the need for split_ntfs_stream_name() to exist. My strategy is to start from the inside at unix_convert() and work my way out through the vfs layer, call by call. This first patch does just that, by changing unix_convert and all of its callers to operate on struct smb_filename. Since this is such a large change, I plan on pushing the patches in phases, where each phase keeps full compatibility and passes make test. The API of unix_convert has been simplified from: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, bool allow_wcard_last_component, char **pp_conv_path, char **pp_saved_last_component, SMB_STRUCT_STAT *pst) to: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, struct smb_filename *smb_fname, uint32_t ucf_flags) Currently the smb_filename struct looks like: struct smb_filename { char *base_name; char *stream_name; char *original_lcomp; SMB_STRUCT_STAT st; }; One key point here is the decision to break up the base_name and stream_name. I have introduced a helper function called get_full_smb_filename() that takes an smb_filename struct and allocates the full_name. I changed the callers of unix_convert() to subsequently call get_full_smb_filename() for the time being, but I plan to eventually eliminate get_full_smb_filename().
2009-05-19s3 onefs: Removing an incorrect TALLOC_FREEAravind Srinivasan1-1/+0
Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-05-12s3 onefs: Fix ignore sacl parameterTim Prouty1-5/+5
2009-04-01s3 onefs: Quiet a log message about oplocks being requested on streamsTim Prouty1-21/+16
2009-03-31s3 onefs: Add missing newlines to debug statements in the onefs moduleTim Prouty1-4/+5
2009-03-25Add missing newlines to debug statementsSteven Danneman1-2/+2
2009-03-23s3 OneFS: Remove usage of non-existant functionTim Prouty1-9/+0
The function was removed in: c16c90a1cb3b0e2ceadd3dea835a4e69acfc2fae
2009-03-04s3 OneFS: Use the public open_streams_for_deleteTim Prouty1-113/+0
2009-03-03s3 OneFS: Add parameter to ignore streamsTim Prouty1-1/+1
2009-03-01s3 OneFS: Refactor config code and cleanup includesTim Prouty1-0/+3
2009-02-18s3: Fix OneFS bug opening streams with truncating dispositionAravind Srinivasan1-1/+1
Do not attempt to delete streams on a truncating open, if the name we're opening is itself a stream
2009-02-12s3 onefs: rename custom parameter to plural to match previous usageSteven Danneman1-1/+1
2009-02-11s3 OneFS: Expand the usage of the ignore sacl parametertodd stecher1-0/+5
2009-02-09s3 OneFS: Add kernel oplocks implementationTim Prouty1-26/+129
A few functions in oplocks_onefs.c need to be accessed from the onefs vfs module. It would be ideal if oplocks were implemented at the vfs layer, but since they aren't yet, a new header is added to source3/include to make these functions available to the onefs vfs module. oplocks_onefs.o doesn't need to be linked into the onefs vfs module explicitly, since it is already linked into smbd by default.
2009-01-11s3: Add OneFS alternate data streams implementationTim Prouty1-12/+41
2009-01-11s3: General cleanup of the open path in the OneFS vfs moduleTim Prouty1-15/+2
2008-12-31s3: Fix caller of print_fsp_openTim Prouty1-3/+3
2008-12-31Rename parent_dirname_talloc() to parent_dirname()Volker Lendecke1-4/+2
2008-12-09s3: [3/3]: Fix a delete on close divergence from windows and the associated ↵Tim Prouty1-3/+2
torture test This third patch cleans up by removing all of the code that is made obsolete by the first patch. It should cause no functional changes.
2008-12-09s3: Add the OneFS SMB_VFS_CREATE_FILE implementationTim Prouty1-658/+784
This is the first pass at extending the onefs vfs module to support the CIFS-specific enhancements available on OneFS. Most of this patch is massaging the sama open path to work with ifs_createfile. ifs_createfile is a CIFS-specific syscall for opening/files and directories. It adds support for: - Full in-kernel access checks using a windows access_mask - Cluster-coherent share mode locks - Cluster-coherent oplocks - Streams - Setting security descriptors at create time - Setting dos_attributes at create time This patch does not implement the samba side of the streams support or oplocks support. Tests that expect oplocks to be granted or streams to be supported will fail. This will be remedied in upcoming patches.
2008-12-09s3: Add onefs_open.c with code copied verbatim from smbd/open.cTim Prouty1-0/+2028
This is an intermediate step that makes it much easier to see how the OneFS SMB_VFS_CREATE_FILE implementation diverges from stock samba. The goal is that more common code can be refactored into utility functions.